diff --git a/.gitignore b/.gitignore index c4432b0bb..426558c90 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +.DS_Store # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] @@ -167,4 +168,4 @@ google-cloud-cli-469.0.0-linux-x86_64.tar.gz /backend/src/chunks /backend/merged_files /backend/chunks -google-cloud-cli-479.0.0-linux-x86_64.tar.gz \ No newline at end of file +google-cloud-cli-479.0.0-linux-x86_64.tar.gz diff --git a/README.md b/README.md index 6f4b324d6..e970eeb57 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ DIFFBOT_API_KEY="your-diffbot-key" if you only want OpenAI: ```env -LLM_MODELS="gpt-3.5,gpt-4o" +LLM_MODELS="diffbot,openai-gpt-3.5,openai-gpt-4o" OPENAI_API_KEY="your-openai-key" ``` @@ -70,6 +70,18 @@ GOOGLE_CLIENT_ID="xxxx" You can of course combine all (local, youtube, wikipedia, s3 and gcs) or remove any you don't want/need. +### Chat Modes + +By default,all of the chat modes will be available: vector, graph+vector and graph. +If none of the mode is mentioned in the chat modes variable all modes will be available: +```env +CHAT_MODES="" +``` + +If however you want to specifiy the only vector mode or only graph mode you can do that by specifying the mode in the env: +```env +CHAT_MODES="vector,graph+vector" +``` #### Running Backend and Frontend separately (dev environment) Alternatively, you can run the backend and frontend separately: @@ -134,12 +146,21 @@ Allow unauthenticated request : Yes | BACKEND_API_URL | Optional | http://localhost:8000 | URL for backend API | | BLOOM_URL | Optional | https://workspace-preview.neo4j.io/workspace/explore?connectURL={CONNECT_URL}&search=Show+me+a+graph&featureGenAISuggestions=true&featureGenAISuggestionsInternal=true | URL for Bloom visualization | | REACT_APP_SOURCES | Optional | local,youtube,wiki,s3 | List of input sources that will be available | -| LLM_MODELS | Optional | diffbot,gpt-3.5,gpt-4o | Models available for selection on the frontend, used for entities extraction and Q&A Chatbot | +| LLM_MODELS | Optional | diffbot,openai-gpt-3.5,openai-gpt-4o | Models available for selection on the frontend, used for entities extraction and Q&A +| CHAT_MODES | Optional | vector,graph+vector,graph | Chat modes available for Q&A | ENV | Optional | DEV | Environment variable for the app | | TIME_PER_CHUNK | Optional | 4 | Time per chunk for processing | | CHUNK_SIZE | Optional | 5242880 | Size of each chunk of file for upload | | GOOGLE_CLIENT_ID | Optional | | Client ID for Google authentication | | GCS_FILE_CACHE | Optional | False | If set to True, will save the files to process into GCS. If set to False, will save the files locally | +| ENTITY_EMBEDDING | Optional | False | If set to True, It will add embeddings for each entity in database | +| LLM_MODEL_CONFIG_azure_ai_ | Optional | | Set azure config as - azure_deployment_name,azure_endpoint or base_url,azure_api_key,api_version| +| LLM_MODEL_CONFIG_groq_ | Optional | | Set groq config as - model_name,base_url,groq_api_key | +| LLM_MODEL_CONFIG_anthropic_ | Optional | | Set anthropic config as - model_name,anthropic_api_key | +| LLM_MODEL_CONFIG_fireworks_ | Optional | | Set fireworks config as - model_name,fireworks_api_key | +| LLM_MODEL_CONFIG_bedrock_ | Optional | | Set bedrock config as - model_name,aws_access_key_id,aws_secret__access_key,region_name | +| LLM_MODEL_CONFIG_ollama_ | Optional | | Set ollama config as - model_name,model_local_url | + diff --git a/backend/Dockerfile b/backend/Dockerfile index d7410de9f..5249ac53c 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -16,7 +16,8 @@ RUN apt-get update && \ ENV LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH # Copy requirements file and install Python dependencies COPY requirements.txt /code/ -RUN pip install --no-cache-dir --upgrade -r requirements.txt +# --no-cache-dir --upgrade +RUN pip install -r requirements.txt # Copy application code COPY . /code # Set command diff --git a/backend/example.env b/backend/example.env index fe9124bc8..0bbbf2403 100644 --- a/backend/example.env +++ b/backend/example.env @@ -21,5 +21,16 @@ LANGCHAIN_PROJECT = "" LANGCHAIN_TRACING_V2 = "" LANGCHAIN_ENDPOINT = "" GCS_FILE_CACHE = "" #save the file into GCS or local, SHould be True or False -NEO4J_USER_AGENT = "" -ENABLE_USER_AGENT = "" \ No newline at end of file +NEO4J_USER_AGENT="" +ENABLE_USER_AGENT = "" +LLM_MODEL_CONFIG_model_version="" +ENTITY_EMBEDDING="" True or False +#examples +LLM_MODEL_CONFIG_azure_ai_gpt_35="azure_deployment_name,azure_endpoint or base_url,azure_api_key,api_version" +LLM_MODEL_CONFIG_azure_ai_gpt_4o="gpt-4o,https://YOUR-ENDPOINT.openai.azure.com/,azure_api_key,api_version" +LLM_MODEL_CONFIG_groq_llama3_70b="model_name,base_url,groq_api_key" +LLM_MODEL_CONFIG_anthropic_claude_3_5_sonnet="model_name,anthropic_api_key" +LLM_MODEL_CONFIG_fireworks_llama_v3_70b="model_name,fireworks_api_key" +LLM_MODEL_CONFIG_bedrock_claude_3_5_sonnet="model_name,aws_access_key_id,aws_secret__access_key,region_name" +LLM_MODEL_CONFIG_ollama_llama3="model_name,model_local_url" + diff --git a/backend/requirements.txt b/backend/requirements.txt index 3f6de1d12..2c0f33af4 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -8,8 +8,8 @@ asyncio==3.4.3 attrs==23.2.0 backoff==2.2.1 beautifulsoup4==4.12.3 -boto3 -botocore +boto3==1.34.140 +botocore==1.34.140 cachetools==5.3.3 certifi==2024.2.2 cffi==1.16.0 @@ -28,8 +28,8 @@ docstring_parser==0.16 effdet==0.4.1 emoji==2.10.1 exceptiongroup==1.2.0 -fastapi -fastapi-health +fastapi==0.111.0 +fastapi-health==0.4.0 filelock==3.13.1 filetype==1.2.0 flatbuffers==23.5.26 @@ -38,24 +38,24 @@ frozenlist==1.4.1 fsspec==2024.2.0 google-api-core==2.18.0 google-auth==2.29.0 -google_auth_oauthlib -google-cloud-aiplatform +google_auth_oauthlib==1.2.0 +google-cloud-aiplatform==1.58.0 google-cloud-bigquery==3.19.0 google-cloud-core==2.4.1 google-cloud-resource-manager==1.12.3 -google-cloud-storage +google-cloud-storage==2.17.0 google-crc32c==1.5.0 google-resumable-media==2.7.0 googleapis-common-protos==1.63.0 greenlet==3.0.3 grpc-google-iam-v1==0.13.0 grpcio==1.62.1 -google-ai-generativelanguage +google-ai-generativelanguage==0.6.6 grpcio-status==1.62.1 h11==0.14.0 httpcore==1.0.4 httpx==0.27.0 -huggingface-hub==0.20.3 +huggingface-hub humanfriendly==10.0 idna==3.6 importlib-resources==6.1.1 @@ -67,21 +67,25 @@ joblib==1.3.2 jsonpatch==1.33 jsonpath-python==1.0.6 jsonpointer==2.4 +json-repair==0.25.2 kiwisolver==1.4.5 -langchain -langchain-google-genai -langchain-community -langchain-core -langchain-experimental -langchain-google-vertexai -langchain-groq -langchain-openai -langchain-text-splitters==0.0.1 +langchain==0.2.6 +langchain-aws==0.1.9 +langchain-anthropic==0.1.19 +langchain-fireworks==0.1.4 +langchain-google-genai==1.0.7 +langchain-community==0.2.6 +langchain-core==0.2.10 +langchain-experimental==0.0.62 +langchain-google-vertexai==1.0.6 +langchain-groq==0.1.6 +langchain-openai==0.1.14 +langchain-text-splitters==0.2.2 langdetect==1.0.9 -langsmith==0.1.31 +langsmith==0.1.83 layoutparser==0.3.4 -langserve -langchain-cli +langserve==0.2.2 +#langchain-cli==0.0.25 lxml==5.1.0 MarkupSafe==2.1.5 marshmallow==3.20.2 @@ -94,9 +98,9 @@ networkx==3.2.1 nltk==3.8.1 numpy==1.26.4 omegaconf==2.3.0 -onnx==1.15.0 -onnxruntime==1.15.1 -openai==1.14.2 +onnx==1.16.1 +onnxruntime==1.18.1 +openai==1.35.10 opencv-python==4.8.0.76 orjson==3.9.15 packaging==23.2 @@ -110,15 +114,16 @@ pillow_heif==0.15.0 portalocker==2.8.2 proto-plus==1.23.0 protobuf==4.23.4 +psutil==6.0.0 pyasn1==0.6.0 pyasn1_modules==0.4.0 pycocotools==2.0.7 pycparser==2.21 -pydantic==2.6.4 -pydantic_core==2.16.3 +pydantic==2.8.2 +pydantic_core==2.20.1 pyparsing==3.0.9 pypdf==4.0.1 -PyPDF2 +PyPDF2==3.0.1 pypdfium2==4.27.0 pytesseract==0.3.10 python-dateutil==2.8.2 @@ -131,44 +136,45 @@ pytz==2024.1 PyYAML==6.0.1 rapidfuzz==3.6.1 regex==2023.12.25 -requests +requests==2.32.3 rsa==4.9 s3transfer==0.10.1 -safetensors==0.3.2 +safetensors==0.4.1 scipy==1.10.1 shapely==2.0.3 six==1.16.0 sniffio==1.3.1 soupsieve==2.5 SQLAlchemy==2.0.28 -starlette==0.36.3 -starlette-session +starlette==0.37.2 +sse-starlette==2.1.2 +starlette-session==0.4.3 sympy==1.12 tabulate==0.9.0 tenacity==8.2.3 -tiktoken==0.6.0 +tiktoken==0.7.0 timm==0.9.12 -tokenizers==0.15.2 +tokenizers==0.19 tqdm==4.66.2 -transformers==4.37.1 +transformers==4.42.3 types-protobuf types-requests typing-inspect==0.9.0 typing_extensions==4.9.0 tzdata==2024.1 -unstructured -unstructured-client -unstructured-inference -unstructured.pytesseract -unstructured[all-docs] -urllib3 -uvicorn -gunicorn +unstructured==0.14.9 +unstructured-client==0.23.8 +unstructured-inference==0.7.36 +unstructured.pytesseract==0.3.12 +unstructured[all-docs]==0.14.9 +urllib3==2.2.2 +uvicorn==0.30.1 +gunicorn==22.0.0 wikipedia==1.4.0 wrapt==1.16.0 yarl==1.9.4 youtube-transcript-api==0.6.2 zipp==3.17.0 -sentence-transformers +sentence-transformers==2.7.0 google-cloud-logging==3.10.0 PyMuPDF==1.24.5 diff --git a/backend/score.py b/backend/score.py index abfa5007d..b8de56b6b 100644 --- a/backend/score.py +++ b/backend/score.py @@ -18,7 +18,7 @@ from src.graphDB_dataAccess import graphDBdataAccess from src.graph_query import get_graph_results from src.chunkid_entities import get_entities_from_chunkids -from src.post_processing import create_fulltext +from src.post_processing import create_fulltext, create_entity_embedding from sse_starlette.sse import EventSourceResponse import json from typing import List, Mapping @@ -30,7 +30,7 @@ from typing import List from google.cloud import logging as gclogger from src.logger import CustomLogger -from datetime import datetime +from datetime import datetime, timezone from fastapi.middleware.gzip import GZipMiddleware import time import gc @@ -58,7 +58,7 @@ def sick(): allow_methods=["*"], allow_headers=["*"], ) -app.add_middleware(GZipMiddleware, minimum_size=1000) +# app.add_middleware(GZipMiddleware, minimum_size=1000) is_gemini_enabled = os.environ.get("GEMINI_ENABLED", "False").lower() in ("true", "1", "yes") if is_gemini_enabled: @@ -114,7 +114,7 @@ async def create_source_knowledge_graph_url( return create_api_response('Failed',message='source_type is other than accepted source') message = f"Source Node created successfully for source type: {source_type} and source: {source}" - josn_obj = {'api_name':'url_scan','db_url':uri,'url_scanned_file':lst_file_name, 'source_url':source_url, 'wiki_query':wiki_query} + josn_obj = {'api_name':'url_scan','db_url':uri,'url_scanned_file':lst_file_name, 'source_url':source_url, 'wiki_query':wiki_query, 'logging_time': formatted_time(datetime.now(timezone.utc))} logger.log_struct(josn_obj) return create_api_response("Success",message=message,success_count=success_count,failed_count=failed_count,file_name=lst_file_name) except Exception as e: @@ -200,6 +200,7 @@ async def extract_knowledge_graph_from_file( result['source_url'] = source_url result['wiki_query'] = wiki_query result['source_type'] = source_type + result['logging_time'] = formatted_time(datetime.now(timezone.utc)) logger.log_struct(result) return create_api_response('Success', data=result, file_source= source_type) except Exception as e: @@ -216,7 +217,7 @@ async def extract_knowledge_graph_from_file( else: logging.info(f'Deleted File Path: {merged_file_path} and Deleted File Name : {file_name}') delete_uploaded_local_file(merged_file_path,file_name) - josn_obj = {'message':message,'error_message':error_message, 'file_name': file_name,'status':'Failed','db_url':uri,'failed_count':1, 'source_type': source_type, 'source_url':source_url, 'wiki_query':wiki_query} + josn_obj = {'message':message,'error_message':error_message, 'file_name': file_name,'status':'Failed','db_url':uri,'failed_count':1, 'source_type': source_type, 'source_url':source_url, 'wiki_query':wiki_query, 'logging_time': formatted_time(datetime.now(timezone.utc))} logger.log_struct(josn_obj) logging.exception(f'File Failed in extraction: {josn_obj}') return create_api_response('Failed', message=message + error_message[:100], error=error_message, file_name = file_name) @@ -235,7 +236,7 @@ async def get_source_list(uri:str, userName:str, password:str, database:str=None if " " in uri: uri = uri.replace(" ","+") result = await asyncio.to_thread(get_source_list_from_graph,uri,userName,decoded_password,database) - josn_obj = {'api_name':'sources_list','db_url':uri} + josn_obj = {'api_name':'sources_list','db_url':uri, 'logging_time': formatted_time(datetime.now(timezone.utc))} logger.log_struct(josn_obj) return create_api_response("Success",data=result) except Exception as e: @@ -253,15 +254,19 @@ async def post_processing(uri=Form(None), userName=Form(None), password=Form(Non if "update_similarity_graph" in tasks: await asyncio.to_thread(update_graph, graph) - josn_obj = {'api_name': 'post_processing/update_similarity_graph', 'db_url': uri} + josn_obj = {'api_name': 'post_processing/update_similarity_graph', 'db_url': uri, 'logging_time': formatted_time(datetime.now(timezone.utc))} logger.log_struct(josn_obj) logging.info(f'Updated KNN Graph') if "create_fulltext_index" in tasks: await asyncio.to_thread(create_fulltext, uri=uri, username=userName, password=password, database=database) - josn_obj = {'api_name': 'post_processing/create_fulltext_index', 'db_url': uri} + josn_obj = {'api_name': 'post_processing/create_fulltext_index', 'db_url': uri, 'logging_time': formatted_time(datetime.now(timezone.utc))} logger.log_struct(josn_obj) logging.info(f'Full Text index created') - + if os.environ.get('ENTITY_EMBEDDING','False').upper()=="TRUE" and "create_entity_embedding" in tasks: + await asyncio.to_thread(create_entity_embedding, graph) + josn_obj = {'api_name': 'post_processing/create_entity_embedding', 'db_url': uri, 'logging_time': formatted_time(datetime.now(timezone.utc))} + logger.log_struct(josn_obj) + logging.info(f'Entity Embeddings created') return create_api_response('Success', message='All tasks completed successfully') except Exception as e: @@ -277,19 +282,21 @@ async def post_processing(uri=Form(None), userName=Form(None), password=Form(Non close_db_connection(graph, 'post_processing') @app.post("/chat_bot") -async def chat_bot(uri=Form(None),model=Form(None),userName=Form(None), password=Form(None), database=Form(None),question=Form(None), session_id=Form(None),mode=Form(None)): +async def chat_bot(uri=Form(None),model=Form(None),userName=Form(None), password=Form(None), database=Form(None),question=Form(None), document_names=Form(None),session_id=Form(None),mode=Form(None)): logging.info(f"QA_RAG called at {datetime.now()}") qa_rag_start_time = time.time() try: - # database = "neo4j" - graph = create_graph_database_connection(uri, userName, password, database) - result = await asyncio.to_thread(QA_RAG,graph=graph,model=model,question=question,session_id=session_id,mode=mode) + if mode == "graph": + graph = Neo4jGraph( url=uri,username=userName,password=password,database=database,sanitize = True, refresh_schema=True) + else: + graph = create_graph_database_connection(uri, userName, password, database) + result = await asyncio.to_thread(QA_RAG,graph=graph,model=model,question=question,document_names=document_names,session_id=session_id,mode=mode) total_call_time = time.time() - qa_rag_start_time logging.info(f"Total Response time is {total_call_time:.2f} seconds") result["info"]["response_time"] = round(total_call_time, 2) - josn_obj = {'api_name':'chat_bot','db_url':uri,'session_id':session_id} + josn_obj = {'api_name':'chat_bot','db_url':uri,'session_id':session_id, 'logging_time': formatted_time(datetime.now(timezone.utc))} logger.log_struct(josn_obj) return create_api_response('Success',data=result) except Exception as e: @@ -306,7 +313,7 @@ async def chunk_entities(uri=Form(None),userName=Form(None), password=Form(None) try: logging.info(f"URI: {uri}, Username: {userName}, chunk_ids: {chunk_ids}") result = await asyncio.to_thread(get_entities_from_chunkids,uri=uri, username=userName, password=password, chunk_ids=chunk_ids) - josn_obj = {'api_name':'chunk_entities','db_url':uri} + josn_obj = {'api_name':'chunk_entities','db_url':uri, 'logging_time': formatted_time(datetime.now(timezone.utc))} logger.log_struct(josn_obj) return create_api_response('Success',data=result) except Exception as e: @@ -323,7 +330,6 @@ async def graph_query( uri: str = Form(None), userName: str = Form(None), password: str = Form(None), - query_type: str = Form(None), document_names: str = Form(None), ): try: @@ -333,10 +339,9 @@ async def graph_query( uri=uri, username=userName, password=password, - query_type=query_type, document_names=document_names ) - josn_obj = {'api_name':'graph_query','db_url':uri,'document_names':document_names} + josn_obj = {'api_name':'graph_query','db_url':uri,'document_names':document_names, 'logging_time': formatted_time(datetime.now(timezone.utc))} logger.log_struct(josn_obj) return create_api_response('Success', data=result) except Exception as e: @@ -371,7 +376,7 @@ async def connect(uri=Form(None), userName=Form(None), password=Form(None), data try: graph = create_graph_database_connection(uri, userName, password, database) result = await asyncio.to_thread(connection_check, graph) - josn_obj = {'api_name':'connect','db_url':uri,'status':result, 'count':1} + josn_obj = {'api_name':'connect','db_url':uri,'status':result, 'count':1, 'logging_time': formatted_time(datetime.now(timezone.utc))} logger.log_struct(josn_obj) return create_api_response('Success',message=result) except Exception as e: @@ -388,7 +393,7 @@ async def upload_large_file_into_chunks(file:UploadFile = File(...), chunkNumber try: graph = create_graph_database_connection(uri, userName, password, database) result = await asyncio.to_thread(upload_file, graph, model, file, chunkNumber, totalChunks, originalname, uri, CHUNK_DIR, MERGED_DIR) - josn_obj = {'api_name':'upload','db_url':uri} + josn_obj = {'api_name':'upload','db_url':uri, 'logging_time': formatted_time(datetime.now(timezone.utc))} logger.log_struct(josn_obj) if int(chunkNumber) == int(totalChunks): return create_api_response('Success',data=result, message='Source Node Created Successfully') @@ -412,7 +417,7 @@ async def get_structured_schema(uri=Form(None), userName=Form(None), password=Fo graph = create_graph_database_connection(uri, userName, password, database) result = await asyncio.to_thread(get_labels_and_relationtypes, graph) logging.info(f'Schema result from DB: {result}') - josn_obj = {'api_name':'schema','db_url':uri} + josn_obj = {'api_name':'schema','db_url':uri, 'logging_time': formatted_time(datetime.now(timezone.utc))} logger.log_struct(josn_obj) return create_api_response('Success', data=result) except Exception as e: @@ -480,7 +485,7 @@ async def delete_document_and_entities(uri=Form(), result, files_list_size = await asyncio.to_thread(graphDb_data_Access.delete_file_from_graph, filenames, source_types, deleteEntities, MERGED_DIR, uri) entities_count = result[0]['deletedEntities'] if 'deletedEntities' in result[0] else 0 message = f"Deleted {files_list_size} documents with {entities_count} entities from database" - josn_obj = {'api_name':'delete_document_and_entities','db_url':uri} + josn_obj = {'api_name':'delete_document_and_entities','db_url':uri, 'logging_time': formatted_time(datetime.now(timezone.utc))} logger.log_struct(josn_obj) return create_api_response('Success',message=message) except Exception as e: @@ -565,8 +570,8 @@ async def get_unconnected_nodes_list(uri=Form(), userName=Form(), password=Form( try: graph = create_graph_database_connection(uri, userName, password, database) graphDb_data_Access = graphDBdataAccess(graph) - result = graphDb_data_Access.list_unconnected_nodes() - return create_api_response('Success',data=result) + nodes_list, total_nodes = graphDb_data_Access.list_unconnected_nodes() + return create_api_response('Success',data=nodes_list,message=total_nodes) except Exception as e: job_status = "Failed" message="Unable to get the list of unconnected nodes" diff --git a/backend/src/QA_integration.py b/backend/src/QA_integration.py index 9b56dab60..951a1ce8f 100644 --- a/backend/src/QA_integration.py +++ b/backend/src/QA_integration.py @@ -78,12 +78,12 @@ def get_llm(model: str,max_tokens=1000) -> Any: """Retrieve the specified language model based on the model name.""" model_versions = { - "gpt-3.5": "gpt-3.5-turbo-16k", + "openai-gpt-3.5": "gpt-3.5-turbo-16k", "gemini-1.0-pro": "gemini-1.0-pro-001", "gemini-1.5-pro": "gemini-1.5-pro-preview-0409", - "gpt-4": "gpt-4-0125-preview", + "openai-gpt-4": "gpt-4-0125-preview", "diffbot" : "gpt-4-0125-preview", - "gpt-4o":"gpt-4o" + "openai-gpt-4o":"gpt-4o" } if model in model_versions: model_version = model_versions[model] diff --git a/backend/src/QA_integration_new.py b/backend/src/QA_integration_new.py index 20347d076..dbd08f7a1 100644 --- a/backend/src/QA_integration_new.py +++ b/backend/src/QA_integration_new.py @@ -4,7 +4,8 @@ from dotenv import load_dotenv import logging from langchain_community.chat_message_histories import Neo4jChatMessageHistory -from src.shared.common_fn import load_embedding_model, get_llm +from src.llm import get_llm +from src.shared.common_fn import load_embedding_model import re from typing import Any from datetime import datetime @@ -19,6 +20,18 @@ from langchain_text_splitters import TokenTextSplitter from langchain_core.messages import HumanMessage,AIMessage from src.shared.constants import * +from src.llm import get_llm +from langchain.chains import GraphCypherQAChain +import json + +## Chat models +from langchain_openai import ChatOpenAI, AzureChatOpenAI +from langchain_google_vertexai import ChatVertexAI +from langchain_groq import ChatGroq +from langchain_anthropic import ChatAnthropic +from langchain_fireworks import ChatFireworks +from langchain_aws import ChatBedrock +from langchain_community.chat_models import ChatOllama load_dotenv() @@ -26,7 +39,7 @@ EMBEDDING_FUNCTION , _ = load_embedding_model(EMBEDDING_MODEL) -def get_neo4j_retriever(graph, retrieval_query,index_name="vector", search_k=CHAT_SEARCH_KWARG_K, score_threshold=CHAT_SEARCH_KWARG_SCORE_THRESHOLD): +def get_neo4j_retriever(graph, retrieval_query,document_names,index_name="vector", search_k=CHAT_SEARCH_KWARG_K, score_threshold=CHAT_SEARCH_KWARG_SCORE_THRESHOLD): try: neo_db = Neo4jVector.from_existing_index( embedding=EMBEDDING_FUNCTION, @@ -35,8 +48,13 @@ def get_neo4j_retriever(graph, retrieval_query,index_name="vector", search_k=CHA graph=graph ) logging.info(f"Successfully retrieved Neo4jVector index '{index_name}'") - retriever = neo_db.as_retriever(search_kwargs={'k': search_k, "score_threshold": score_threshold}) - logging.info(f"Successfully created retriever for index '{index_name}' with search_k={search_k}, score_threshold={score_threshold}") + document_names= list(map(str.strip, json.loads(document_names))) + if document_names: + retriever = neo_db.as_retriever(search_kwargs={'k': search_k, "score_threshold": score_threshold,'filter':{'fileName': {'$in': document_names}}}) + logging.info(f"Successfully created retriever for index '{index_name}' with search_k={search_k}, score_threshold={score_threshold} for documents {document_names}") + else: + retriever = neo_db.as_retriever(search_kwargs={'k': search_k, "score_threshold": score_threshold}) + logging.info(f"Successfully created retriever for index '{index_name}' with search_k={search_k}, score_threshold={score_threshold}") return retriever except Exception as e: logging.error(f"Error retrieving Neo4jVector index '{index_name}' or creating retriever: {e}") @@ -170,6 +188,25 @@ def summarize_messages(llm,history,stored_messages): return True +def get_total_tokens(ai_response,llm): + + if isinstance(llm,(ChatOpenAI,AzureChatOpenAI,ChatFireworks,ChatGroq)): + total_tokens = ai_response.response_metadata['token_usage']['total_tokens'] + elif isinstance(llm,(ChatVertexAI)): + total_tokens = ai_response.response_metadata['usage_metadata']['prompt_token_count'] + elif isinstance(llm,(ChatBedrock)): + total_tokens = ai_response.response_metadata['usage']['total_tokens'] + elif isinstance(llm,(ChatAnthropic)): + input_tokens = int(ai_response.response_metadata['usage']['input_tokens']) + output_tokens = int(ai_response.response_metadata['usage']['output_tokens']) + total_tokens = input_tokens + output_tokens + elif isinstance(llm,(ChatOllama)): + total_tokens = ai_response.response_metadata["prompt_eval_count"] + else: + total_tokens = 0 + return total_tokens + + def clear_chat_history(graph,session_id): history = Neo4jChatMessageHistory( graph=graph, @@ -182,17 +219,18 @@ def clear_chat_history(graph,session_id): "user": "chatbot" } -def setup_chat(model, graph, session_id, retrieval_query): +def setup_chat(model, graph, session_id, document_names,retrieval_query): start_time = time.time() - model_version = MODEL_VERSIONS[model] - llm = get_llm(model_version) - retriever = get_neo4j_retriever(graph=graph,retrieval_query=retrieval_query) + if model in ["diffbot"]: + model = "openai-gpt-4o" + llm,model_name = get_llm(model) + logging.info(f"Model called in chat {model} and model version is {model_name}") + retriever = get_neo4j_retriever(graph=graph,retrieval_query=retrieval_query,document_names=document_names) doc_retriever = create_document_retriever_chain(llm, retriever) - history = create_neo4j_chat_message_history(graph, session_id) chat_setup_time = time.time() - start_time logging.info(f"Chat setup completed in {chat_setup_time:.2f} seconds") - return llm, doc_retriever, history, model_version + return llm, doc_retriever, model_name def retrieve_documents(doc_retriever, messages): start_time = time.time() @@ -212,11 +250,8 @@ def process_documents(docs, question, messages, llm,model): }) result = get_sources_and_chunks(sources, docs) content = ai_response.content - - if "gemini" in model: - total_tokens = ai_response.response_metadata['usage_metadata']['prompt_token_count'] - else: - total_tokens = ai_response.response_metadata['token_usage']['total_tokens'] + total_tokens = get_total_tokens(ai_response,llm) + predict_time = time.time() - start_time logging.info(f"Final Response predicted in {predict_time:.2f} seconds") @@ -229,25 +264,87 @@ def summarize_and_log(history, messages, llm): history_summarized_time = time.time() - start_time logging.info(f"Chat History summarized in {history_summarized_time:.2f} seconds") -def QA_RAG(graph, model, question, session_id, mode): + +def create_graph_chain(model, graph): + try: + logging.info(f"Graph QA Chain using LLM model: {model}") + + cypher_llm,model_name = get_llm(model) + qa_llm,model_name = get_llm(model) + graph_chain = GraphCypherQAChain.from_llm( + cypher_llm=cypher_llm, + qa_llm=qa_llm, + validate_cypher= True, + graph=graph, + # verbose=True, + return_intermediate_steps = True, + top_k=3 + ) + + logging.info("GraphCypherQAChain instance created successfully.") + return graph_chain,qa_llm,model_name + + except Exception as e: + logging.error(f"An error occurred while creating the GraphCypherQAChain instance. : {e}") + + +def get_graph_response(graph_chain, question): + try: + cypher_res = graph_chain.invoke({"query": question}) + + response = cypher_res.get("result") + cypher_query = "" + context = [] + + for step in cypher_res.get("intermediate_steps", []): + if "query" in step: + cypher_string = step["query"] + cypher_query = cypher_string.replace("cypher\n", "").replace("\n", " ").strip() + elif "context" in step: + context = step["context"] + return { + "response": response, + "cypher_query": cypher_query, + "context": context + } + + except Exception as e: + logging.error("An error occurred while getting the graph response : {e}") + +def QA_RAG(graph, model, question, document_names,session_id, mode): try: logging.info(f"Chat Mode : {mode}") - if mode == "vector": - retrieval_query = VECTOR_SEARCH_QUERY - elif mode == "graph": - #WIP - result = { - "session_id": session_id, + history = create_neo4j_chat_message_history(graph, session_id) + messages = history.messages + user_question = HumanMessage(content=question) + messages.append(user_question) + + if mode == "graph": + graph_chain, qa_llm,model_version = create_graph_chain(model,graph) + graph_response = get_graph_response(graph_chain,question) + ai_response = AIMessage(content=graph_response["response"]) if graph_response["response"] else AIMessage(content="Something went wrong") + messages.append(ai_response) + summarize_and_log(history, messages, qa_llm) + + result = { + "session_id": session_id, + "message": graph_response["response"], + "info": { + "model": model_version, + 'cypher_query':graph_response["cypher_query"], + "context" : graph_response["context"], + "mode" : mode, + "response_time": 0 + }, "user": "chatbot" - } + } return result + elif mode == "vector": + retrieval_query = VECTOR_SEARCH_QUERY else: - retrieval_query = VECTOR_GRAPH_SEARCH_QUERY + retrieval_query = VECTOR_GRAPH_SEARCH_QUERY.format(no_of_entites=VECTOR_GRAPH_SEARCH_ENTITY_LIMIT) - llm, doc_retriever, history, model_version = setup_chat(model, graph, session_id, retrieval_query) - messages = history.messages - user_question = HumanMessage(content=question) - messages.append(user_question) + llm, doc_retriever, model_version = setup_chat(model, graph, session_id, document_names,retrieval_query) docs = retrieve_documents(doc_retriever, messages) @@ -270,7 +367,8 @@ def QA_RAG(graph, model, question, session_id, mode): "model": model_version, "chunkdetails": result["chunkdetails"], "total_tokens": total_tokens, - "response_time": 0 + "response_time": 0, + "mode": mode }, "user": "chatbot" } @@ -284,7 +382,8 @@ def QA_RAG(graph, model, question, session_id, mode): "info": { "sources": [], "chunkids": [], - "error": f"{error_name} :- {str(e)}" + "error": f"{error_name} :- {str(e)}", + "mode": mode }, "user": "chatbot" } diff --git a/backend/src/diffbot_transformer.py b/backend/src/diffbot_transformer.py index b17e5fbcb..a8e8db3fb 100644 --- a/backend/src/diffbot_transformer.py +++ b/backend/src/diffbot_transformer.py @@ -5,13 +5,13 @@ import os import logging import uuid -from src.shared.common_fn import get_combined_chunks, get_llm +from src.llm import get_combined_chunks, get_llm logging.basicConfig(format='%(asctime)s - %(message)s',level='INFO') def get_graph_from_diffbot(graph,chunkId_chunkDoc_list:List): combined_chunk_document_list = get_combined_chunks(chunkId_chunkDoc_list) - llm = get_llm('diffbot') + llm,model_name = get_llm('diffbot') graph_documents = llm.convert_to_graph_documents(combined_chunk_document_list) return graph_documents diff --git a/backend/src/document_sources/gcs_bucket.py b/backend/src/document_sources/gcs_bucket.py index 5d8ba90c3..35e1bf8e5 100644 --- a/backend/src/document_sources/gcs_bucket.py +++ b/backend/src/document_sources/gcs_bucket.py @@ -138,15 +138,15 @@ def delete_file_from_gcs(bucket_name,folder_name, file_name): blob.delete() logging.info('File deleted from GCS successfully') except Exception as e: - raise Exception(e) def copy_failed_file(source_bucket_name,dest_bucket_name,folder_name, file_name): try: storage_client = storage.Client() - bucket = storage_client.bucket(source_bucket_name) + source_bucket = storage_client.bucket(source_bucket_name) + dest_bucket = storage_client.bucket(dest_bucket_name) folder_file_name = folder_name +'/'+file_name - source_blob = bucket.blob(folder_file_name) - bucket.copy_blob(source_blob,dest_bucket_name,file_name) + source_blob = source_bucket.blob(folder_file_name) + source_bucket.copy_blob(source_blob, dest_bucket, file_name) logging.info(f'Failed file {file_name} copied to {dest_bucket_name} from {source_bucket_name} in GCS successfully') except Exception as e: raise Exception(e) diff --git a/backend/src/gemini_llm.py b/backend/src/gemini_llm.py index ec50a86dd..1054ad867 100644 --- a/backend/src/gemini_llm.py +++ b/backend/src/gemini_llm.py @@ -9,10 +9,10 @@ from langchain_core.documents import Document from typing import List import google.auth -from src.shared.common_fn import get_combined_chunks, get_llm from typing import List from langchain_core.documents import Document import vertexai +from src.llm import get_graph_document_list, get_combined_chunks, get_llm load_dotenv() logging.basicConfig(format='%(asctime)s - %(message)s',level='DEBUG') @@ -48,16 +48,7 @@ def get_graph_from_Gemini(model_version, combined_chunk_document_list = get_combined_chunks(chunkId_chunkDoc_list) - llm = get_llm(model_version) - llm_transformer = LLMGraphTransformer(llm=llm, node_properties=["description"], allowed_nodes=allowedNodes, allowed_relationships=allowedRelationship) - - with ThreadPoolExecutor(max_workers=10) as executor: - for chunk in combined_chunk_document_list: - chunk_doc = Document(page_content= chunk.page_content.encode("utf-8"), metadata=chunk.metadata) - futures.append(executor.submit(llm_transformer.convert_to_graph_documents,[chunk_doc])) - - for i, future in enumerate(concurrent.futures.as_completed(futures)): - graph_document = future.result() - graph_document_list.append(graph_document[0]) - - return graph_document_list + llm,model_name = get_llm(model_version) + return get_graph_document_list(llm, combined_chunk_document_list, allowedNodes, allowedRelationship) + + diff --git a/backend/src/generate_graphDocuments_from_llm.py b/backend/src/generate_graphDocuments_from_llm.py index 39312f4de..4be4d89dc 100644 --- a/backend/src/generate_graphDocuments_from_llm.py +++ b/backend/src/generate_graphDocuments_from_llm.py @@ -2,10 +2,11 @@ from src.diffbot_transformer import get_graph_from_diffbot from src.openAI_llm import get_graph_from_OpenAI from src.gemini_llm import get_graph_from_Gemini -from src.groq_llama3_llm import get_graph_from_Groq_Llama3 from typing import List import logging from src.shared.constants import * +import os +from src.llm import get_graph_from_llm logging.basicConfig(format="%(asctime)s - %(message)s", level="INFO") @@ -28,15 +29,16 @@ def generate_graphDocuments(model: str, graph: Neo4jGraph, chunkId_chunkDoc_list graph_documents = get_graph_from_diffbot(graph, chunkId_chunkDoc_list) elif model in OPENAI_MODELS: - graph_documents = get_graph_from_OpenAI(MODEL_VERSIONS[model], graph, chunkId_chunkDoc_list, allowedNodes, allowedRelationship) + graph_documents = get_graph_from_OpenAI(model, graph, chunkId_chunkDoc_list, allowedNodes, allowedRelationship) elif model in GEMINI_MODELS: - graph_documents = get_graph_from_Gemini(MODEL_VERSIONS[model], graph, chunkId_chunkDoc_list, allowedNodes, allowedRelationship) + graph_documents = get_graph_from_Gemini(model, graph, chunkId_chunkDoc_list, allowedNodes, allowedRelationship) - elif model in GROQ_MODELS : - graph_documents = get_graph_from_Groq_Llama3(MODEL_VERSIONS[model], graph, chunkId_chunkDoc_list, allowedNodes, allowedRelationship) - else: - raise Exception('Invalid LLM Model') + # elif model in GROQ_MODELS : + # graph_documents = get_graph_from_Groq_Llama3(MODEL_VERSIONS[model], graph, chunkId_chunkDoc_list, allowedNodes, allowedRelationship) + + else : + graph_documents = get_graph_from_llm(model,chunkId_chunkDoc_list, allowedNodes, allowedRelationship) logging.info(f"graph_documents = {len(graph_documents)}") return graph_documents diff --git a/backend/src/graphDB_dataAccess.py b/backend/src/graphDB_dataAccess.py index 367de329b..1289f32fa 100644 --- a/backend/src/graphDB_dataAccess.py +++ b/backend/src/graphDB_dataAccess.py @@ -212,7 +212,6 @@ def delete_file_from_graph(self, filenames, source_types, deleteEntities:str, me else : result = self.execute_query(query_to_delete_document, param) logging.info(f"Deleting {len(filename_list)} documents = '{filename_list}' from '{source_types_list}' with their entities from database") - return result, len(filename_list) def list_unconnected_nodes(self): @@ -225,7 +224,14 @@ def list_unconnected_nodes(self): ORDER BY e.id ASC LIMIT 100 """ - return self.execute_query(query) + query_total_nodes = """ + MATCH (e:!Chunk&!Document) + WHERE NOT exists { (e)--(:!Chunk&!Document) } + RETURN count(*) as total + """ + nodes_list = self.execute_query(query) + total_nodes = self.execute_query(query_total_nodes) + return nodes_list, total_nodes[0] def delete_unconnected_nodes(self,unconnected_entities_list): entities_list = list(map(str.strip, json.loads(unconnected_entities_list))) diff --git a/backend/src/graph_query.py b/backend/src/graph_query.py index dcce6fadb..0e7df3a05 100644 --- a/backend/src/graph_query.py +++ b/backend/src/graph_query.py @@ -238,7 +238,7 @@ def get_completed_documents(driver): return documents -def get_graph_results(uri, username, password, query_type,document_names): +def get_graph_results(uri, username, password,document_names): """ Retrieves graph data by executing a specified Cypher query using credentials and parameters provided. Processes the results to extract nodes and relationships and packages them in a structured output. @@ -257,6 +257,7 @@ def get_graph_results(uri, username, password, query_type,document_names): logging.info(f"Starting graph query process") driver = get_graphDB_driver(uri, username, password) document_names= list(map(str.strip, json.loads(document_names))) + query_type = "docChunkEntities" query = get_cypher_query(QUERY_MAP, query_type, document_names) records, summary , keys = execute_query(driver, query, document_names) document_nodes = extract_node_elements(records) diff --git a/backend/src/groq_llama3_llm.py b/backend/src/groq_llama3_llm.py index 1e9979753..7f0fa9f5e 100644 --- a/backend/src/groq_llama3_llm.py +++ b/backend/src/groq_llama3_llm.py @@ -7,7 +7,7 @@ from typing import List from langchain_experimental.graph_transformers import LLMGraphTransformer from langchain_core.documents import Document -from src.shared.common_fn import get_combined_chunks, get_llm +from src.llm import get_combined_chunks, get_llm load_dotenv() logging.basicConfig(format='%(asctime)s - %(message)s',level='INFO') @@ -33,7 +33,7 @@ def get_graph_from_Groq_Llama3(model_version, graph_document_list = [] combined_chunk_document_list = get_combined_chunks(chunkId_chunkDoc_list) #api_key = os.environ.get('GROQ_API_KEY') - llm = get_llm(model_version) + llm,model_name = get_llm(model_version) llm_transformer = LLMGraphTransformer(llm=llm, node_properties=["description"], allowed_nodes=allowedNodes, allowed_relationships=allowedRelationship) with ThreadPoolExecutor(max_workers=10) as executor: diff --git a/backend/src/llm.py b/backend/src/llm.py new file mode 100644 index 000000000..fe0eeeca2 --- /dev/null +++ b/backend/src/llm.py @@ -0,0 +1,170 @@ +import logging +from langchain.docstore.document import Document +import os +from langchain_openai import ChatOpenAI, AzureChatOpenAI +from langchain_google_vertexai import ChatVertexAI +from langchain_groq import ChatGroq +from langchain_google_vertexai import HarmBlockThreshold, HarmCategory +from langchain_experimental.graph_transformers.diffbot import DiffbotGraphTransformer +import concurrent.futures +from concurrent.futures import ThreadPoolExecutor +from langchain_experimental.graph_transformers import LLMGraphTransformer +from langchain_anthropic import ChatAnthropic +from langchain_fireworks import ChatFireworks +from langchain_aws import ChatBedrock +from langchain_community.chat_models import ChatOllama +import boto3 +import google.auth +from src.shared.constants import MODEL_VERSIONS + + +def get_llm(model_version: str): + """Retrieve the specified language model based on the model name.""" + env_key = "LLM_MODEL_CONFIG_" + model_version + env_value = os.environ.get(env_key) + logging.info("Model: {}".format(env_key)) + if "gemini" in model_version: + credentials, project_id = google.auth.default() + model_name = MODEL_VERSIONS[model_version] + llm = ChatVertexAI( + model_name=model_name, + convert_system_message_to_human=True, + credentials=credentials, + project=project_id, + temperature=0, + safety_settings={ + HarmCategory.HARM_CATEGORY_UNSPECIFIED: HarmBlockThreshold.BLOCK_NONE, + HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: HarmBlockThreshold.BLOCK_NONE, + HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_NONE, + HarmCategory.HARM_CATEGORY_HARASSMENT: HarmBlockThreshold.BLOCK_NONE, + HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: HarmBlockThreshold.BLOCK_NONE, + }, + ) + elif "openai" in model_version: + model_name = MODEL_VERSIONS[model_version] + llm = ChatOpenAI( + api_key=os.environ.get("OPENAI_API_KEY"), + model=model_name, + temperature=0, + ) + + elif "azure" in model_version: + model_name, api_endpoint, api_key, api_version = env_value.split(",") + llm = AzureChatOpenAI( + api_key=api_key, + azure_endpoint=api_endpoint, + azure_deployment=model_name, # takes precedence over model parameter + api_version=api_version, + temperature=0, + max_tokens=None, + timeout=None, + ) + + elif "anthropic" in model_version: + model_name, api_key = env_value.split(",") + llm = ChatAnthropic( + api_key=api_key, model=model_name, temperature=0, timeout=None + ) + + elif "fireworks" in model_version: + model_name, api_key = env_value.split(",") + llm = ChatFireworks(api_key=api_key, model=model_name) + + elif "groq" in model_version: + model_name, base_url, api_key = env_value.split(",") + llm = ChatGroq(api_key=api_key, model_name=model_name, temperature=0) + + elif "bedrock" in model_version: + model_name, aws_access_key, aws_secret_key, region_name = env_value.split(",") + bedrock_client = boto3.client( + service_name="bedrock-runtime", + region_name=region_name, + aws_access_key_id=aws_access_key, + aws_secret_access_key=aws_secret_key, + ) + + llm = ChatBedrock( + client=bedrock_client, model_id=model_name, model_kwargs=dict(temperature=0) + ) + + elif "ollama" in model_version: + model_name, base_url = env_value.split(",") + llm = ChatOllama(base_url=base_url, model=model_name) + + else: + model_name = "diffbot" + llm = DiffbotGraphTransformer( + diffbot_api_key=os.environ.get("DIFFBOT_API_KEY"), + extract_types=["entities", "facts"], + ) + logging.info(f"Model created - Model Version: {model_version}") + return llm, model_name + + +def get_combined_chunks(chunkId_chunkDoc_list): + chunks_to_combine = int(os.environ.get("NUMBER_OF_CHUNKS_TO_COMBINE")) + logging.info(f"Combining {chunks_to_combine} chunks before sending request to LLM") + combined_chunk_document_list = [] + combined_chunks_page_content = [ + "".join( + document["chunk_doc"].page_content + for document in chunkId_chunkDoc_list[i : i + chunks_to_combine] + ) + for i in range(0, len(chunkId_chunkDoc_list), chunks_to_combine) + ] + combined_chunks_ids = [ + [ + document["chunk_id"] + for document in chunkId_chunkDoc_list[i : i + chunks_to_combine] + ] + for i in range(0, len(chunkId_chunkDoc_list), chunks_to_combine) + ] + + for i in range(len(combined_chunks_page_content)): + combined_chunk_document_list.append( + Document( + page_content=combined_chunks_page_content[i], + metadata={"combined_chunk_ids": combined_chunks_ids[i]}, + ) + ) + return combined_chunk_document_list + + +def get_graph_document_list( + llm, combined_chunk_document_list, allowedNodes, allowedRelationship +): + futures = [] + graph_document_list = [] + if llm.get_name() == "ChatOllama": + node_properties = False + else: + node_properties = ["description"] + llm_transformer = LLMGraphTransformer( + llm=llm, + node_properties=node_properties, + allowed_nodes=allowedNodes, + allowed_relationships=allowedRelationship, + ) + with ThreadPoolExecutor(max_workers=10) as executor: + for chunk in combined_chunk_document_list: + chunk_doc = Document( + page_content=chunk.page_content.encode("utf-8"), metadata=chunk.metadata + ) + futures.append( + executor.submit(llm_transformer.convert_to_graph_documents, [chunk_doc]) + ) + + for i, future in enumerate(concurrent.futures.as_completed(futures)): + graph_document = future.result() + graph_document_list.append(graph_document[0]) + + return graph_document_list + + +def get_graph_from_llm(model, chunkId_chunkDoc_list, allowedNodes, allowedRelationship): + llm, model_name = get_llm(model) + combined_chunk_document_list = get_combined_chunks(chunkId_chunkDoc_list) + graph_document_list = get_graph_document_list( + llm, combined_chunk_document_list, allowedNodes, allowedRelationship + ) + return graph_document_list diff --git a/backend/src/main.py b/backend/src/main.py index 34adacb06..10ae66f2f 100644 --- a/backend/src/main.py +++ b/backend/src/main.py @@ -1,6 +1,6 @@ from langchain_community.graphs import Neo4jGraph from src.shared.constants import BUCKET_UPLOAD, PROJECT_ID -from src.shared.schema_extraction import sceham_extraction_from_text +from src.shared.schema_extraction import schema_extraction_from_text from dotenv import load_dotenv from datetime import datetime import logging @@ -336,7 +336,7 @@ def processing_source(graph, model, file_name, pages, allowedNodes, allowedRelat obj_source_node.processing_time = processed_time graphDb_data_Access.update_source_node(obj_source_node) - logging.info('Updated the nodeCount and relCount properties in Docuemnt node') + logging.info('Updated the nodeCount and relCount properties in Document node') logging.info(f'file:{file_name} extraction has been completed') @@ -548,5 +548,5 @@ def populate_graph_schema_from_text(text, model, is_schema_description_cheked): Returns: data (list): list of lebels and relationTypes """ - result = sceham_extraction_from_text(text, model, is_schema_description_cheked) + result = schema_extraction_from_text(text, model, is_schema_description_cheked) return {"labels": result.labels, "relationshipTypes": result.relationshipTypes} \ No newline at end of file diff --git a/backend/src/openAI_llm.py b/backend/src/openAI_llm.py index db05e58c1..d9b0c9fb4 100644 --- a/backend/src/openAI_llm.py +++ b/backend/src/openAI_llm.py @@ -5,7 +5,7 @@ import concurrent.futures from concurrent.futures import ThreadPoolExecutor from langchain_experimental.graph_transformers import LLMGraphTransformer -from src.shared.common_fn import get_combined_chunks, get_llm +from src.llm import get_graph_document_list, get_combined_chunks, get_llm load_dotenv() logging.basicConfig(format='%(asctime)s - %(message)s',level='INFO') @@ -16,17 +16,9 @@ def get_graph_from_OpenAI(model_version, graph, chunkId_chunkDoc_list, allowedNo combined_chunk_document_list = get_combined_chunks(chunkId_chunkDoc_list) - llm = get_llm(model_version) - llm_transformer = LLMGraphTransformer(llm=llm, node_properties=["description"], allowed_nodes=allowedNodes, allowed_relationships=allowedRelationship) - - with ThreadPoolExecutor(max_workers=10) as executor: - for chunk in combined_chunk_document_list: - futures.append(executor.submit(llm_transformer.convert_to_graph_documents,[chunk])) - - for i, future in enumerate(concurrent.futures.as_completed(futures)): - graph_document = future.result() - graph_document_list.append(graph_document[0]) - return graph_document_list + llm,model_name = get_llm(model_version) + return get_graph_document_list(llm, combined_chunk_document_list, allowedNodes, allowedRelationship) + diff --git a/backend/src/post_processing.py b/backend/src/post_processing.py index 60c202d2d..2271ffdf8 100644 --- a/backend/src/post_processing.py +++ b/backend/src/post_processing.py @@ -1,7 +1,9 @@ from neo4j import GraphDatabase import logging import time - +from langchain_community.graphs import Neo4jGraph +import os +from src.shared.common_fn import load_embedding_model DROP_INDEX_QUERY = "DROP INDEX entities IF EXISTS;" LABELS_QUERY = "CALL db.labels()" @@ -55,4 +57,32 @@ def create_fulltext(uri, username, password, database): finally: driver.close() logging.info("Driver closed.") - logging.info(f"Process completed in {time.time() - start_time:.2f} seconds.") \ No newline at end of file + logging.info(f"Process completed in {time.time() - start_time:.2f} seconds.") + + +def create_entity_embedding(graph:Neo4jGraph): + rows = fetch_entities_for_embedding(graph) + for i in range(0, len(rows), 1000): + update_embeddings(rows[i:i+1000],graph) + +def fetch_entities_for_embedding(graph): + query = """ + MATCH (e) + WHERE NOT (e:Chunk OR e:Document) AND e.embedding IS NULL AND e.id IS NOT NULL + RETURN elementId(e) AS elementId, e.id + " " + coalesce(e.description, "") AS text + """ + result = graph.query(query) + return [{"elementId": record["elementId"], "text": record["text"]} for record in result] + +def update_embeddings(rows, graph): + embedding_model = os.getenv('EMBEDDING_MODEL') + embeddings, dimension = load_embedding_model(embedding_model) + logging.info(f"update embedding for entities") + for row in rows: + row['embedding'] = embeddings.embed_query(row['text']) + query = """ + UNWIND $rows AS row + MATCH (e) WHERE elementId(e) = row.elementId + CALL db.create.setNodeVectorProperty(e, "embedding", row.embedding) + """ + return graph.query(query,params={'rows':rows}) \ No newline at end of file diff --git a/backend/src/shared/common_fn.py b/backend/src/shared/common_fn.py index 67a094915..b549f3b29 100644 --- a/backend/src/shared/common_fn.py +++ b/backend/src/shared/common_fn.py @@ -55,17 +55,6 @@ def check_url_source(source_type, yt_url:str=None, wiki_query:str=None): logging.error(f"Error in recognize URL: {e}") raise Exception(e) -def get_combined_chunks(chunkId_chunkDoc_list): - chunks_to_combine = int(os.environ.get('NUMBER_OF_CHUNKS_TO_COMBINE')) - logging.info(f"Combining {chunks_to_combine} chunks before sending request to LLM") - combined_chunk_document_list=[] - combined_chunks_page_content = ["".join(document['chunk_doc'].page_content for document in chunkId_chunkDoc_list[i:i+chunks_to_combine]) for i in range(0, len(chunkId_chunkDoc_list),chunks_to_combine)] - combined_chunks_ids = [[document['chunk_id'] for document in chunkId_chunkDoc_list[i:i+chunks_to_combine]] for i in range(0, len(chunkId_chunkDoc_list),chunks_to_combine)] - - for i in range(len(combined_chunks_page_content)): - combined_chunk_document_list.append(Document(page_content=combined_chunks_page_content[i], metadata={"combined_chunk_ids":combined_chunks_ids[i]})) - return combined_chunk_document_list - def get_chunk_and_graphDocument(graph_document_list, chunkId_chunkDoc_list): logging.info("creating list of chunks and graph documents in get_chunk_and_graphDocument func") @@ -118,39 +107,13 @@ def close_db_connection(graph, api_name): if not graph._driver._closed: logging.info(f"closing connection for {api_name} api") # graph._driver.close() - -def get_llm(model_version:str) : - """Retrieve the specified language model based on the model name.""" - if "gemini" in model_version: - llm = ChatVertexAI( - model_name=model_version, - convert_system_message_to_human=True, - temperature=0, - safety_settings={ - HarmCategory.HARM_CATEGORY_UNSPECIFIED: HarmBlockThreshold.BLOCK_NONE, - HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: HarmBlockThreshold.BLOCK_NONE, - HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_NONE, - HarmCategory.HARM_CATEGORY_HARASSMENT: HarmBlockThreshold.BLOCK_NONE, - HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: HarmBlockThreshold.BLOCK_NONE - } - ) - elif "gpt" in model_version: - llm = ChatOpenAI(api_key=os.environ.get('OPENAI_API_KEY'), - model=model_version, - temperature=0) - - elif "llama3" in model_version: - llm = ChatGroq(api_key=os.environ.get('GROQ_API_KEY'), - temperature=0, - model_name=model_version) - - else: - llm = DiffbotGraphTransformer(diffbot_api_key=os.environ.get('DIFFBOT_API_KEY'),extract_types=['entities','facts']) - logging.info(f"Model created - Model Version: {model_version}") - return llm def create_gcs_bucket_folder_name_hashed(uri, file_name): folder_name = uri + file_name folder_name_sha1 = hashlib.sha1(folder_name.encode()) folder_name_sha1_hashed = folder_name_sha1.hexdigest() - return folder_name_sha1_hashed \ No newline at end of file + return folder_name_sha1_hashed + +def formatted_time(current_time): + formatted_time = current_time.strftime('%Y-%m-%d %H:%M:%S %Z') + return formatted_time \ No newline at end of file diff --git a/backend/src/shared/constants.py b/backend/src/shared/constants.py index 22cd5d8f5..7a1983e28 100644 --- a/backend/src/shared/constants.py +++ b/backend/src/shared/constants.py @@ -1,13 +1,13 @@ MODEL_VERSIONS = { - "gpt-3.5": "gpt-3.5-turbo-16k", + "openai-gpt-3.5": "gpt-3.5-turbo-16k", "gemini-1.0-pro": "gemini-1.0-pro-001", "gemini-1.5-pro": "gemini-1.5-pro-preview-0514", - "gpt-4": "gpt-4-0125-preview", + "openai-gpt-4": "gpt-4-0125-preview", "diffbot" : "gpt-4o", - "gpt-4o":"gpt-4o", + "openai-gpt-4o":"gpt-4o", "groq-llama3" : "llama3-70b-8192" } -OPENAI_MODELS = ["gpt-3.5", "gpt-4o"] +OPENAI_MODELS = ["openai-gpt-3.5", "openai-gpt-4o"] GEMINI_MODELS = ["gemini-1.0-pro", "gemini-1.5-pro"] GROQ_MODELS = ["groq-llama3"] BUCKET_UPLOAD = 'llm-graph-builder-upload' @@ -22,9 +22,10 @@ CHAT_DOC_SPLIT_SIZE = 3000 CHAT_EMBEDDING_FILTER_SCORE_THRESHOLD = 0.10 CHAT_TOKEN_CUT_OFF = { - ("gpt-3.5","gemini-1.0-pro","gemini-1.5-pro","groq-llama3" ) : 4, - ("gpt-4","diffbot" , "gpt-4o") : 28 -} + ("openai-gpt-3.5",'azure_ai_gpt_35',"gemini-1.0-pro","gemini-1.5-pro","groq-llama3",'groq_llama3_70b','anthropic_claude_3_5_sonnet','fireworks_llama_v3_70b','bedrock_claude_3_5_sonnet', ) : 4, + ("openai-gpt-4","diffbot" ,'azure_ai_gpt_4o',"openai-gpt-4o") : 28, + ("ollama_llama3") : 2 +} ### CHAT TEMPLATES @@ -110,38 +111,102 @@ # """ +# VECTOR_GRAPH_SEARCH_QUERY = """ +# WITH node as chunk, score +# // find the document of the chunk +# MATCH (chunk)-[:PART_OF]->(d:Document) +# // fetch entities +# CALL { WITH chunk +# // entities connected to the chunk +# // todo only return entities that are actually in the chunk, remember we connect all extracted entities to all chunks +# MATCH (chunk)-[:HAS_ENTITY]->(e) + +# // depending on match to query embedding either 1 or 2 step expansion +# WITH CASE WHEN true // vector.similarity.cosine($embedding, e.embedding ) <= 0.95 +# THEN +# collect { MATCH path=(e)(()-[rels:!HAS_ENTITY&!PART_OF]-()){0,1}(:!Chunk&!Document) RETURN path } +# ELSE +# collect { MATCH path=(e)(()-[rels:!HAS_ENTITY&!PART_OF]-()){0,2}(:!Chunk&!Document) RETURN path } +# END as paths + +# RETURN collect{ unwind paths as p unwind relationships(p) as r return distinct r} as rels, +# collect{ unwind paths as p unwind nodes(p) as n return distinct n} as nodes +# } +# // aggregate chunk-details and de-duplicate nodes and relationships +# WITH d, collect(DISTINCT {chunk: chunk, score: score}) AS chunks, avg(score) as avg_score, apoc.coll.toSet(apoc.coll.flatten(collect(rels))) as rels, + +# // TODO sort by relevancy (embeddding comparision?) cut off after X (e.g. 25) nodes? +# apoc.coll.toSet(apoc.coll.flatten(collect( +# [r in rels |[startNode(r),endNode(r)]]),true)) as nodes + +# // generate metadata and text components for chunks, nodes and relationships +# WITH d, avg_score, +# [c IN chunks | c.chunk.text] AS texts, +# [c IN chunks | {id: c.chunk.id, score: c.score}] AS chunkdetails, +# apoc.coll.sort([n in nodes | + +# coalesce(apoc.coll.removeAll(labels(n),['__Entity__'])[0],"") +":"+ +# n.id + (case when n.description is not null then " ("+ n.description+")" else "" end)]) as nodeTexts, +# apoc.coll.sort([r in rels +# // optional filter if we limit the node-set +# // WHERE startNode(r) in nodes AND endNode(r) in nodes +# | +# coalesce(apoc.coll.removeAll(labels(startNode(r)),['__Entity__'])[0],"") +":"+ +# startNode(r).id + +# " " + type(r) + " " + +# coalesce(apoc.coll.removeAll(labels(endNode(r)),['__Entity__'])[0],"") +":" + +# endNode(r).id +# ]) as relTexts + +# // combine texts into response-text +# WITH d, avg_score,chunkdetails, +# "Text Content:\n" + +# apoc.text.join(texts,"\n----\n") + +# "\n----\nEntities:\n"+ +# apoc.text.join(nodeTexts,"\n") + +# "\n----\nRelationships:\n"+ +# apoc.text.join(relTexts,"\n") + +# as text +# RETURN text, avg_score as score, {length:size(text), source: COALESCE( CASE WHEN d.url CONTAINS "None" THEN d.fileName ELSE d.url END, d.fileName), chunkdetails: chunkdetails} AS metadata +# """ + +VECTOR_GRAPH_SEARCH_ENTITY_LIMIT = 25 + VECTOR_GRAPH_SEARCH_QUERY = """ WITH node as chunk, score // find the document of the chunk MATCH (chunk)-[:PART_OF]->(d:Document) + +// aggregate chunk-details +WITH d, collect(DISTINCT {{chunk: chunk, score: score}}) AS chunks, avg(score) as avg_score // fetch entities -CALL { WITH chunk +CALL {{ WITH chunks +UNWIND chunks as chunkScore +WITH chunkScore.chunk as chunk // entities connected to the chunk // todo only return entities that are actually in the chunk, remember we connect all extracted entities to all chunks -MATCH (chunk)-[:HAS_ENTITY]->(e) - +// todo sort by relevancy (embeddding comparision?) cut off after X (e.g. 25) nodes? +OPTIONAL MATCH (chunk)-[:HAS_ENTITY]->(e) +WITH e, count(*) as numChunks +ORDER BY numChunks DESC LIMIT {no_of_entites} // depending on match to query embedding either 1 or 2 step expansion WITH CASE WHEN true // vector.similarity.cosine($embedding, e.embedding ) <= 0.95 THEN -collect { MATCH path=(e)(()-[rels:!HAS_ENTITY&!PART_OF]-()){0,1}(:!Chunk&!Document) RETURN path } +collect {{ OPTIONAL MATCH path=(e)(()-[rels:!HAS_ENTITY&!PART_OF]-()){{0,1}}(:!Chunk&!Document) RETURN path }} ELSE -collect { MATCH path=(e)(()-[rels:!HAS_ENTITY&!PART_OF]-()){0,2}(:!Chunk&!Document) RETURN path } -END as paths - -RETURN collect{ unwind paths as p unwind relationships(p) as r return distinct r} as rels, -collect{ unwind paths as p unwind nodes(p) as n return distinct n} as nodes -} -// aggregate chunk-details and de-duplicate nodes and relationships -WITH d, collect(DISTINCT {chunk: chunk, score: score}) AS chunks, avg(score) as avg_score, apoc.coll.toSet(apoc.coll.flatten(collect(rels))) as rels, - -// TODO sort by relevancy (embeddding comparision?) cut off after X (e.g. 25) nodes? -apoc.coll.toSet(apoc.coll.flatten(collect( - [r in rels |[startNode(r),endNode(r)]]),true)) as nodes +collect {{ OPTIONAL MATCH path=(e)(()-[rels:!HAS_ENTITY&!PART_OF]-()){{0,2}}(:!Chunk&!Document) RETURN path }} +END as paths, e +WITH apoc.coll.toSet(apoc.coll.flatten(collect(distinct paths))) as paths, collect(distinct e) as entities +// de-duplicate nodes and relationships across chunks +RETURN collect{{ unwind paths as p unwind relationships(p) as r return distinct r}} as rels, +collect{{ unwind paths as p unwind nodes(p) as n return distinct n}} as nodes, entities +}} // generate metadata and text components for chunks, nodes and relationships WITH d, avg_score, [c IN chunks | c.chunk.text] AS texts, - [c IN chunks | {id: c.chunk.id, score: c.score}] AS chunkdetails, + [c IN chunks | {{id: c.chunk.id, score: c.score}}] AS chunkdetails, apoc.coll.sort([n in nodes | coalesce(apoc.coll.removeAll(labels(n),['__Entity__'])[0],"") +":"+ @@ -153,24 +218,20 @@ coalesce(apoc.coll.removeAll(labels(startNode(r)),['__Entity__'])[0],"") +":"+ startNode(r).id + " " + type(r) + " " + -coalesce(apoc.coll.removeAll(labels(endNode(r)),['__Entity__'])[0],"") +":" + -endNode(r).id +coalesce(apoc.coll.removeAll(labels(endNode(r)),['__Entity__'])[0],"") +":" + endNode(r).id ]) as relTexts - +, entities // combine texts into response-text -WITH d, avg_score,chunkdetails, -"Text Content:\n" + -apoc.text.join(texts,"\n----\n") + -"\n----\nEntities:\n"+ -apoc.text.join(nodeTexts,"\n") + -"\n----\nRelationships:\n"+ -apoc.text.join(relTexts,"\n") - -as text -RETURN text, avg_score as score, {length:size(text), source: COALESCE( CASE WHEN d.url CONTAINS "None" THEN d.fileName ELSE d.url END, d.fileName), chunkdetails: chunkdetails} AS metadata -""" - - +WITH d, avg_score,chunkdetails, +"Text Content:\\n" + +apoc.text.join(texts,"\\n----\\n") + +"\\n----\\nEntities:\\n"+ +apoc.text.join(nodeTexts,"\\n") + +"\\n----\\nRelationships:\\n" + +apoc.text.join(relTexts,"\\n") +as text,entities +RETURN text, avg_score as score, {{length:size(text), source: COALESCE( CASE WHEN d.url CONTAINS "None" THEN d.fileName ELSE d.url END, d.fileName), chunkdetails: chunkdetails}} AS metadata +""" \ No newline at end of file diff --git a/backend/src/shared/schema_extraction.py b/backend/src/shared/schema_extraction.py index aae4f2380..27008acae 100644 --- a/backend/src/shared/schema_extraction.py +++ b/backend/src/shared/schema_extraction.py @@ -1,6 +1,6 @@ from typing import List from langchain_core.pydantic_v1 import BaseModel, Field -from src.shared.common_fn import get_llm +from src.llm import get_llm from src.shared.constants import MODEL_VERSIONS from langchain_core.prompts import ChatPromptTemplate @@ -25,9 +25,9 @@ class Schema(BaseModel): "Only return the string types for nodes and relationships, don't return attributes." ) -def sceham_extraction_from_text(input_text:str, model:str, is_schema_description_cheked:bool): +def schema_extraction_from_text(input_text:str, model:str, is_schema_description_cheked:bool): - llm = get_llm(MODEL_VERSIONS[model]) + llm, model_name = get_llm(model) if is_schema_description_cheked: schema_prompt = PROMPT_TEMPLATE_WITH_SCHEMA else: diff --git a/docker-compose.yml b/docker-compose.yml index a93be695b..2578073b0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -24,8 +24,19 @@ services: - GCP_LOG_METRICS_ENABLED=${GCP_LOG_METRICS_ENABLED-False} - UPDATE_GRAPH_CHUNKS_PROCESSED=${UPDATE_GRAPH_CHUNKS_PROCESSED-20} - NUMBER_OF_CHUNKS_TO_COMBINE=${NUMBER_OF_CHUNKS_TO_COMBINE-6} + - ENTITY_EMBEDDING=${ENTITY_EMBEDDING-False} - GCS_FILE_CACHE=${GCS_FILE_CACHE-False} +# - LLM_MODEL_CONFIG_anthropic_claude_35_sonnet=${LLM_MODEL_CONFIG_anthropic_claude_35_sonnet-} +# - LLM_MODEL_CONFIG_fireworks_llama_v3_70b=${LLM_MODEL_CONFIG_fireworks_llama_v3_70b-} +# - LLM_MODEL_CONFIG_azure_ai_gpt_4o=${LLM_MODEL_CONFIG_azure_ai_gpt_4o-} +# - LLM_MODEL_CONFIG_azure_ai_gpt_35=${LLM_MODEL_CONFIG_azure_ai_gpt_35-} +# - LLM_MODEL_CONFIG_groq_llama3_70b=${LLM_MODEL_CONFIG_groq_llama3_70b-} +# - LLM_MODEL_CONFIG_bedrock_claude_3_5_sonnet=${LLM_MODEL_CONFIG_bedrock_claude_3_5_sonnet-} +# - LLM_MODEL_CONFIG_fireworks_qwen_72b=${LLM_MODEL_CONFIG_fireworks_qwen_72b-} + - LLM_MODEL_CONFIG_ollama_llama3=${LLM_MODEL_CONFIG_ollama_llama3-} container_name: backend + extra_hosts: + - host.docker.internal:host-gateway ports: - "8000:8000" networks: @@ -40,13 +51,14 @@ services: args: - BACKEND_API_URL=${BACKEND_API_URL-http://localhost:8000} - REACT_APP_SOURCES=${REACT_APP_SOURCES-local,youtube,wiki,s3} - - LLM_MODELS=${LLM_MODELS-diffbot,gpt-3.5,gpt-4o} + - LLM_MODELS=${LLM_MODELS-diffbot,openai-gpt-3.5,openai-gpt-4o} - GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID-""} - BLOOM_URL=${BLOOM_URL-https://workspace-preview.neo4j.io/workspace/explore?connectURL={CONNECT_URL}&search=Show+me+a+graph&featureGenAISuggestions=true&featureGenAISuggestionsInternal=true} - TIME_PER_CHUNK=${TIME_PER_CHUNK-4} - TIME_PER_PAGE=${TIME_PER_PAGE-50} - CHUNK_SIZE=${CHUNK_SIZE-5242880} - ENV=${ENV-DEV} + - CHAT_MODES=${CHAT_MODES-""} volumes: - ./frontend:/app - /app/node_modules diff --git a/example.env b/example.env index 681325453..d9bc8a2da 100644 --- a/example.env +++ b/example.env @@ -8,6 +8,8 @@ IS_EMBEDDING = "true" KNN_MIN_SCORE = "0.94" # Enable Gemini (default is False) | Can be False or True GEMINI_ENABLED = False +# LLM_MODEL_CONFIG_ollama_llama3="llama3,http://host.docker.internal:11434" + # Enable Google Cloud logs (default is False) | Can be False or True GCP_LOG_METRICS_ENABLED = False NUMBER_OF_CHUNKS_TO_COMBINE = 6 @@ -20,14 +22,16 @@ LANGCHAIN_PROJECT = "" LANGCHAIN_TRACING_V2 = "true" LANGCHAIN_ENDPOINT = "https://api.smith.langchain.com" GCS_FILE_CACHE = False +ENTITY_EMBEDDING=True # Optional Frontend BACKEND_API_URL="http://localhost:8000" BLOOM_URL="https://workspace-preview.neo4j.io/workspace/explore?connectURL={CONNECT_URL}&search=Show+me+a+graph&featureGenAISuggestions=true&featureGenAISuggestionsInternal=true" REACT_APP_SOURCES="local,youtube,wiki,s3,web" -LLM_MODELS="diffbot,gpt-3.5,gpt-4o" +LLM_MODELS="diffbot,openai-gpt-3.5,openai-gpt-4o" # ",ollama_llama3" ENV="DEV" TIME_PER_CHUNK=4 TIME_PER_PAGE=50 CHUNK_SIZE=5242880 GOOGLE_CLIENT_ID="" +CHAT_MODES="" diff --git a/experiments/multiple_models.ipynb b/experiments/multiple_models.ipynb new file mode 100644 index 000000000..a4841a9f8 --- /dev/null +++ b/experiments/multiple_models.ipynb @@ -0,0 +1,443 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "LLMs from different Providers" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "from dotenv import load_dotenv\n", + "from langchain_experimental.graph_transformers import LLMGraphTransformer\n", + "from langchain_core.documents import Document\n", + "\n", + "load_dotenv()\n", + "content = \"\"\"Stephen Hawking (born January 8, 1942, Oxford, Oxfordshire, England—died March 14, 2018, Cambridge, \n", + "Cambridgeshire) was an English theoretical physicist whose theory of exploding black holes drew upon both relativity \n", + "theory and quantum mechanics. He also worked with space-time singularities.\n", + "Hawking studied physics at University College, Oxford (B.A., 1962), and Trinity Hall, Cambridge (Ph.D., 1966). \n", + "He was elected a research fellow at Gonville and Caius College at Cambridge. In the early 1960s Hawking contracted \n", + "amyotrophic lateral sclerosis, an incurable degenerative neuromuscular disease. He continued to work despite the \n", + "disease’s progressively disabling effects.Hawking worked primarily in the field of general relativity and particularly \n", + "on the physics of black holes. In 1971 he suggested the formation, following the big bang, of numerous objects \n", + "containing as much as one billion tons of mass but occupying only the space of a proton. These objects, called \n", + "mini black holes, are unique in that their immense mass and gravity require that they be ruled by the laws of \n", + "relativity, while their minute size requires that the laws of quantum mechanics apply to them also.\"\"\"\n", + "\n", + "docs = [Document(page_content=content)]\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Microsoft Azure OpenAI\n" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[GraphDocument(nodes=[Node(id='Stephen Hawking', type='Person', properties={'description': 'born January 8, 1942, Oxford, Oxfordshire, England—died March 14, 2018, Cambridge, Cambridgeshire; an English theoretical physicist whose theory of exploding black holes drew upon both relativity theory and quantum mechanics. He also worked with space-time singularities.'}), Node(id='University College, Oxford', type='Organization', properties={'description': 'where Stephen Hawking studied physics and received his B.A. in 1962'}), Node(id='Trinity Hall, Cambridge', type='Organization', properties={'description': 'where Stephen Hawking received his Ph.D. in 1966'}), Node(id='Gonville And Caius College, Cambridge', type='Organization', properties={'description': 'where Stephen Hawking was elected a research fellow'}), Node(id='Amyotrophic Lateral Sclerosis', type='Disease', properties={'description': 'an incurable degenerative neuromuscular disease contracted by Stephen Hawking in the early 1960s'}), Node(id='General Relativity', type='Field', properties={'description': 'the field in which Stephen Hawking worked primarily'}), Node(id='Black Holes', type='Concept', properties={'description': \"a primary focus of Stephen Hawking's work, particularly their physics\"}), Node(id='Mini Black Holes', type='Concept', properties={'description': 'objects suggested by Stephen Hawking in 1971, formed following the big bang, containing as much as one billion tons of mass but occupying only the space of a proton'}), Node(id='Big Bang', type='Event', properties={'description': 'an event following which Stephen Hawking suggested the formation of mini black holes'}), Node(id='Relativity', type='Theory', properties={'description': \"one of the theories upon which Stephen Hawking's theory of exploding black holes drew\"}), Node(id='Quantum Mechanics', type='Theory', properties={'description': \"one of the theories upon which Stephen Hawking's theory of exploding black holes drew\"})], relationships=[Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='University College, Oxford', type='Organization'), type='STUDIED_AT'), Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='Trinity Hall, Cambridge', type='Organization'), type='STUDIED_AT'), Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='Gonville And Caius College, Cambridge', type='Organization'), type='ELECTED_FELLOW'), Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='Amyotrophic Lateral Sclerosis', type='Disease'), type='CONTRACTED'), Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='General Relativity', type='Field'), type='WORKED_IN'), Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='Black Holes', type='Concept'), type='WORKED_ON'), Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='Mini Black Holes', type='Concept'), type='SUGGESTED'), Relationship(source=Node(id='Mini Black Holes', type='Concept'), target=Node(id='Big Bang', type='Event'), type='FORMED_AFTER'), Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='Relativity', type='Theory'), type='DREW_UPON'), Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='Quantum Mechanics', type='Theory'), type='DREW_UPON')], source=Document(page_content='Stephen Hawking (born January 8, 1942, Oxford, Oxfordshire, England—died March 14, 2018, Cambridge, \\nCambridgeshire) was an English theoretical physicist whose theory of exploding black holes drew upon both relativity \\ntheory and quantum mechanics. He also worked with space-time singularities.\\nHawking studied physics at University College, Oxford (B.A., 1962), and Trinity Hall, Cambridge (Ph.D., 1966). \\nHe was elected a research fellow at Gonville and Caius College at Cambridge. In the early 1960s Hawking contracted \\namyotrophic lateral sclerosis, an incurable degenerative neuromuscular disease. He continued to work despite the \\ndisease’s progressively disabling effects.Hawking worked primarily in the field of general relativity and particularly \\non the physics of black holes. In 1971 he suggested the formation, following the big bang, of numerous objects \\ncontaining as much as one billion tons of mass but occupying only the space of a proton. These objects, called \\nmini black holes, are unique in that their immense mass and gravity require that they be ruled by the laws of \\nrelativity, while their minute size requires that the laws of quantum mechanics apply to them also.'))]" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Azure OpenAI\n", + "from langchain_openai import AzureChatOpenAI\n", + "\n", + "model_deployment_name, api_endpoint, api_key, api_version = os.environ.get('LLM_MODEL_CONFIG_azure-ai-gpt-4o').split(',')\n", + "azure_llm = AzureChatOpenAI(\n", + " api_key=api_key,\n", + " azure_endpoint=api_endpoint,\n", + " azure_deployment=model_deployment_name,\n", + " api_version=api_version, \n", + " temperature=0,\n", + " max_tokens=None,\n", + " timeout=None\n", + " )\n", + "\n", + "llm_transformer = LLMGraphTransformer(llm=azure_llm, node_properties=[\"description\"])\n", + "llm_transformer.convert_to_graph_documents(docs)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Amazon Bedrock" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%pip install --upgrade --quiet langchain-aws" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[GraphDocument(nodes=[], relationships=[], source=Document(page_content='Stephen Hawking (born January 8, 1942, Oxford, Oxfordshire, England—died March 14, 2018, Cambridge, \\nCambridgeshire) was an English theoretical physicist whose theory of exploding black holes drew upon both relativity \\ntheory and quantum mechanics. He also worked with space-time singularities.\\nHawking studied physics at University College, Oxford (B.A., 1962), and Trinity Hall, Cambridge (Ph.D., 1966). \\nHe was elected a research fellow at Gonville and Caius College at Cambridge. In the early 1960s Hawking contracted \\namyotrophic lateral sclerosis, an incurable degenerative neuromuscular disease. He continued to work despite the \\ndisease’s progressively disabling effects.Hawking worked primarily in the field of general relativity and particularly \\non the physics of black holes. In 1971 he suggested the formation, following the big bang, of numerous objects \\ncontaining as much as one billion tons of mass but occupying only the space of a proton. These objects, called \\nmini black holes, are unique in that their immense mass and gravity require that they be ruled by the laws of \\nrelativity, while their minute size requires that the laws of quantum mechanics apply to them also.'))]" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Failed to batch ingest runs: LangSmithRateLimitError('Rate limit exceeded for https://api.smith.langchain.com/runs/batch. HTTPError(\\'429 Client Error: Too Many Requests for url: https://api.smith.langchain.com/runs/batch\\', \\'{\"detail\":\"Usage limit monthly_traces of 10000 exceeded\"}\\')')\n", + "Failed to batch ingest runs: LangSmithRateLimitError('Rate limit exceeded for https://api.smith.langchain.com/runs/batch. HTTPError(\\'429 Client Error: Too Many Requests for url: https://api.smith.langchain.com/runs/batch\\', \\'{\"detail\":\"Usage limit monthly_traces of 10000 exceeded\"}\\')')\n" + ] + } + ], + "source": [ + "#Bedrock\n", + "from langchain_aws import ChatBedrock\n", + "import boto3\n", + "\n", + "model_name,aws_access_key,aws_secret_key,region_name=os.environ.get(\"LLM_MODEL_CONFIG_bedrock-claude-3-5-sonnet\").split(',')\n", + "bedrock_client = boto3.client(\n", + " service_name=\"bedrock-runtime\",\n", + " region_name=region_name,\n", + " aws_access_key_id=aws_access_key,\n", + " aws_secret_access_key=aws_secret_key,\n", + ")\n", + "\n", + "bedrock_llm = ChatBedrock(\n", + " client = bedrock_client,\n", + " model_id=model_name, #anthropic.claude-3-sonnet-20240229-v1:0\n", + " model_kwargs=dict(temperature=0)\n", + ")\n", + "\n", + "llm_transformer = LLMGraphTransformer(llm=bedrock_llm, node_properties=[\"description\"])\n", + "llm_transformer.convert_to_graph_documents(docs)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Anthropic" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%pip install --upgrade --quiet langchain-anthropic" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'Message' object has no attribute '__pydantic_serializer__'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/pydantic/main.py:718\u001b[0m, in \u001b[0;36mBaseModel.__getattr__\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 717\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 718\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mpydantic_extra\u001b[49m\u001b[43m[\u001b[49m\u001b[43mitem\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 719\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n", + "\u001b[0;31mKeyError\u001b[0m: '__pydantic_serializer__'", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[37], line 13\u001b[0m\n\u001b[1;32m 5\u001b[0m anthropic_llm \u001b[38;5;241m=\u001b[39m ChatAnthropic(\n\u001b[1;32m 6\u001b[0m api_key\u001b[38;5;241m=\u001b[39mapi_key,\n\u001b[1;32m 7\u001b[0m model\u001b[38;5;241m=\u001b[39mmodel_name, \u001b[38;5;66;03m#claude-3-5-sonnet-20240620\u001b[39;00m\n\u001b[1;32m 8\u001b[0m temperature\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m,\n\u001b[1;32m 9\u001b[0m timeout\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 10\u001b[0m ) \n\u001b[1;32m 12\u001b[0m llm_transformer \u001b[38;5;241m=\u001b[39m LLMGraphTransformer(llm\u001b[38;5;241m=\u001b[39manthropic_llm, node_properties\u001b[38;5;241m=\u001b[39m[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdescription\u001b[39m\u001b[38;5;124m\"\u001b[39m])\n\u001b[0;32m---> 13\u001b[0m \u001b[43mllm_transformer\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconvert_to_graph_documents\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdocs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_experimental/graph_transformers/llm.py:646\u001b[0m, in \u001b[0;36mLLMGraphTransformer.convert_to_graph_documents\u001b[0;34m(self, documents)\u001b[0m\n\u001b[1;32m 634\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mconvert_to_graph_documents\u001b[39m(\n\u001b[1;32m 635\u001b[0m \u001b[38;5;28mself\u001b[39m, documents: Sequence[Document]\n\u001b[1;32m 636\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m List[GraphDocument]:\n\u001b[1;32m 637\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Convert a sequence of documents into graph documents.\u001b[39;00m\n\u001b[1;32m 638\u001b[0m \n\u001b[1;32m 639\u001b[0m \u001b[38;5;124;03m Args:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 644\u001b[0m \u001b[38;5;124;03m Sequence[GraphDocument]: The transformed documents as graphs.\u001b[39;00m\n\u001b[1;32m 645\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 646\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m [\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprocess_response(document) \u001b[38;5;28;01mfor\u001b[39;00m document \u001b[38;5;129;01min\u001b[39;00m documents]\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_experimental/graph_transformers/llm.py:646\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 634\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mconvert_to_graph_documents\u001b[39m(\n\u001b[1;32m 635\u001b[0m \u001b[38;5;28mself\u001b[39m, documents: Sequence[Document]\n\u001b[1;32m 636\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m List[GraphDocument]:\n\u001b[1;32m 637\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Convert a sequence of documents into graph documents.\u001b[39;00m\n\u001b[1;32m 638\u001b[0m \n\u001b[1;32m 639\u001b[0m \u001b[38;5;124;03m Args:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 644\u001b[0m \u001b[38;5;124;03m Sequence[GraphDocument]: The transformed documents as graphs.\u001b[39;00m\n\u001b[1;32m 645\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 646\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m [\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mprocess_response\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdocument\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m document \u001b[38;5;129;01min\u001b[39;00m documents]\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_experimental/graph_transformers/llm.py:588\u001b[0m, in \u001b[0;36mLLMGraphTransformer.process_response\u001b[0;34m(self, document)\u001b[0m\n\u001b[1;32m 583\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 584\u001b[0m \u001b[38;5;124;03mProcesses a single document, transforming it into a graph document using\u001b[39;00m\n\u001b[1;32m 585\u001b[0m \u001b[38;5;124;03man LLM based on the model's schema and constraints.\u001b[39;00m\n\u001b[1;32m 586\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 587\u001b[0m text \u001b[38;5;241m=\u001b[39m document\u001b[38;5;241m.\u001b[39mpage_content\n\u001b[0;32m--> 588\u001b[0m raw_schema \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mchain\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minvoke\u001b[49m\u001b[43m(\u001b[49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43minput\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtext\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 589\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_function_call:\n\u001b[1;32m 590\u001b[0m raw_schema \u001b[38;5;241m=\u001b[39m cast(Dict[Any, Any], raw_schema)\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/runnables/base.py:2507\u001b[0m, in \u001b[0;36mRunnableSequence.invoke\u001b[0;34m(self, input, config, **kwargs)\u001b[0m\n\u001b[1;32m 2505\u001b[0m \u001b[38;5;28minput\u001b[39m \u001b[38;5;241m=\u001b[39m step\u001b[38;5;241m.\u001b[39minvoke(\u001b[38;5;28minput\u001b[39m, config, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 2506\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 2507\u001b[0m \u001b[38;5;28minput\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[43mstep\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minvoke\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconfig\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2508\u001b[0m \u001b[38;5;66;03m# finish the root run\u001b[39;00m\n\u001b[1;32m 2509\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/runnables/base.py:3152\u001b[0m, in \u001b[0;36mRunnableParallel.invoke\u001b[0;34m(self, input, config)\u001b[0m\n\u001b[1;32m 3139\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m get_executor_for_config(config) \u001b[38;5;28;01mas\u001b[39;00m executor:\n\u001b[1;32m 3140\u001b[0m futures \u001b[38;5;241m=\u001b[39m [\n\u001b[1;32m 3141\u001b[0m executor\u001b[38;5;241m.\u001b[39msubmit(\n\u001b[1;32m 3142\u001b[0m step\u001b[38;5;241m.\u001b[39minvoke,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 3150\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m key, step \u001b[38;5;129;01min\u001b[39;00m steps\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 3151\u001b[0m ]\n\u001b[0;32m-> 3152\u001b[0m output \u001b[38;5;241m=\u001b[39m {key: future\u001b[38;5;241m.\u001b[39mresult() \u001b[38;5;28;01mfor\u001b[39;00m key, future \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mzip\u001b[39m(steps, futures)}\n\u001b[1;32m 3153\u001b[0m \u001b[38;5;66;03m# finish the root run\u001b[39;00m\n\u001b[1;32m 3154\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/runnables/base.py:3152\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 3139\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m get_executor_for_config(config) \u001b[38;5;28;01mas\u001b[39;00m executor:\n\u001b[1;32m 3140\u001b[0m futures \u001b[38;5;241m=\u001b[39m [\n\u001b[1;32m 3141\u001b[0m executor\u001b[38;5;241m.\u001b[39msubmit(\n\u001b[1;32m 3142\u001b[0m step\u001b[38;5;241m.\u001b[39minvoke,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 3150\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m key, step \u001b[38;5;129;01min\u001b[39;00m steps\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 3151\u001b[0m ]\n\u001b[0;32m-> 3152\u001b[0m output \u001b[38;5;241m=\u001b[39m {key: \u001b[43mfuture\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m key, future \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mzip\u001b[39m(steps, futures)}\n\u001b[1;32m 3153\u001b[0m \u001b[38;5;66;03m# finish the root run\u001b[39;00m\n\u001b[1;32m 3154\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/concurrent/futures/_base.py:458\u001b[0m, in \u001b[0;36mFuture.result\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 456\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m CancelledError()\n\u001b[1;32m 457\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;241m==\u001b[39m FINISHED:\n\u001b[0;32m--> 458\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m__get_result\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 459\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 460\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTimeoutError\u001b[39;00m()\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/concurrent/futures/_base.py:403\u001b[0m, in \u001b[0;36mFuture.__get_result\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 401\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception:\n\u001b[1;32m 402\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 403\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception\n\u001b[1;32m 404\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 405\u001b[0m \u001b[38;5;66;03m# Break a reference cycle with the exception in self._exception\u001b[39;00m\n\u001b[1;32m 406\u001b[0m \u001b[38;5;28mself\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/concurrent/futures/thread.py:58\u001b[0m, in \u001b[0;36m_WorkItem.run\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 58\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 59\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[1;32m 60\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfuture\u001b[38;5;241m.\u001b[39mset_exception(exc)\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/runnables/base.py:4588\u001b[0m, in \u001b[0;36mRunnableBindingBase.invoke\u001b[0;34m(self, input, config, **kwargs)\u001b[0m\n\u001b[1;32m 4582\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21minvoke\u001b[39m(\n\u001b[1;32m 4583\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 4584\u001b[0m \u001b[38;5;28minput\u001b[39m: Input,\n\u001b[1;32m 4585\u001b[0m config: Optional[RunnableConfig] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[1;32m 4586\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Optional[Any],\n\u001b[1;32m 4587\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Output:\n\u001b[0;32m-> 4588\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbound\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minvoke\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 4589\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 4590\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_merge_configs\u001b[49m\u001b[43m(\u001b[49m\u001b[43mconfig\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 4591\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m{\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 4592\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:248\u001b[0m, in \u001b[0;36mBaseChatModel.invoke\u001b[0;34m(self, input, config, stop, **kwargs)\u001b[0m\n\u001b[1;32m 237\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21minvoke\u001b[39m(\n\u001b[1;32m 238\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 239\u001b[0m \u001b[38;5;28minput\u001b[39m: LanguageModelInput,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 243\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any,\n\u001b[1;32m 244\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m BaseMessage:\n\u001b[1;32m 245\u001b[0m config \u001b[38;5;241m=\u001b[39m ensure_config(config)\n\u001b[1;32m 246\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m cast(\n\u001b[1;32m 247\u001b[0m ChatGeneration,\n\u001b[0;32m--> 248\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgenerate_prompt\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 249\u001b[0m \u001b[43m \u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_convert_input\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 250\u001b[0m \u001b[43m \u001b[49m\u001b[43mstop\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstop\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 251\u001b[0m \u001b[43m \u001b[49m\u001b[43mcallbacks\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcallbacks\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 252\u001b[0m \u001b[43m \u001b[49m\u001b[43mtags\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtags\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 253\u001b[0m \u001b[43m \u001b[49m\u001b[43mmetadata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmetadata\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 254\u001b[0m \u001b[43m \u001b[49m\u001b[43mrun_name\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mrun_name\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 255\u001b[0m \u001b[43m \u001b[49m\u001b[43mrun_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpop\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mrun_id\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 256\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 257\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mgenerations[\u001b[38;5;241m0\u001b[39m][\u001b[38;5;241m0\u001b[39m],\n\u001b[1;32m 258\u001b[0m )\u001b[38;5;241m.\u001b[39mmessage\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:677\u001b[0m, in \u001b[0;36mBaseChatModel.generate_prompt\u001b[0;34m(self, prompts, stop, callbacks, **kwargs)\u001b[0m\n\u001b[1;32m 669\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mgenerate_prompt\u001b[39m(\n\u001b[1;32m 670\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 671\u001b[0m prompts: List[PromptValue],\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 674\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any,\n\u001b[1;32m 675\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m LLMResult:\n\u001b[1;32m 676\u001b[0m prompt_messages \u001b[38;5;241m=\u001b[39m [p\u001b[38;5;241m.\u001b[39mto_messages() \u001b[38;5;28;01mfor\u001b[39;00m p \u001b[38;5;129;01min\u001b[39;00m prompts]\n\u001b[0;32m--> 677\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgenerate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mprompt_messages\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstop\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstop\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcallbacks\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcallbacks\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:534\u001b[0m, in \u001b[0;36mBaseChatModel.generate\u001b[0;34m(self, messages, stop, callbacks, tags, metadata, run_name, run_id, **kwargs)\u001b[0m\n\u001b[1;32m 532\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m run_managers:\n\u001b[1;32m 533\u001b[0m run_managers[i]\u001b[38;5;241m.\u001b[39mon_llm_error(e, response\u001b[38;5;241m=\u001b[39mLLMResult(generations\u001b[38;5;241m=\u001b[39m[]))\n\u001b[0;32m--> 534\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m e\n\u001b[1;32m 535\u001b[0m flattened_outputs \u001b[38;5;241m=\u001b[39m [\n\u001b[1;32m 536\u001b[0m LLMResult(generations\u001b[38;5;241m=\u001b[39m[res\u001b[38;5;241m.\u001b[39mgenerations], llm_output\u001b[38;5;241m=\u001b[39mres\u001b[38;5;241m.\u001b[39mllm_output) \u001b[38;5;66;03m# type: ignore[list-item]\u001b[39;00m\n\u001b[1;32m 537\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m res \u001b[38;5;129;01min\u001b[39;00m results\n\u001b[1;32m 538\u001b[0m ]\n\u001b[1;32m 539\u001b[0m llm_output \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_combine_llm_outputs([res\u001b[38;5;241m.\u001b[39mllm_output \u001b[38;5;28;01mfor\u001b[39;00m res \u001b[38;5;129;01min\u001b[39;00m results])\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:524\u001b[0m, in \u001b[0;36mBaseChatModel.generate\u001b[0;34m(self, messages, stop, callbacks, tags, metadata, run_name, run_id, **kwargs)\u001b[0m\n\u001b[1;32m 521\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(messages):\n\u001b[1;32m 522\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 523\u001b[0m results\u001b[38;5;241m.\u001b[39mappend(\n\u001b[0;32m--> 524\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_generate_with_cache\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 525\u001b[0m \u001b[43m \u001b[49m\u001b[43mm\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 526\u001b[0m \u001b[43m \u001b[49m\u001b[43mstop\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstop\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 527\u001b[0m \u001b[43m \u001b[49m\u001b[43mrun_manager\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrun_managers\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m]\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mrun_managers\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01melse\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 528\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 529\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 530\u001b[0m )\n\u001b[1;32m 531\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 532\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m run_managers:\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:749\u001b[0m, in \u001b[0;36mBaseChatModel._generate_with_cache\u001b[0;34m(self, messages, stop, run_manager, **kwargs)\u001b[0m\n\u001b[1;32m 747\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 748\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m inspect\u001b[38;5;241m.\u001b[39msignature(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_generate)\u001b[38;5;241m.\u001b[39mparameters\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrun_manager\u001b[39m\u001b[38;5;124m\"\u001b[39m):\n\u001b[0;32m--> 749\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_generate\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 750\u001b[0m \u001b[43m \u001b[49m\u001b[43mmessages\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstop\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstop\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrun_manager\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrun_manager\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\n\u001b[1;32m 751\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 752\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 753\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_generate(messages, stop\u001b[38;5;241m=\u001b[39mstop, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_anthropic/chat_models.py:757\u001b[0m, in \u001b[0;36mChatAnthropic._generate\u001b[0;34m(self, messages, stop, run_manager, **kwargs)\u001b[0m\n\u001b[1;32m 755\u001b[0m payload \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_request_payload(messages, stop\u001b[38;5;241m=\u001b[39mstop, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 756\u001b[0m data \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_client\u001b[38;5;241m.\u001b[39mmessages\u001b[38;5;241m.\u001b[39mcreate(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mpayload)\n\u001b[0;32m--> 757\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_format_output\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_anthropic/chat_models.py:717\u001b[0m, in \u001b[0;36mChatAnthropic._format_output\u001b[0;34m(self, data, **kwargs)\u001b[0m\n\u001b[1;32m 716\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_format_output\u001b[39m(\u001b[38;5;28mself\u001b[39m, data: Any, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m ChatResult:\n\u001b[0;32m--> 717\u001b[0m data_dict \u001b[38;5;241m=\u001b[39m \u001b[43mdata\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel_dump\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 718\u001b[0m content \u001b[38;5;241m=\u001b[39m data_dict[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcontent\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 719\u001b[0m llm_output \u001b[38;5;241m=\u001b[39m {\n\u001b[1;32m 720\u001b[0m k: v \u001b[38;5;28;01mfor\u001b[39;00m k, v \u001b[38;5;129;01min\u001b[39;00m data_dict\u001b[38;5;241m.\u001b[39mitems() \u001b[38;5;28;01mif\u001b[39;00m k \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m (\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcontent\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrole\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtype\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 721\u001b[0m }\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/pydantic/main.py:301\u001b[0m, in \u001b[0;36mBaseModel.model_dump\u001b[0;34m(self, mode, include, exclude, by_alias, exclude_unset, exclude_defaults, exclude_none, round_trip, warnings)\u001b[0m\n\u001b[1;32m 268\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mmodel_dump\u001b[39m(\n\u001b[1;32m 269\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 270\u001b[0m \u001b[38;5;241m*\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 279\u001b[0m warnings: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[1;32m 280\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28mdict\u001b[39m[\u001b[38;5;28mstr\u001b[39m, Any]:\n\u001b[1;32m 281\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Usage docs: https://docs.pydantic.dev/dev-v2/usage/serialization/#modelmodel_dump\u001b[39;00m\n\u001b[1;32m 282\u001b[0m \n\u001b[1;32m 283\u001b[0m \u001b[38;5;124;03m Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 299\u001b[0m \u001b[38;5;124;03m A dictionary representation of the model.\u001b[39;00m\n\u001b[1;32m 300\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 301\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m__pydantic_serializer__\u001b[49m\u001b[38;5;241m.\u001b[39mto_python(\n\u001b[1;32m 302\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 303\u001b[0m mode\u001b[38;5;241m=\u001b[39mmode,\n\u001b[1;32m 304\u001b[0m by_alias\u001b[38;5;241m=\u001b[39mby_alias,\n\u001b[1;32m 305\u001b[0m include\u001b[38;5;241m=\u001b[39minclude,\n\u001b[1;32m 306\u001b[0m exclude\u001b[38;5;241m=\u001b[39mexclude,\n\u001b[1;32m 307\u001b[0m exclude_unset\u001b[38;5;241m=\u001b[39mexclude_unset,\n\u001b[1;32m 308\u001b[0m exclude_defaults\u001b[38;5;241m=\u001b[39mexclude_defaults,\n\u001b[1;32m 309\u001b[0m exclude_none\u001b[38;5;241m=\u001b[39mexclude_none,\n\u001b[1;32m 310\u001b[0m round_trip\u001b[38;5;241m=\u001b[39mround_trip,\n\u001b[1;32m 311\u001b[0m warnings\u001b[38;5;241m=\u001b[39mwarnings,\n\u001b[1;32m 312\u001b[0m )\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/pydantic/main.py:720\u001b[0m, in \u001b[0;36mBaseModel.__getattr__\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 718\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m pydantic_extra[item]\n\u001b[1;32m 719\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[0;32m--> 720\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mAttributeError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mtype\u001b[39m(\u001b[38;5;28mself\u001b[39m)\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m object has no attribute \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mitem\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m'\u001b[39m) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mexc\u001b[39;00m\n\u001b[1;32m 721\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 722\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__class__\u001b[39m, item):\n", + "\u001b[0;31mAttributeError\u001b[0m: 'Message' object has no attribute '__pydantic_serializer__'" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Failed to batch ingest runs: LangSmithRateLimitError('Rate limit exceeded for https://api.smith.langchain.com/runs/batch. HTTPError(\\'429 Client Error: Too Many Requests for url: https://api.smith.langchain.com/runs/batch\\', \\'{\"detail\":\"Usage limit monthly_traces of 10000 exceeded\"}\\')')\n" + ] + } + ], + "source": [ + "#anthropic\n", + "from langchain_anthropic import ChatAnthropic\n", + "\n", + "model_name, api_key = os.environ.get(\"LLM_MODEL_CONFIG_anthropic-claude-3-5-sonnet\").split(',')\n", + "anthropic_llm = ChatAnthropic(\n", + " api_key=api_key,\n", + " model=model_name, #claude-3-5-sonnet-20240620\n", + " temperature=0,\n", + " timeout=None\n", + " ) \n", + "\n", + "llm_transformer = LLMGraphTransformer(llm=anthropic_llm, node_properties=[\"description\"])\n", + "llm_transformer.convert_to_graph_documents(docs)" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'Message' object has no attribute '__pydantic_serializer__'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/pydantic/main.py:718\u001b[0m, in \u001b[0;36mBaseModel.__getattr__\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 717\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 718\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mpydantic_extra\u001b[49m\u001b[43m[\u001b[49m\u001b[43mitem\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 719\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n", + "\u001b[0;31mKeyError\u001b[0m: '__pydantic_serializer__'", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[38], line 13\u001b[0m\n\u001b[1;32m 5\u001b[0m anthropic_llm \u001b[38;5;241m=\u001b[39m ChatAnthropic(\n\u001b[1;32m 6\u001b[0m api_key\u001b[38;5;241m=\u001b[39mapi_key,\n\u001b[1;32m 7\u001b[0m model\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mclaude-3-opus-20240229\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;66;03m#claude-3-opus-20240229\u001b[39;00m\n\u001b[1;32m 8\u001b[0m temperature\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m,\n\u001b[1;32m 9\u001b[0m timeout\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 10\u001b[0m ) \n\u001b[1;32m 12\u001b[0m llm_transformer \u001b[38;5;241m=\u001b[39m LLMGraphTransformer(llm\u001b[38;5;241m=\u001b[39manthropic_llm, node_properties\u001b[38;5;241m=\u001b[39m[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdescription\u001b[39m\u001b[38;5;124m\"\u001b[39m])\n\u001b[0;32m---> 13\u001b[0m \u001b[43mllm_transformer\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconvert_to_graph_documents\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdocs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_experimental/graph_transformers/llm.py:646\u001b[0m, in \u001b[0;36mLLMGraphTransformer.convert_to_graph_documents\u001b[0;34m(self, documents)\u001b[0m\n\u001b[1;32m 634\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mconvert_to_graph_documents\u001b[39m(\n\u001b[1;32m 635\u001b[0m \u001b[38;5;28mself\u001b[39m, documents: Sequence[Document]\n\u001b[1;32m 636\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m List[GraphDocument]:\n\u001b[1;32m 637\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Convert a sequence of documents into graph documents.\u001b[39;00m\n\u001b[1;32m 638\u001b[0m \n\u001b[1;32m 639\u001b[0m \u001b[38;5;124;03m Args:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 644\u001b[0m \u001b[38;5;124;03m Sequence[GraphDocument]: The transformed documents as graphs.\u001b[39;00m\n\u001b[1;32m 645\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 646\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m [\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprocess_response(document) \u001b[38;5;28;01mfor\u001b[39;00m document \u001b[38;5;129;01min\u001b[39;00m documents]\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_experimental/graph_transformers/llm.py:646\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 634\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mconvert_to_graph_documents\u001b[39m(\n\u001b[1;32m 635\u001b[0m \u001b[38;5;28mself\u001b[39m, documents: Sequence[Document]\n\u001b[1;32m 636\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m List[GraphDocument]:\n\u001b[1;32m 637\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Convert a sequence of documents into graph documents.\u001b[39;00m\n\u001b[1;32m 638\u001b[0m \n\u001b[1;32m 639\u001b[0m \u001b[38;5;124;03m Args:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 644\u001b[0m \u001b[38;5;124;03m Sequence[GraphDocument]: The transformed documents as graphs.\u001b[39;00m\n\u001b[1;32m 645\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 646\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m [\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mprocess_response\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdocument\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m document \u001b[38;5;129;01min\u001b[39;00m documents]\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_experimental/graph_transformers/llm.py:588\u001b[0m, in \u001b[0;36mLLMGraphTransformer.process_response\u001b[0;34m(self, document)\u001b[0m\n\u001b[1;32m 583\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 584\u001b[0m \u001b[38;5;124;03mProcesses a single document, transforming it into a graph document using\u001b[39;00m\n\u001b[1;32m 585\u001b[0m \u001b[38;5;124;03man LLM based on the model's schema and constraints.\u001b[39;00m\n\u001b[1;32m 586\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 587\u001b[0m text \u001b[38;5;241m=\u001b[39m document\u001b[38;5;241m.\u001b[39mpage_content\n\u001b[0;32m--> 588\u001b[0m raw_schema \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mchain\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minvoke\u001b[49m\u001b[43m(\u001b[49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43minput\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtext\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 589\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_function_call:\n\u001b[1;32m 590\u001b[0m raw_schema \u001b[38;5;241m=\u001b[39m cast(Dict[Any, Any], raw_schema)\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/runnables/base.py:2507\u001b[0m, in \u001b[0;36mRunnableSequence.invoke\u001b[0;34m(self, input, config, **kwargs)\u001b[0m\n\u001b[1;32m 2505\u001b[0m \u001b[38;5;28minput\u001b[39m \u001b[38;5;241m=\u001b[39m step\u001b[38;5;241m.\u001b[39minvoke(\u001b[38;5;28minput\u001b[39m, config, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 2506\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 2507\u001b[0m \u001b[38;5;28minput\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[43mstep\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minvoke\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconfig\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2508\u001b[0m \u001b[38;5;66;03m# finish the root run\u001b[39;00m\n\u001b[1;32m 2509\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/runnables/base.py:3152\u001b[0m, in \u001b[0;36mRunnableParallel.invoke\u001b[0;34m(self, input, config)\u001b[0m\n\u001b[1;32m 3139\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m get_executor_for_config(config) \u001b[38;5;28;01mas\u001b[39;00m executor:\n\u001b[1;32m 3140\u001b[0m futures \u001b[38;5;241m=\u001b[39m [\n\u001b[1;32m 3141\u001b[0m executor\u001b[38;5;241m.\u001b[39msubmit(\n\u001b[1;32m 3142\u001b[0m step\u001b[38;5;241m.\u001b[39minvoke,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 3150\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m key, step \u001b[38;5;129;01min\u001b[39;00m steps\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 3151\u001b[0m ]\n\u001b[0;32m-> 3152\u001b[0m output \u001b[38;5;241m=\u001b[39m {key: future\u001b[38;5;241m.\u001b[39mresult() \u001b[38;5;28;01mfor\u001b[39;00m key, future \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mzip\u001b[39m(steps, futures)}\n\u001b[1;32m 3153\u001b[0m \u001b[38;5;66;03m# finish the root run\u001b[39;00m\n\u001b[1;32m 3154\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/runnables/base.py:3152\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 3139\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m get_executor_for_config(config) \u001b[38;5;28;01mas\u001b[39;00m executor:\n\u001b[1;32m 3140\u001b[0m futures \u001b[38;5;241m=\u001b[39m [\n\u001b[1;32m 3141\u001b[0m executor\u001b[38;5;241m.\u001b[39msubmit(\n\u001b[1;32m 3142\u001b[0m step\u001b[38;5;241m.\u001b[39minvoke,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 3150\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m key, step \u001b[38;5;129;01min\u001b[39;00m steps\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 3151\u001b[0m ]\n\u001b[0;32m-> 3152\u001b[0m output \u001b[38;5;241m=\u001b[39m {key: \u001b[43mfuture\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m key, future \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mzip\u001b[39m(steps, futures)}\n\u001b[1;32m 3153\u001b[0m \u001b[38;5;66;03m# finish the root run\u001b[39;00m\n\u001b[1;32m 3154\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/concurrent/futures/_base.py:458\u001b[0m, in \u001b[0;36mFuture.result\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 456\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m CancelledError()\n\u001b[1;32m 457\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;241m==\u001b[39m FINISHED:\n\u001b[0;32m--> 458\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m__get_result\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 459\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 460\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTimeoutError\u001b[39;00m()\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/concurrent/futures/_base.py:403\u001b[0m, in \u001b[0;36mFuture.__get_result\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 401\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception:\n\u001b[1;32m 402\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 403\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception\n\u001b[1;32m 404\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 405\u001b[0m \u001b[38;5;66;03m# Break a reference cycle with the exception in self._exception\u001b[39;00m\n\u001b[1;32m 406\u001b[0m \u001b[38;5;28mself\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/concurrent/futures/thread.py:58\u001b[0m, in \u001b[0;36m_WorkItem.run\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 58\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 59\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[1;32m 60\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfuture\u001b[38;5;241m.\u001b[39mset_exception(exc)\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/runnables/base.py:4588\u001b[0m, in \u001b[0;36mRunnableBindingBase.invoke\u001b[0;34m(self, input, config, **kwargs)\u001b[0m\n\u001b[1;32m 4582\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21minvoke\u001b[39m(\n\u001b[1;32m 4583\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 4584\u001b[0m \u001b[38;5;28minput\u001b[39m: Input,\n\u001b[1;32m 4585\u001b[0m config: Optional[RunnableConfig] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[1;32m 4586\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Optional[Any],\n\u001b[1;32m 4587\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Output:\n\u001b[0;32m-> 4588\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbound\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minvoke\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 4589\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 4590\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_merge_configs\u001b[49m\u001b[43m(\u001b[49m\u001b[43mconfig\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 4591\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m{\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 4592\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:248\u001b[0m, in \u001b[0;36mBaseChatModel.invoke\u001b[0;34m(self, input, config, stop, **kwargs)\u001b[0m\n\u001b[1;32m 237\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21minvoke\u001b[39m(\n\u001b[1;32m 238\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 239\u001b[0m \u001b[38;5;28minput\u001b[39m: LanguageModelInput,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 243\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any,\n\u001b[1;32m 244\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m BaseMessage:\n\u001b[1;32m 245\u001b[0m config \u001b[38;5;241m=\u001b[39m ensure_config(config)\n\u001b[1;32m 246\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m cast(\n\u001b[1;32m 247\u001b[0m ChatGeneration,\n\u001b[0;32m--> 248\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgenerate_prompt\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 249\u001b[0m \u001b[43m \u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_convert_input\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 250\u001b[0m \u001b[43m \u001b[49m\u001b[43mstop\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstop\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 251\u001b[0m \u001b[43m \u001b[49m\u001b[43mcallbacks\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcallbacks\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 252\u001b[0m \u001b[43m \u001b[49m\u001b[43mtags\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtags\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 253\u001b[0m \u001b[43m \u001b[49m\u001b[43mmetadata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmetadata\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 254\u001b[0m \u001b[43m \u001b[49m\u001b[43mrun_name\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mrun_name\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 255\u001b[0m \u001b[43m \u001b[49m\u001b[43mrun_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpop\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mrun_id\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 256\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 257\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mgenerations[\u001b[38;5;241m0\u001b[39m][\u001b[38;5;241m0\u001b[39m],\n\u001b[1;32m 258\u001b[0m )\u001b[38;5;241m.\u001b[39mmessage\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:677\u001b[0m, in \u001b[0;36mBaseChatModel.generate_prompt\u001b[0;34m(self, prompts, stop, callbacks, **kwargs)\u001b[0m\n\u001b[1;32m 669\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mgenerate_prompt\u001b[39m(\n\u001b[1;32m 670\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 671\u001b[0m prompts: List[PromptValue],\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 674\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any,\n\u001b[1;32m 675\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m LLMResult:\n\u001b[1;32m 676\u001b[0m prompt_messages \u001b[38;5;241m=\u001b[39m [p\u001b[38;5;241m.\u001b[39mto_messages() \u001b[38;5;28;01mfor\u001b[39;00m p \u001b[38;5;129;01min\u001b[39;00m prompts]\n\u001b[0;32m--> 677\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgenerate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mprompt_messages\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstop\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstop\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcallbacks\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcallbacks\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:534\u001b[0m, in \u001b[0;36mBaseChatModel.generate\u001b[0;34m(self, messages, stop, callbacks, tags, metadata, run_name, run_id, **kwargs)\u001b[0m\n\u001b[1;32m 532\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m run_managers:\n\u001b[1;32m 533\u001b[0m run_managers[i]\u001b[38;5;241m.\u001b[39mon_llm_error(e, response\u001b[38;5;241m=\u001b[39mLLMResult(generations\u001b[38;5;241m=\u001b[39m[]))\n\u001b[0;32m--> 534\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m e\n\u001b[1;32m 535\u001b[0m flattened_outputs \u001b[38;5;241m=\u001b[39m [\n\u001b[1;32m 536\u001b[0m LLMResult(generations\u001b[38;5;241m=\u001b[39m[res\u001b[38;5;241m.\u001b[39mgenerations], llm_output\u001b[38;5;241m=\u001b[39mres\u001b[38;5;241m.\u001b[39mllm_output) \u001b[38;5;66;03m# type: ignore[list-item]\u001b[39;00m\n\u001b[1;32m 537\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m res \u001b[38;5;129;01min\u001b[39;00m results\n\u001b[1;32m 538\u001b[0m ]\n\u001b[1;32m 539\u001b[0m llm_output \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_combine_llm_outputs([res\u001b[38;5;241m.\u001b[39mllm_output \u001b[38;5;28;01mfor\u001b[39;00m res \u001b[38;5;129;01min\u001b[39;00m results])\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:524\u001b[0m, in \u001b[0;36mBaseChatModel.generate\u001b[0;34m(self, messages, stop, callbacks, tags, metadata, run_name, run_id, **kwargs)\u001b[0m\n\u001b[1;32m 521\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(messages):\n\u001b[1;32m 522\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 523\u001b[0m results\u001b[38;5;241m.\u001b[39mappend(\n\u001b[0;32m--> 524\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_generate_with_cache\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 525\u001b[0m \u001b[43m \u001b[49m\u001b[43mm\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 526\u001b[0m \u001b[43m \u001b[49m\u001b[43mstop\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstop\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 527\u001b[0m \u001b[43m \u001b[49m\u001b[43mrun_manager\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrun_managers\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m]\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mrun_managers\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01melse\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 528\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 529\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 530\u001b[0m )\n\u001b[1;32m 531\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 532\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m run_managers:\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:749\u001b[0m, in \u001b[0;36mBaseChatModel._generate_with_cache\u001b[0;34m(self, messages, stop, run_manager, **kwargs)\u001b[0m\n\u001b[1;32m 747\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 748\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m inspect\u001b[38;5;241m.\u001b[39msignature(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_generate)\u001b[38;5;241m.\u001b[39mparameters\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrun_manager\u001b[39m\u001b[38;5;124m\"\u001b[39m):\n\u001b[0;32m--> 749\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_generate\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 750\u001b[0m \u001b[43m \u001b[49m\u001b[43mmessages\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstop\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstop\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrun_manager\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrun_manager\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\n\u001b[1;32m 751\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 752\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 753\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_generate(messages, stop\u001b[38;5;241m=\u001b[39mstop, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_anthropic/chat_models.py:757\u001b[0m, in \u001b[0;36mChatAnthropic._generate\u001b[0;34m(self, messages, stop, run_manager, **kwargs)\u001b[0m\n\u001b[1;32m 755\u001b[0m payload \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_request_payload(messages, stop\u001b[38;5;241m=\u001b[39mstop, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 756\u001b[0m data \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_client\u001b[38;5;241m.\u001b[39mmessages\u001b[38;5;241m.\u001b[39mcreate(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mpayload)\n\u001b[0;32m--> 757\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_format_output\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_anthropic/chat_models.py:717\u001b[0m, in \u001b[0;36mChatAnthropic._format_output\u001b[0;34m(self, data, **kwargs)\u001b[0m\n\u001b[1;32m 716\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_format_output\u001b[39m(\u001b[38;5;28mself\u001b[39m, data: Any, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m ChatResult:\n\u001b[0;32m--> 717\u001b[0m data_dict \u001b[38;5;241m=\u001b[39m \u001b[43mdata\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel_dump\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 718\u001b[0m content \u001b[38;5;241m=\u001b[39m data_dict[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcontent\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 719\u001b[0m llm_output \u001b[38;5;241m=\u001b[39m {\n\u001b[1;32m 720\u001b[0m k: v \u001b[38;5;28;01mfor\u001b[39;00m k, v \u001b[38;5;129;01min\u001b[39;00m data_dict\u001b[38;5;241m.\u001b[39mitems() \u001b[38;5;28;01mif\u001b[39;00m k \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m (\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcontent\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrole\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtype\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 721\u001b[0m }\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/pydantic/main.py:301\u001b[0m, in \u001b[0;36mBaseModel.model_dump\u001b[0;34m(self, mode, include, exclude, by_alias, exclude_unset, exclude_defaults, exclude_none, round_trip, warnings)\u001b[0m\n\u001b[1;32m 268\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mmodel_dump\u001b[39m(\n\u001b[1;32m 269\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 270\u001b[0m \u001b[38;5;241m*\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 279\u001b[0m warnings: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[1;32m 280\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28mdict\u001b[39m[\u001b[38;5;28mstr\u001b[39m, Any]:\n\u001b[1;32m 281\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Usage docs: https://docs.pydantic.dev/dev-v2/usage/serialization/#modelmodel_dump\u001b[39;00m\n\u001b[1;32m 282\u001b[0m \n\u001b[1;32m 283\u001b[0m \u001b[38;5;124;03m Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 299\u001b[0m \u001b[38;5;124;03m A dictionary representation of the model.\u001b[39;00m\n\u001b[1;32m 300\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 301\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m__pydantic_serializer__\u001b[49m\u001b[38;5;241m.\u001b[39mto_python(\n\u001b[1;32m 302\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 303\u001b[0m mode\u001b[38;5;241m=\u001b[39mmode,\n\u001b[1;32m 304\u001b[0m by_alias\u001b[38;5;241m=\u001b[39mby_alias,\n\u001b[1;32m 305\u001b[0m include\u001b[38;5;241m=\u001b[39minclude,\n\u001b[1;32m 306\u001b[0m exclude\u001b[38;5;241m=\u001b[39mexclude,\n\u001b[1;32m 307\u001b[0m exclude_unset\u001b[38;5;241m=\u001b[39mexclude_unset,\n\u001b[1;32m 308\u001b[0m exclude_defaults\u001b[38;5;241m=\u001b[39mexclude_defaults,\n\u001b[1;32m 309\u001b[0m exclude_none\u001b[38;5;241m=\u001b[39mexclude_none,\n\u001b[1;32m 310\u001b[0m round_trip\u001b[38;5;241m=\u001b[39mround_trip,\n\u001b[1;32m 311\u001b[0m warnings\u001b[38;5;241m=\u001b[39mwarnings,\n\u001b[1;32m 312\u001b[0m )\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/pydantic/main.py:720\u001b[0m, in \u001b[0;36mBaseModel.__getattr__\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 718\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m pydantic_extra[item]\n\u001b[1;32m 719\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[0;32m--> 720\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mAttributeError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mtype\u001b[39m(\u001b[38;5;28mself\u001b[39m)\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m object has no attribute \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mitem\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m'\u001b[39m) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mexc\u001b[39;00m\n\u001b[1;32m 721\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 722\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__class__\u001b[39m, item):\n", + "\u001b[0;31mAttributeError\u001b[0m: 'Message' object has no attribute '__pydantic_serializer__'" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Failed to batch ingest runs: LangSmithRateLimitError('Rate limit exceeded for https://api.smith.langchain.com/runs/batch. HTTPError(\\'429 Client Error: Too Many Requests for url: https://api.smith.langchain.com/runs/batch\\', \\'{\"detail\":\"Usage limit monthly_traces of 10000 exceeded\"}\\')')\n", + "Failed to batch ingest runs: LangSmithRateLimitError('Rate limit exceeded for https://api.smith.langchain.com/runs/batch. HTTPError(\\'429 Client Error: Too Many Requests for url: https://api.smith.langchain.com/runs/batch\\', \\'{\"detail\":\"Usage limit monthly_traces of 10000 exceeded\"}\\')')\n" + ] + } + ], + "source": [ + "#anthropic\n", + "from langchain_anthropic import ChatAnthropic\n", + "\n", + "model_name, api_key = os.environ.get(\"LLM_MODEL_CONFIG_anthropic-claude-3-5-sonnet\").split(',')\n", + "anthropic_llm = ChatAnthropic(\n", + " api_key=api_key,\n", + " model=model_name, #claude-3-opus-20240229\n", + " temperature=0,\n", + " timeout=None\n", + " ) \n", + "\n", + "llm_transformer = LLMGraphTransformer(llm=anthropic_llm, node_properties=[\"description\"])\n", + "llm_transformer.convert_to_graph_documents(docs)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Fireworks" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[GraphDocument(nodes=[], relationships=[], source=Document(page_content='Stephen Hawking (born January 8, 1942, Oxford, Oxfordshire, England—died March 14, 2018, Cambridge, \\nCambridgeshire) was an English theoretical physicist whose theory of exploding black holes drew upon both relativity \\ntheory and quantum mechanics. He also worked with space-time singularities.\\nHawking studied physics at University College, Oxford (B.A., 1962), and Trinity Hall, Cambridge (Ph.D., 1966). \\nHe was elected a research fellow at Gonville and Caius College at Cambridge. In the early 1960s Hawking contracted \\namyotrophic lateral sclerosis, an incurable degenerative neuromuscular disease. He continued to work despite the \\ndisease’s progressively disabling effects.Hawking worked primarily in the field of general relativity and particularly \\non the physics of black holes. In 1971 he suggested the formation, following the big bang, of numerous objects \\ncontaining as much as one billion tons of mass but occupying only the space of a proton. These objects, called \\nmini black holes, are unique in that their immense mass and gravity require that they be ruled by the laws of \\nrelativity, while their minute size requires that the laws of quantum mechanics apply to them also.'))]" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#fireworks\n", + "from langchain_fireworks import ChatFireworks\n", + "\n", + "model_name, api_key = os.environ.get(\"LLM_MODEL_CONFIG_fireworks-llama-v3-70b\").split(',')\n", + "fireworks_llm = ChatFireworks(\n", + " api_key=api_key,\n", + " model=model_name #accounts/fireworks/models/llama-v3-70b-instruct\n", + " ) \n", + "llm_transformer = LLMGraphTransformer(llm=fireworks_llm, node_properties=[\"description\"])\n", + "llm_transformer.convert_to_graph_documents(docs)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Ollama" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "The 'node_properties' parameter cannot be used in combination with a LLM that doesn't support native function calling.", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[42], line 9\u001b[0m\n\u001b[1;32m 4\u001b[0m model_name,base_url\u001b[38;5;241m=\u001b[39mos\u001b[38;5;241m.\u001b[39menviron\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mLLM_MODEL_CONFIG_ollama_llama3\u001b[39m\u001b[38;5;124m\"\u001b[39m)\u001b[38;5;241m.\u001b[39msplit(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m,\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 5\u001b[0m ollama_llm \u001b[38;5;241m=\u001b[39m ChatOllama(\n\u001b[1;32m 6\u001b[0m base_url \u001b[38;5;241m=\u001b[39m base_url, \u001b[38;5;66;03m#http://localhost:11434\u001b[39;00m\n\u001b[1;32m 7\u001b[0m model\u001b[38;5;241m=\u001b[39mmodel_name \u001b[38;5;66;03m#llama3\u001b[39;00m\n\u001b[1;32m 8\u001b[0m )\n\u001b[0;32m----> 9\u001b[0m llm_transformer \u001b[38;5;241m=\u001b[39m \u001b[43mLLMGraphTransformer\u001b[49m\u001b[43m(\u001b[49m\u001b[43mllm\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mollama_llm\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnode_properties\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdescription\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 10\u001b[0m llm_transformer\u001b[38;5;241m.\u001b[39mconvert_to_graph_documents(docs)\n", + "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_experimental/graph_transformers/llm.py:555\u001b[0m, in \u001b[0;36mLLMGraphTransformer.__init__\u001b[0;34m(self, llm, allowed_nodes, allowed_relationships, prompt, strict_mode, node_properties)\u001b[0m\n\u001b[1;32m 553\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_function_call:\n\u001b[1;32m 554\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m node_properties:\n\u001b[0;32m--> 555\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 556\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mnode_properties\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m parameter cannot be used \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 557\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124min combination with a LLM that doesn\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt support \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 558\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnative function calling.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 559\u001b[0m )\n\u001b[1;32m 560\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 561\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mjson_repair\u001b[39;00m\n", + "\u001b[0;31mValueError\u001b[0m: The 'node_properties' parameter cannot be used in combination with a LLM that doesn't support native function calling." + ] + } + ], + "source": [ + "#ollama\n", + "from langchain_community.chat_models import ChatOllama\n", + "\n", + "model_name,base_url=os.environ.get(\"LLM_MODEL_CONFIG_ollama_llama3\").split(',')\n", + "ollama_llm = ChatOllama(\n", + " base_url = base_url, #http://localhost:11434\n", + " model=model_name #llama3\n", + " )\n", + "llm_transformer = LLMGraphTransformer(llm=ollama_llm, node_properties=[\"description\"])\n", + "llm_transformer.convert_to_graph_documents(docs)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Failed to batch ingest runs: LangSmithRateLimitError('Rate limit exceeded for https://api.smith.langchain.com/runs/batch. HTTPError(\\'429 Client Error: Too Many Requests for url: https://api.smith.langchain.com/runs/batch\\', \\'{\"detail\":\"Usage limit monthly_traces of 10000 exceeded\"}\\')')\n" + ] + }, + { + "data": { + "text/plain": [ + "[GraphDocument(nodes=[Node(id='field of general relativity', type='Field'), Node(id='amyotrophic lateral sclerosis', type='Condition'), Node(id='physics of black holes', type='Topic'), Node(id='University College, Oxford', type='Education'), Node(id='Stephen Hawking', type='Person'), Node(id='Gonville and Caius College at Cambridge', type='Institution'), Node(id='Trinity Hall, Cambridge', type='Education')], relationships=[Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='University College, Oxford', type='Education'), type='WORKED_AT'), Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='Trinity Hall, Cambridge', type='Education'), type='STUDIED_at'), Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='Gonville and Caius College at Cambridge', type='Institution'), type='WORKED_AT'), Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='amyotrophic lateral sclerosis', type='Condition'), type='HAD_CONDITION'), Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='field of general relativity', type='Field'), type='WORKED_IN'), Relationship(source=Node(id='Stephen Hawking', type='Person'), target=Node(id='physics of black holes', type='Topic'), type='WORKED_ON')], source=Document(page_content='Stephen Hawking (born January 8, 1942, Oxford, Oxfordshire, England—died March 14, 2018, Cambridge, \\nCambridgeshire) was an English theoretical physicist whose theory of exploding black holes drew upon both relativity \\ntheory and quantum mechanics. He also worked with space-time singularities.\\nHawking studied physics at University College, Oxford (B.A., 1962), and Trinity Hall, Cambridge (Ph.D., 1966). \\nHe was elected a research fellow at Gonville and Caius College at Cambridge. In the early 1960s Hawking contracted \\namyotrophic lateral sclerosis, an incurable degenerative neuromuscular disease. He continued to work despite the \\ndisease’s progressively disabling effects.Hawking worked primarily in the field of general relativity and particularly \\non the physics of black holes. In 1971 he suggested the formation, following the big bang, of numerous objects \\ncontaining as much as one billion tons of mass but occupying only the space of a proton. These objects, called \\nmini black holes, are unique in that their immense mass and gravity require that they be ruled by the laws of \\nrelativity, while their minute size requires that the laws of quantum mechanics apply to them also.'))]" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Failed to batch ingest runs: LangSmithRateLimitError('Rate limit exceeded for https://api.smith.langchain.com/runs/batch. HTTPError(\\'429 Client Error: Too Many Requests for url: https://api.smith.langchain.com/runs/batch\\', \\'{\"detail\":\"Usage limit monthly_traces of 10000 exceeded\"}\\')')\n", + "Failed to batch ingest runs: LangSmithRateLimitError('Rate limit exceeded for https://api.smith.langchain.com/runs/batch. HTTPError(\\'429 Client Error: Too Many Requests for url: https://api.smith.langchain.com/runs/batch\\', \\'{\"detail\":\"Usage limit monthly_traces of 10000 exceeded\"}\\')')\n" + ] + } + ], + "source": [ + "#ollama\n", + "from langchain_community.chat_models import ChatOllama\n", + "\n", + "model_name,base_url=os.environ.get(\"LLM_MODEL_CONFIG_ollama_llama3\").split(',')\n", + "ollama_llm = ChatOllama(\n", + " base_url = base_url, #http://localhost:11434\n", + " model=model_name #llama3\n", + " )\n", + "llm_transformer = LLMGraphTransformer(llm=ollama_llm, node_properties=False)\n", + "llm_transformer.convert_to_graph_documents(docs)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Observations -\n", + "\n", + "Azure OpenAi - Both gpt-35 and gpt4o models are able to extract nodes and relations\n", + "\n", + "Bedrock - Not able to create nodes and relations\n", + "\n", + "Anthropic - AttributeError: 'Message' object has no attribute '__pydantic_serializer__'\n", + "\n", + "FireWorks -Not able to create nodes and relations\n", + "\n", + "Ollama - With node_properties as parameter in LLMGraphTransformer, getting error - 'node_properties' parameter cannot be used in combination with a LLM that doesn't support native function calling.\n", + "But working with node_properties=False\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 7e166bda8..3bf2e9409 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -10,6 +10,7 @@ ARG TIME_PER_CHUNK=4 ARG TIME_PER_PAGE=50 ARG LARGE_FILE_SIZE=5242880 ARG CHUNK_SIZE=5242880 +ARG CHAT_MODES="" ARG ENV="DEV" WORKDIR /app @@ -26,6 +27,7 @@ RUN BACKEND_API_URL=$BACKEND_API_URL \ CHUNK_SIZE=$CHUNK_SIZE \ ENV=$ENV \ LARGE_FILE_SIZE=${LARGE_FILE_SIZE} \ + CHAT_MODES=$CHAT_MODES \ yarn run build # Step 2: Serve the application using Nginx diff --git a/frontend/README.md b/frontend/README.md index 7f7f7b087..11a830c70 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,6 +1,6 @@ # Neo4j Knowledge Graph Builder -Reactjs Responsive app for building an knowledge graph using [Neo4j Needle](https://www.neo4j.design/). +Reactjs app for building an knowledge graph using [Neo4j Needle](https://www.neo4j.design/). ## Features - 🚀 Responsive: Adapts to different screen sizes for optimal user experience. diff --git a/frontend/example.env b/frontend/example.env index bf7a7b03e..0c11aa4ef 100644 --- a/frontend/example.env +++ b/frontend/example.env @@ -1,10 +1,11 @@ BACKEND_API_URL="http://localhost:8000" BLOOM_URL="https://workspace-preview.neo4j.io/workspace/explore?connectURL={CONNECT_URL}&search=Show+me+a+graph&featureGenAISuggestions=true&featureGenAISuggestionsInternal=true" REACT_APP_SOURCES="local,youtube,wiki,s3,web" -LLM_MODELS="diffbot,gpt-3.5,gpt-4o" +LLM_MODELS="diffbot,openai-gpt-3.5,openai-gpt-4o" ENV="DEV" TIME_PER_CHUNK=4 TIME_PER_PAGE=50 CHUNK_SIZE=5242880 LARGE_FILE_SIZE=5242880 -GOOGLE_CLIENT_ID="" \ No newline at end of file +GOOGLE_CLIENT_ID="" +CHAT_MODES="" \ No newline at end of file diff --git a/frontend/package.json b/frontend/package.json index 5a333438b..5e83ede6b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -15,7 +15,8 @@ "@mui/material": "^5.15.10", "@mui/styled-engine": "^5.15.9", "@neo4j-devtools/word-color": "^0.0.8", - "@neo4j-ndl/react": "^2.13.7", + "@neo4j-ndl/base": "^2.11.6", + "@neo4j-ndl/react": "^2.15.10", "@neo4j-nvl/base": "^0.3.1", "@neo4j-nvl/react": "^0.3.1", "@react-oauth/google": "^0.12.1", @@ -25,8 +26,9 @@ "eslint-plugin-react": "^7.33.2", "neo4j-driver": "^5.14.0", "re-resizable": "^6.9.16", - "react": "^18.2.0", - "react-dom": "^18.2.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-icons": "^5.2.1", "react-markdown": "^9.0.1", "react-router": "^6.23.1", "react-router-dom": "^6.23.1", diff --git a/frontend/src/App.css b/frontend/src/App.css index 52d8fcd50..5e3926703 100644 --- a/frontend/src/App.css +++ b/frontend/src/App.css @@ -1,18 +1,18 @@ .filetable { /* width: calc(-360px + 100dvw); */ - height: calc(-322px + 100dvh); + height: calc(-400px + 100dvh); border: 1px solid #d1d5db; } .fileTableWithExpansion { width: calc(-640px + 100dvw) !important; - height: calc(-322px + 100dvh); + height: calc(-400px + 100dvh); border: 1px solid #d1d5db; } .fileTableWithBothDrawers { width: calc(-650px + 100dvw) !important; - height: calc(-322px + 100dvh); + height: calc(-400px + 100dvh); border: 1px solid #d1d5db; } @@ -213,13 +213,13 @@ flex-wrap: wrap; flex: 1; padding: 15px; - background-color: #ffff; + background-color: rgb(var(--theme-palette-neutral-bg-weak)); scrollbar-width: thin; max-height: 100%; overflow-y: auto; height: 100%; z-index: 1; - box-shadow: -2px 0px 6px #e7e7e7; + box-shadow: -2px 0px 6px rgb(var(--theme-palette-neutral-bg-strong)); } .legend { diff --git a/frontend/src/HOC/CustomModal.tsx b/frontend/src/HOC/CustomModal.tsx index 14fb374cd..e756a092d 100644 --- a/frontend/src/HOC/CustomModal.tsx +++ b/frontend/src/HOC/CustomModal.tsx @@ -17,13 +17,12 @@ const CustomModal: React.FC = ({ - + {status !== 'unknown' && ( = ({ )}
{children}
- diff --git a/frontend/src/assets/images/Wikipedia-logo-v2.svg b/frontend/src/assets/images/Wikipedia-logo-v2.svg deleted file mode 100644 index dc32f9848..000000000 --- a/frontend/src/assets/images/Wikipedia-logo-v2.svg +++ /dev/null @@ -1 +0,0 @@ -]>Wikipedia logo version 2 \ No newline at end of file diff --git a/frontend/src/assets/images/data-from-cloud.svg b/frontend/src/assets/images/data-from-cloud.svg new file mode 100644 index 000000000..54c9a89a2 --- /dev/null +++ b/frontend/src/assets/images/data-from-cloud.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/images/graph-enhancements.svg b/frontend/src/assets/images/graph-enhancements.svg new file mode 100644 index 000000000..4b45bb9e5 --- /dev/null +++ b/frontend/src/assets/images/graph-enhancements.svg @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/images/web-darkmode.svg b/frontend/src/assets/images/web-darkmode.svg new file mode 100644 index 000000000..dee748745 --- /dev/null +++ b/frontend/src/assets/images/web-darkmode.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/frontend/src/assets/images/web-search-darkmode-final2.svg b/frontend/src/assets/images/web-search-darkmode-final2.svg new file mode 100644 index 000000000..1cf29a09c --- /dev/null +++ b/frontend/src/assets/images/web-search-darkmode-final2.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/frontend/src/assets/images/web-search-svgrepo-com (2).svg b/frontend/src/assets/images/web-search-svgrepo-com (2).svg new file mode 100644 index 000000000..6181d7714 --- /dev/null +++ b/frontend/src/assets/images/web-search-svgrepo-com (2).svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/frontend/src/assets/images/web.svg b/frontend/src/assets/images/web.svg new file mode 100644 index 000000000..f9cb993f4 --- /dev/null +++ b/frontend/src/assets/images/web.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/frontend/src/assets/images/wikipedia-darkmode.svg b/frontend/src/assets/images/wikipedia-darkmode.svg new file mode 100644 index 000000000..ca644df9b --- /dev/null +++ b/frontend/src/assets/images/wikipedia-darkmode.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/frontend/src/assets/images/wikipedia.svg b/frontend/src/assets/images/wikipedia.svg new file mode 100644 index 000000000..58f5a00b0 --- /dev/null +++ b/frontend/src/assets/images/wikipedia.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/frontend/src/assets/images/youtube-darkmode.svg b/frontend/src/assets/images/youtube-darkmode.svg new file mode 100644 index 000000000..bbcc14c39 --- /dev/null +++ b/frontend/src/assets/images/youtube-darkmode.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/frontend/src/assets/images/youtube-lightmode.svg b/frontend/src/assets/images/youtube-lightmode.svg new file mode 100644 index 000000000..9040340eb --- /dev/null +++ b/frontend/src/assets/images/youtube-lightmode.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/frontend/src/assets/images/youtube.png b/frontend/src/assets/images/youtube.png deleted file mode 100644 index 5abdb7b45..000000000 Binary files a/frontend/src/assets/images/youtube.png and /dev/null differ diff --git a/frontend/src/assets/images/youtube.svg b/frontend/src/assets/images/youtube.svg new file mode 100644 index 000000000..a7fb7054c --- /dev/null +++ b/frontend/src/assets/images/youtube.svg @@ -0,0 +1,17 @@ + + + + + Youtube-color + Created with Sketch. + + + + + + + + + + + \ No newline at end of file diff --git a/frontend/src/components/ChatBot/ChatInfoModal.tsx b/frontend/src/components/ChatBot/ChatInfoModal.tsx new file mode 100644 index 000000000..e82693eb2 --- /dev/null +++ b/frontend/src/components/ChatBot/ChatInfoModal.tsx @@ -0,0 +1,435 @@ +import { + Box, + Typography, + TextLink, + Flex, + Tabs, + LoadingSpinner, + CypherCodeBlock, + CypherCodeBlockProps, + useCopyToClipboard, +} from '@neo4j-ndl/react'; +import { DocumentDuplicateIconOutline, DocumentTextIconOutline } from '@neo4j-ndl/react/icons'; +import '../../styling/info.css'; +import Neo4jRetrievalLogo from '../../assets/images/Neo4jRetrievalLogo.png'; +import wikipedialogo from '../../assets/images/wikipedia.svg'; +import youtubelogo from '../../assets/images/youtube.svg'; +import gcslogo from '../../assets/images/gcs.webp'; +import s3logo from '../../assets/images/s3logo.png'; +import { Chunk, Entity, GroupedEntity, UserCredentials, chatInfoMessage } from '../../types'; +import { useContext, useEffect, useMemo, useState } from 'react'; +import HoverableLink from '../UI/HoverableLink'; +import GraphViewButton from '../Graph/GraphViewButton'; +import { chunkEntitiesAPI } from '../../services/ChunkEntitiesInfo'; +import { useCredentials } from '../../context/UserCredentials'; +import type { Node, Relationship } from '@neo4j-nvl/base'; +import { calcWordColor } from '@neo4j-devtools/word-color'; +import ReactMarkdown from 'react-markdown'; +import { GlobeAltIconOutline } from '@neo4j-ndl/react/icons'; +import { youtubeLinkValidation } from '../../utils/Utils'; +import { ThemeWrapperContext } from '../../context/ThemeWrapper'; +import { ClipboardDocumentCheckIconOutline } from '@neo4j-ndl/react/icons'; + +const ChatInfoModal: React.FC = ({ + sources, + model, + total_tokens, + response_time, + chunk_ids, + mode, + cypher_query, + graphonly_entities, +}) => { + const [activeTab, setActiveTab] = useState(mode === 'graph' ? 4 : 3); + const [infoEntities, setInfoEntities] = useState([]); + const [loading, setLoading] = useState(false); + const { userCredentials } = useCredentials(); + const [nodes, setNodes] = useState([]); + const [relationships, setRelationships] = useState([]); + const [chunks, setChunks] = useState([]); + const themeUtils = useContext(ThemeWrapperContext); + const [, copy] = useCopyToClipboard(); + const [copiedText, setcopiedText] = useState(false); + + const parseEntity = (entity: Entity) => { + const { labels, properties } = entity; + const label = labels[0]; + const text = properties.id; + return { label, text }; + }; + const actions: CypherCodeBlockProps['actions'] = useMemo( + () => [ + { + title: 'copy', + 'aria-label': 'copy', + children: ( + <> + {copiedText ? ( + + ) : ( + + )} + + ), + onClick: () => { + void copy(cypher_query as string); + setcopiedText(true); + }, + }, + ], + [copiedText, cypher_query] + ); + useEffect(() => { + if (mode != 'graph') { + setLoading(true); + chunkEntitiesAPI(userCredentials as UserCredentials, chunk_ids.map((c) => c.id).join(',')) + .then((response) => { + setInfoEntities(response.data.data.nodes); + setNodes(response.data.data.nodes); + setRelationships(response.data.data.relationships); + const chunks = response.data.data.chunk_data.map((chunk: any) => { + const chunkScore = chunk_ids.find((chunkdetail) => chunkdetail.id === chunk.id); + return { + ...chunk, + score: chunkScore?.score, + }; + }); + const sortedchunks = chunks.sort((a: any, b: any) => b.score - a.score); + setChunks(sortedchunks); + setLoading(false); + }) + .catch((error) => { + console.error('Error fetching entities:', error); + setLoading(false); + }); + } + + () => { + setcopiedText(false); + }; + }, [chunk_ids, mode]); + const groupedEntities = useMemo<{ [key: string]: GroupedEntity }>(() => { + return infoEntities.reduce((acc, entity) => { + const { label, text } = parseEntity(entity); + if (!acc[label]) { + const newColor = calcWordColor(label); + acc[label] = { texts: new Set(), color: newColor }; + } + acc[label].texts.add(text); + return acc; + }, {} as Record; color: string }>); + }, [infoEntities]); + const onChangeTabs = (tabId: number) => { + setActiveTab(tabId); + }; + const labelCounts = useMemo(() => { + const counts: { [label: string]: number } = {}; + infoEntities.forEach((entity) => { + const { labels } = entity; + const label = labels[0]; + counts[label] = counts[label] ? counts[label] + 1 : 1; + }); + return counts; + }, [infoEntities]); + const sortedLabels = useMemo(() => { + return Object.keys(labelCounts).sort((a, b) => labelCounts[b] - labelCounts[a]); + }, [labelCounts]); + + const generateYouTubeLink = (url: string, startTime: string) => { + try { + const urlObj = new URL(url); + urlObj.searchParams.set('t', startTime); + return urlObj.toString(); + } catch (error) { + console.error('Invalid URL:', error); + return ''; + } + }; + return ( + + + + + Retrieval information + + To generate this response, the process took {response_time} seconds,{' '} + utilizing {total_tokens} tokens with the model{' '} + {model} in{' '} + {mode !== 'vector' ? mode.replace(/\+/g, ' & ') : mode} mode. + + + + + {mode != 'graph' ? Sources used : <>} + {mode === 'graph+vector' || mode === 'graph' ? Top Entities used : <>} + {mode === 'graph' && cypher_query?.trim().length ? ( + Generated Cypher Query + ) : ( + <> + )} + {mode != 'graph' ? Chunks : <>} + + + + {sources.length ? ( +
    + {sources.map((link, index) => { + return ( +
  • + {link?.startsWith('http') || link?.startsWith('https') ? ( + <> + {link?.includes('wikipedia.org') && ( +
    + Wikipedia Logo + + + + {link} + + + +
    + )} + {link?.includes('storage.googleapis.com') && ( +
    + Google Cloud Storage Logo + + {decodeURIComponent(link).split('/').at(-1)?.split('?')[0] ?? 'GCS File'} + +
    + )} + {link?.startsWith('s3://') && ( +
    + S3 Logo + + {decodeURIComponent(link).split('/').at(-1) ?? 'S3 File'} + +
    + )} + {youtubeLinkValidation(link) && ( + <> +
    + + + + + {link} + + + +
    + + )} + {!link?.startsWith('s3://') && + !link?.includes('storage.googleapis.com') && + !link?.includes('wikipedia.org') && + !link?.includes('youtube.com') && ( +
    + + + {link} + +
    + )} + + ) : ( +
    + + + {link} + + {/* {chunks?.length > 0 && ( + + - Page{' '} + {chunks + .map((c) => c.page_number as number) + .sort((a, b) => a - b) + .join(', ')} + + )} */} +
    + )} +
  • + ); + })} +
+ ) : ( + No Sources Found + )} +
+ + {loading ? ( + + + + ) : Object.keys(groupedEntities).length > 0 || Object.keys(graphonly_entities).length > 0 ? ( +
    + {mode == 'graph' + ? graphonly_entities.map((label, index) => ( +
  • +
    + { + //@ts-ignore + label[Object.keys(label)[0]].id ?? Object.keys(label)[0] + } +
    +
  • + )) + : sortedLabels.map((label, index) => ( +
  • +
    + {label} ({labelCounts[label]}) +
    + + {Array.from(groupedEntities[label].texts).slice(0, 3).join(', ')} + +
  • + ))} +
+ ) : ( + No Entities Found + )} +
+ + {loading ? ( + + + + ) : chunks.length > 0 ? ( +
+
    + {chunks.map((chunk) => ( +
  • + {chunk?.page_number ? ( + <> +
    + + + {/* {chunk?.fileName}, Page: {chunk?.page_number} */} + {chunk?.fileName} + +
    + Similarity Score: {chunk?.score} + + ) : chunk?.url && chunk?.start_time ? ( + <> +
    + + + + {chunk?.fileName} + + +
    + Similarity Score: {chunk?.score} + + ) : chunk?.url && chunk?.url.includes('wikipedia.org') ? ( + <> +
    + + {chunk?.fileName} +
    + Similarity Score: {chunk?.score} + + ) : chunk?.url && chunk?.url.includes('storage.googleapis.com') ? ( + <> +
    + + {chunk?.fileName} +
    + Similarity Score: {chunk?.score} + + ) : chunk?.url && chunk?.url.startsWith('s3://') ? ( + <> +
    + + {chunk?.fileName} +
    + + ) : chunk?.url && + !chunk?.url.startsWith('s3://') && + !chunk?.url.includes('storage.googleapis.com') && + !chunk?.url.includes('wikipedia.org') && + !chunk?.url.includes('youtube.com') ? ( + <> +
    + + + {chunk?.url} + +
    + Similarity Score: {chunk?.score} + + ) : ( + <> + )} + {chunk?.text} +
  • + ))} +
+
+ ) : ( + No Chunks Found + )} +
+ + + +
+ {activeTab == 4 && nodes.length && relationships.length ? ( + + + + ) : ( + <> + )} +
+ ); +}; +export default ChatInfoModal; diff --git a/frontend/src/components/ChatBot/ChatModeToggle.tsx b/frontend/src/components/ChatBot/ChatModeToggle.tsx index f80b2dfbc..a2becd6c4 100644 --- a/frontend/src/components/ChatBot/ChatModeToggle.tsx +++ b/frontend/src/components/ChatBot/ChatModeToggle.tsx @@ -1,50 +1,54 @@ -import { SegmentedControl, Tip } from '@neo4j-ndl/react'; -import { ChatModeOptions } from '../../utils/Constants'; +import { StatusIndicator } from '@neo4j-ndl/react'; +import { useMemo } from 'react'; import { useFileContext } from '../../context/UsersFiles'; -import { DbmsIcon } from '@neo4j-ndl/react/icons'; +import CustomMenu from '../UI/Menu'; +import { chatModes } from '../../utils/Constants'; import { capitalize } from '@mui/material'; -export default function ChatModeToggle({ inSidenav = false }) { - const [vector, _] = ChatModeOptions; - const { chatMode, setchatMode } = useFileContext(); +export default function ChatModeToggle({ + menuAnchor, + closeHandler = () => {}, + open, + anchorPortal = true, + disableBackdrop = false, +}: { + menuAnchor: HTMLElement | null; + closeHandler?: () => void; + open: boolean; + anchorPortal?: boolean; + disableBackdrop?: boolean; +}) { + const { setchatMode, chatMode } = useFileContext(); return ( - - {ChatModeOptions.map((i, idx) => { - return ( - - - - {i.Icon === 'abc' ? ( - - - + - - - ) : ( - - )} - - - {capitalize(i.value)} - - ); - })} - + + chatModes?.map((m) => { + return { + title: m.includes('+') ? 'Graph + Vector' : capitalize(m), + onClick: () => { + setchatMode(m); + }, + disabledCondition: false, + description: ( + + {chatMode === m && ( + <> + Selected + + )} + + ), + }; + }), + [chatMode, chatModes] + )} + > ); } diff --git a/frontend/src/components/ChatBot/Chatbot.tsx b/frontend/src/components/ChatBot/Chatbot.tsx index 096a6c31a..e69de29bb 100644 --- a/frontend/src/components/ChatBot/Chatbot.tsx +++ b/frontend/src/components/ChatBot/Chatbot.tsx @@ -1,403 +0,0 @@ -import React, { useEffect, useRef, useState } from 'react'; -import { Button, Widget, Typography, Avatar, TextInput, IconButton, Modal, useCopyToClipboard } from '@neo4j-ndl/react'; -import { - XMarkIconOutline, - ClipboardDocumentIconOutline, - SpeakerWaveIconOutline, - SpeakerXMarkIconOutline, -} from '@neo4j-ndl/react/icons'; -import ChatBotAvatar from '../../assets/images/chatbot-ai.png'; -import { ChatbotProps, UserCredentials, chunk } from '../../types'; -import { useCredentials } from '../../context/UserCredentials'; -import { chatBotAPI } from '../../services/QnaAPI'; -import { v4 as uuidv4 } from 'uuid'; -import { useFileContext } from '../../context/UsersFiles'; -import InfoModal from './Info/InfoModal'; -import clsx from 'clsx'; -import ReactMarkdown from 'react-markdown'; -import IconButtonWithToolTip from '../UI/IconButtonToolTip'; -import { buttonCaptions, tooltips } from '../../utils/Constants'; -import useSpeechSynthesis from '../../hooks/useSpeech'; -import ButtonWithToolTip from '../UI/ButtonWithToolTip'; - -const Chatbot: React.FC = (props) => { - const { messages: listMessages, setMessages: setListMessages, isLoading, isFullScreen, clear } = props; - const [inputMessage, setInputMessage] = useState(''); - const [loading, setLoading] = useState(isLoading); - const { userCredentials } = useCredentials(); - const { model, chatMode } = useFileContext(); - const messagesEndRef = useRef(null); - const [sessionId, setSessionId] = useState(sessionStorage.getItem('session_id') ?? ''); - const [showInfoModal, setShowInfoModal] = useState(false); - const [sourcesModal, setSourcesModal] = useState([]); - const [modelModal, setModelModal] = useState(''); - const [responseTime, setResponseTime] = useState(0); - const [chunkModal, setChunkModal] = useState([]); - const [tokensUsed, setTokensUsed] = useState(0); - const [copyMessageId, setCopyMessageId] = useState(null); - - const [value, copy] = useCopyToClipboard(); - const { speak, cancel } = useSpeechSynthesis({ - onEnd: () => { - setListMessages((msgs) => msgs.map((msg) => ({ ...msg, speaking: false }))); - }, - }); - - const handleInputChange = (e: React.ChangeEvent) => { - setInputMessage(e.target.value); - }; - useEffect(() => { - if (!sessionStorage.getItem('session_id')) { - const id = uuidv4(); - setSessionId(id); - sessionStorage.setItem('session_id', id); - } - }, []); - const simulateTypingEffect = ( - response: { - reply: string; - sources?: string[]; - model?: string; - chunk_ids?: chunk[]; - total_tokens?: number; - response_time?: number; - speaking?: boolean; - copying?: boolean; - }, - index = 0 - ) => { - if (index < response.reply.length) { - const nextIndex = index + 1; - const currentTypedText = response.reply.substring(0, nextIndex); - if (index === 0) { - const date = new Date(); - const datetime = `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`; - if (response.reply.length <= 1) { - setListMessages((msgs) => [ - ...msgs, - { - id: Date.now(), - user: 'chatbot', - message: currentTypedText, - datetime: datetime, - isTyping: false, - isLoading: true, - sources: response?.sources, - model: response?.model, - chunks: response?.chunk_ids, - total_tokens: response.total_tokens, - response_time: response?.response_time, - speaking: false, - copying: false, - }, - ]); - } else { - setListMessages((msgs) => { - const lastmsg = { ...msgs[msgs.length - 1] }; - lastmsg.id = Date.now(); - lastmsg.user = 'chatbot'; - lastmsg.message = currentTypedText; - lastmsg.datetime = datetime; - lastmsg.isTyping = true; - lastmsg.isLoading = false; - lastmsg.sources = response?.sources; - lastmsg.model = response?.model; - lastmsg.chunk_ids = response?.chunk_ids; - lastmsg.total_tokens = response?.total_tokens; - lastmsg.response_time = response?.response_time; - lastmsg.speaking = false; - lastmsg.copying = false; - return msgs.map((msg, index) => { - if (index === msgs.length - 1) { - return lastmsg; - } - return msg; - }); - }); - } - } else { - setListMessages((msgs) => msgs.map((msg) => (msg.isTyping ? { ...msg, message: currentTypedText } : msg))); - } - setTimeout(() => simulateTypingEffect(response, nextIndex), 20); - } else { - setListMessages((msgs) => msgs.map((msg) => (msg.isTyping ? { ...msg, isTyping: false } : msg))); - } - }; - let date = new Date(); - - const handleSubmit = async (e: { preventDefault: () => void }) => { - e.preventDefault(); - if (!inputMessage.trim()) { - return; - } - let chatbotReply; - let chatSources; - let chatModel; - let chatChunks; - let chatTimeTaken; - let chatTokensUsed; - const datetime = `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`; - const userMessage = { id: Date.now(), user: 'user', message: inputMessage, datetime: datetime }; - setListMessages([...listMessages, userMessage]); - try { - setInputMessage(''); - simulateTypingEffect({ reply: ' ' }); - const chatbotAPI = await chatBotAPI(userCredentials as UserCredentials, inputMessage, sessionId, model, chatMode); - const chatresponse = chatbotAPI?.response; - console.log('api', chatresponse); - chatbotReply = chatresponse?.data?.data?.message; - chatSources = chatresponse?.data?.data?.info.sources; - chatModel = chatresponse?.data?.data?.info.model; - chatChunks = chatresponse?.data?.data?.info.chunkdetails; - chatTokensUsed = chatresponse?.data?.data?.info.total_tokens; - chatTimeTaken = chatresponse?.data?.data?.info.response_time; - const finalbotReply = { - reply: chatbotReply, - sources: chatSources, - model: chatModel, - chunk_ids: chatChunks, - total_tokens: chatTokensUsed, - response_time: chatTimeTaken, - speaking: false, - copying: false, - }; - simulateTypingEffect(finalbotReply); - } catch (error) { - chatbotReply = "Oops! It seems we couldn't retrieve the answer. Please try again later"; - setInputMessage(''); - simulateTypingEffect({ reply: chatbotReply }); - } - }; - const scrollToBottom = () => { - messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' }); - }; - useEffect(() => { - scrollToBottom(); - }, [listMessages]); - - useEffect(() => { - setLoading(() => listMessages.some((msg) => msg.isLoading || msg.isTyping)); - }, [listMessages]); - - useEffect(() => { - if (clear) { - cancel(); - setListMessages((msgs) => msgs.map((msg) => ({ ...msg, speaking: false }))); - } - }, [clear]); - - const handleCopy = (message: string, id: number) => { - copy(message); - setListMessages((msgs) => - msgs.map((msg) => { - if (msg.id === id) { - msg.copying = true; - } - return msg; - }) - ); - setCopyMessageId(id); - setTimeout(() => { - setCopyMessageId(null); - setListMessages((msgs) => - msgs.map((msg) => { - if (msg.id === id) { - msg.copying = false; - } - return msg; - }) - ); - }, 2000); - }; - - const handleCancel = (id: number) => { - cancel(); - setListMessages((msgs) => msgs.map((msg) => (msg.id === id ? { ...msg, speaking: false } : msg))); - }; - - const handleSpeak = (chatMessage: any, id: number) => { - speak({ text: chatMessage }); - setListMessages((msgs) => { - const messageWithSpeaking = msgs.find((msg) => msg.speaking); - return msgs.map((msg) => (msg.id === id && !messageWithSpeaking ? { ...msg, speaking: true } : msg)); - }); - }; - - return ( -
-
- -
- {listMessages.map((chat, index) => ( -
-
- {chat.user === 'chatbot' ? ( - - ) : ( - - )} -
- -
- {chat.message} -
-
-
- - {chat.datetime} - -
- {chat.user === 'chatbot' && - chat.id !== 2 && - chat.sources?.length !== 0 && - !chat.isLoading && - !chat.isTyping && ( -
- { - setModelModal(chat.model ?? ''); - setSourcesModal(chat.sources ?? []); - setResponseTime(chat.response_time ?? 0); - setChunkModal(chat.chunk_ids ?? []); - setTokensUsed(chat.total_tokens ?? 0); - setShowInfoModal(true); - }} - > - {' '} - {buttonCaptions.details} - - handleCopy(chat.message, chat.id)} - disabled={chat.isTyping || chat.isLoading} - > - - - {copyMessageId === chat.id && ( - <> - Copied! - {value} - - )} - { - if (chat.speaking) { - handleCancel(chat.id); - } else { - handleSpeak(chat.message, chat.id); - } - }} - text={chat.speaking ? tooltips.stopSpeaking : tooltips.textTospeech} - disabled={listMessages.some((msg) => msg.speaking && msg.id !== chat.id)} - label={chat.speaking ? 'stop speaking' : 'text to speech'} - > - {chat.speaking ? ( - - ) : ( - - )} - -
- )} -
-
-
- ))} -
-
-
-
-
- - - -
- setShowInfoModal(false)} - open={showInfoModal} - > -
- setShowInfoModal(false)} - > - - -
- -
-
- ); -}; - -export default Chatbot; diff --git a/frontend/src/components/ChatBot/ExpandedChatButtonContainer.tsx b/frontend/src/components/ChatBot/ExpandedChatButtonContainer.tsx index 34ee64ef2..d22f3c8e0 100644 --- a/frontend/src/components/ChatBot/ExpandedChatButtonContainer.tsx +++ b/frontend/src/components/ChatBot/ExpandedChatButtonContainer.tsx @@ -4,6 +4,8 @@ import { Box, IconButton } from '@neo4j-ndl/react'; import { Messages } from '../../types'; import IconButtonWithToolTip from '../UI/IconButtonToolTip'; import { tooltips } from '../../utils/Constants'; +import { useState } from 'react'; +import { RiChatSettingsLine } from 'react-icons/ri'; interface IconProps { closeChatBot: () => void; @@ -12,10 +14,30 @@ interface IconProps { } const ExpandedChatButtonContainer: React.FC = ({ closeChatBot, deleteOnClick, messages }) => { + const [chatAnchor, setchatAnchor] = useState(null); + const [showChatModeOption, setshowChatModeOption] = useState(false); return (
- - + setshowChatModeOption(false)} + anchorPortal={true} + disableBackdrop={true} + open={showChatModeOption} + menuAnchor={chatAnchor} + /> + + { + setchatAnchor(e.currentTarget); + setshowChatModeOption(true); + }} + clean + text='Chat mode' + placement='bottom' + label='Chat mode' + > + + = ({ isLeftExpanded, @@ -29,7 +30,9 @@ const Content: React.FC = ({ openTextSchema, isSchema, setIsSchema, - openOrphanNodeDeletionModal, + showEnhancementDialog, + setshowEnhancementDialog, + closeSettingModal }) => { const [init, setInit] = useState(false); const [openConnection, setOpenConnection] = useState(false); @@ -41,8 +44,6 @@ const Content: React.FC = ({ const [extractLoading, setextractLoading] = useState(false); const [isLargeFile, setIsLargeFile] = useState(false); const [showSettingnModal, setshowSettingModal] = useState(false); - const [openDeleteMenu, setopenDeleteMenu] = useState(false); - const [deleteAnchor, setdeleteAnchor] = useState(null); const { filesData, @@ -51,7 +52,6 @@ const Content: React.FC = ({ model, selectedNodes, selectedRels, - selectedRows, setSelectedNodes, setRowSelection, setSelectedRels, @@ -82,7 +82,23 @@ const Content: React.FC = ({ }); } ); - + const childRef = useRef(null); + const openGraphEnhancementDialog = () => { + setshowEnhancementDialog(true); + }; + const closeGraphEnhancementDialog = () => { + setshowEnhancementDialog(false); + }; + const showAlert = ( + alertmsg: string, + alerttype: OverridableStringUnion | undefined + ) => { + setalertDetails({ + showAlert: true, + alertMessage: alertmsg, + alertType: alerttype, + }); + }; useEffect(() => { if (!init && !searchParams.has('connectURL')) { let session = localStorage.getItem('neo4j.connection'); @@ -112,9 +128,9 @@ const Content: React.FC = ({ }); }, [model]); - const handleDropdownChange = (option: OptionType | null | void) => { - if (option?.value) { - setModel(option?.value); + const handleDropdownChange = (selectedOption: OptionType | null | void) => { + if (selectedOption?.value) { + setModel(selectedOption?.value); } }; @@ -126,10 +142,10 @@ const Content: React.FC = ({ await extractHandler(fileItem, uid); } } else { - const fileItem = selectedRows.find((f) => JSON.parse(f).id == uid); + const fileItem = childRef.current?.getSelectedRows().find((f) => f.id == uid); if (fileItem) { setextractLoading(true); - await extractHandler(JSON.parse(fileItem), uid); + await extractHandler(fileItem, uid); } } }; @@ -150,7 +166,7 @@ const Content: React.FC = ({ setRowSelection((prev) => { const copiedobj = { ...prev }; for (const key in copiedobj) { - if (JSON.parse(key).id == uid) { + if (key == uid) { copiedobj[key] = false; } } @@ -238,8 +254,8 @@ const Content: React.FC = ({ const data = []; if (selectedfileslength && allowLargeFiles) { for (let i = 0; i < selectedfileslength; i++) { - const row = JSON.parse(selectedRows[i]); - if (row.status === 'New') { + const row = childRef.current?.getSelectedRows()[i]; + if (row?.status === 'New') { data.push(extractData(row.id, true)); } } @@ -302,13 +318,19 @@ const Content: React.FC = ({ setSelectedRels([]); }; - const selectedfileslength = useMemo(() => selectedRows.length, [selectedRows]); + const selectedfileslength = useMemo( + () => childRef.current?.getSelectedRows().length, + [childRef.current?.getSelectedRows()] + ); - const newFilecheck = useMemo(() => selectedRows.filter((f) => JSON.parse(f).status === 'New').length, [selectedRows]); + const newFilecheck = useMemo( + () => childRef.current?.getSelectedRows().filter((f) => f.status === 'New').length, + [childRef.current?.getSelectedRows()] + ); const completedfileNo = useMemo( - () => selectedRows.filter((f) => JSON.parse(f).status === 'Completed').length, - [selectedRows] + () => childRef.current?.getSelectedRows().filter((f) => f.status === 'Completed').length, + [childRef.current?.getSelectedRows()] ); const dropdowncheck = useMemo(() => !filesData.some((f) => f.status === 'New'), [filesData]); @@ -323,11 +345,19 @@ const Content: React.FC = ({ [selectedfileslength, completedfileNo] ); + // const processingCheck = () => { + // const processingFiles = filesData.some((file) => file.status === 'Processing'); + // const selectedRowProcessing = childRef.current?.getSelectedRows().some((row) => + // filesData.some((file) => file.name === row && file.status === 'Processing') + // ); + // return processingFiles || selectedRowProcessing; + // }; + const filesForProcessing = useMemo(() => { let newstatusfiles: CustomFile[] = []; - if (selectedRows.length) { - selectedRows.forEach((f) => { - const parsedFile: CustomFile = JSON.parse(f); + if (childRef.current?.getSelectedRows().length) { + childRef.current?.getSelectedRows().forEach((f) => { + const parsedFile: CustomFile = f; if (parsedFile.status === 'New') { newstatusfiles.push(parsedFile); } @@ -336,12 +366,16 @@ const Content: React.FC = ({ newstatusfiles = filesData.filter((f) => f.status === 'New'); } return newstatusfiles; - }, [filesData, selectedRows]); + }, [filesData, childRef.current?.getSelectedRows()]); const handleDeleteFiles = async (deleteEntities: boolean) => { try { setdeleteLoading(true); - const response = await deleteAPI(userCredentials as UserCredentials, selectedRows, deleteEntities); + const response = await deleteAPI( + userCredentials as UserCredentials, + childRef.current?.getSelectedRows() as CustomFile[], + deleteEntities + ); setRowSelection({}); setdeleteLoading(false); if (response.data.status == 'Success') { @@ -350,8 +384,8 @@ const Content: React.FC = ({ alertMessage: response.data.message, alertType: 'success', }); - const filenames = selectedRows.map((str) => JSON.parse(str).name); - filenames.forEach((name) => { + const filenames = childRef.current?.getSelectedRows().map((str) => str.name); + filenames?.forEach((name) => { setFilesData((prev) => prev.filter((f) => f.name != name)); }); } else { @@ -360,6 +394,7 @@ const Content: React.FC = ({ } setshowDeletePopUp(false); } catch (err) { + setdeleteLoading(false); if (err instanceof Error) { const error = JSON.parse(err.message); const { message } = error; @@ -396,14 +431,14 @@ const Content: React.FC = ({ if (storedSchema !== null) { setIsSchema(JSON.parse(storedSchema)); } - }, []); + }, [isSchema]); const onClickHandler = () => { if (isSchema) { - if (selectedRows.length) { + if (childRef.current?.getSelectedRows().length) { let selectedLargeFiles: CustomFile[] = []; - selectedRows.forEach((f) => { - const parsedData: CustomFile = JSON.parse(f); + childRef.current?.getSelectedRows().forEach((f) => { + const parsedData: CustomFile = f; if (parsedData.fileSource === 'local file') { if (typeof parsedData.size === 'number' && parsedData.status === 'New' && parsedData.size > largeFileSize) { selectedLargeFiles.push(parsedData); @@ -428,7 +463,7 @@ const Content: React.FC = ({ }); const selectAllNewFiles = filesData.filter((f) => f.status === 'New'); const stringified = selectAllNewFiles.reduce((accu, f) => { - const key = JSON.stringify(f); + const key = f.id; // @ts-ignore accu[key] = true; return accu; @@ -444,10 +479,10 @@ const Content: React.FC = ({ } } } else { - if (selectedRows.length) { + if (childRef.current?.getSelectedRows().length) { let selectedLargeFiles: CustomFile[] = []; - selectedRows.forEach((f) => { - const parsedData: CustomFile = JSON.parse(f); + childRef.current?.getSelectedRows().forEach((f) => { + const parsedData: CustomFile = f; if (parsedData.fileSource === 'local file') { if (typeof parsedData.size === 'number' && parsedData.status === 'New' && parsedData.size > largeFileSize) { selectedLargeFiles.push(parsedData); @@ -469,7 +504,7 @@ const Content: React.FC = ({ }); const selectAllNewFiles = filesData.filter((f) => f.status === 'New'); const stringified = selectAllNewFiles.reduce((accu, f) => { - const key = JSON.stringify(f); + const key = f.id; // @ts-ignore accu[key] = true; return accu; @@ -485,23 +520,6 @@ const Content: React.FC = ({ } }; - const deleteMenuItems: Menuitems[] = useMemo( - () => [ - { - title: `Delete Files ${selectedfileslength > 0 ? `(${selectedfileslength})` : ''}`, - onClick: () => setshowDeletePopUp(true), - disabledCondition: !selectedfileslength, - description: tooltips.deleteFile, - }, - { - title: 'Delete Orphan Nodes', - onClick: () => openOrphanNodeDeletionModal(), - disabledCondition: false, - }, - ], - [selectedfileslength] - ); - const handleContinue = () => { if (!isLargeFile) { handleGenerateGraph(true, filesData); @@ -519,7 +537,6 @@ const Content: React.FC = ({ }); localStorage.setItem('isSchema', JSON.stringify(true)); }; - return ( <> {alertDetails.showAlert && ( @@ -550,10 +567,11 @@ const Content: React.FC = ({ {showDeletePopUp && ( handleDeleteFiles(delentities)} deleteCloseHandler={() => setshowDeletePopUp(false)} loading={deleteLoading} + view='contentView' > )} {showSettingnModal && ( @@ -567,6 +585,14 @@ const Content: React.FC = ({ setIsSchema={setIsSchema} /> )} + {showEnhancementDialog && ( + + )}
= ({ ) : ( Not Connected )} +
+ {!isSchema ? ( + + ) : selectedNodes.length || selectedRels.length ? ( + + ) : ( + + )} + {isSchema ? ( + + {(!selectedNodes.length || !selectedNodes.length) && 'Empty'} Graph Schema configured + {selectedNodes.length || selectedRels.length + ? `(${selectedNodes.length} Labels + ${selectedRels.length} Rel Types)` + : ''} + + ) : ( + No Graph Schema configured + )} +
- - {!connectionStatus ? ( - - ) : ( - - )} + {!connectionStatus ? ( + + ) : ( + + )} +
= ({ setOpenGraphView(true); setViewPoint('tableView'); }} + ref={childRef} > = ({ justifyContent='space-between' flexDirection='row' > - + = ({ > {buttonCaptions.exploreGraphWithBloom} - { - setopenDeleteMenu(false); - }, [])} - items={deleteMenuItems} - MenuAnchor={deleteAnchor} - anchorOrigin={useMemo(() => ({ horizontal: 'left', vertical: 'bottom' }), [])} - transformOrigin={useMemo(() => ({ horizontal: 'right', vertical: 'top' }), [])} - > - + {buttonCaptions.deleteFiles} + {selectedfileslength != undefined && selectedfileslength > 0 && `(${selectedfileslength})`} + @@ -674,6 +724,7 @@ const Content: React.FC = ({ open={openGraphView} setGraphViewOpen={setOpenGraphView} viewPoint={viewPoint} + selectedRows={childRef.current?.getSelectedRows()} /> ); diff --git a/frontend/src/components/DataSources/Local/DropZone.tsx b/frontend/src/components/DataSources/Local/DropZone.tsx index e1c245c07..b775e4231 100644 --- a/frontend/src/components/DataSources/Local/DropZone.tsx +++ b/frontend/src/components/DataSources/Local/DropZone.tsx @@ -278,4 +278,4 @@ const DropZone: FunctionComponent = () => { ); }; -export default DropZone; \ No newline at end of file +export default DropZone; diff --git a/frontend/src/components/Dropdown.tsx b/frontend/src/components/Dropdown.tsx index 9653c2981..db1a8f768 100644 --- a/frontend/src/components/Dropdown.tsx +++ b/frontend/src/components/Dropdown.tsx @@ -1,37 +1,66 @@ import { Dropdown } from '@neo4j-ndl/react'; import { DropdownProps, OptionType } from '../types'; import { useMemo } from 'react'; -import { defaultLLM, llms } from '../utils/Constants'; import { capitalize } from '../utils/Utils'; - -const LlmDropdown: React.FC = ({ onSelect }) => { +interface ReusableDropdownProps extends DropdownProps { + options: string[] | OptionType[]; + placeholder?: string; + defaultValue?: string; + children?: React.ReactNode; + view?: 'ContentView' | 'GraphView'; + isDisabled: boolean; + value?: OptionType; +} +const DropdownComponent: React.FC = ({ + options, + placeholder, + defaultValue, + onSelect, + children, + view, + isDisabled, + value, +}) => { const handleChange = (selectedOption: OptionType | null | void) => { onSelect(selectedOption); }; - const allOptions = useMemo(() => llms, []); - + const allOptions = useMemo(() => options, [options]); return ( <> -
+
({ - label: capitalize(option), - value: option, - })), - placeholder: 'Select LLM Model', - defaultValue: { label: capitalize(defaultLLM), value: defaultLLM }, + options: allOptions?.map((option) => { + const label = + typeof option === 'string' + ? (option.includes('LLM_MODEL_CONFIG_') + ? capitalize(option.split('LLM_MODEL_CONFIG_').at(-1) as string) + : capitalize(option) + ) + .split('_') + .join(' ') + : capitalize(option.label); + const value = typeof option === 'string' ? option : option.value; + return { + label, + value, + }; + }), + placeholder: placeholder || 'Select an option', + defaultValue: defaultValue ? { label: capitalize(defaultValue), value: defaultValue } : undefined, menuPlacement: 'auto', + isDisabled: isDisabled, + value: value, }} size='medium' fluid /> + {children}
); }; - -export default LlmDropdown; +export default DropdownComponent; diff --git a/frontend/src/components/FileTable.tsx b/frontend/src/components/FileTable.tsx index 9c8df4d9c..202777187 100644 --- a/frontend/src/components/FileTable.tsx +++ b/frontend/src/components/FileTable.tsx @@ -9,7 +9,7 @@ import { TextLink, Typography, } from '@neo4j-ndl/react'; -import { useEffect, useMemo, useRef, useState } from 'react'; +import { forwardRef, HTMLProps, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react'; import React from 'react'; import { useReactTable, @@ -41,7 +41,12 @@ import cancelAPI from '../services/CancelAPI'; import IconButtonWithToolTip from './UI/IconButtonToolTip'; import { largeFileSize } from '../utils/Constants'; -const FileTable: React.FC = ({ isExpanded, connectionStatus, setConnectionStatus, onInspect }) => { +export interface ChildRef { + getSelectedRows: () => CustomFile[]; +} + +const FileTable = forwardRef((props, ref) => { + const { isExpanded, connectionStatus, setConnectionStatus, onInspect } = props; const { filesData, setFilesData, model, rowSelection, setRowSelection, setSelectedRows } = useFileContext(); const { userCredentials } = useCredentials(); const columnHelper = createColumnHelper(); @@ -98,18 +103,16 @@ const FileTable: React.FC = ({ isExpanded, connectionStatus, set ); }, cell: ({ row }: { row: Row }) => { - const checkedCase = - row.getIsSelected() && row.original.status != 'Uploading' && row.original.status != 'Processing'; return (
-
); @@ -281,7 +284,19 @@ const FileTable: React.FC = ({ isExpanded, connectionStatus, set }), columnHelper.accessor((row) => row.model, { id: 'model', - cell: (info) => {capitalize(info.getValue())}, + cell: (info) => { + const model = info.getValue(); + return ( + + {(model.includes('LLM_MODEL_CONFIG_') + ? capitalize(model.split('LLM_MODEL_CONFIG_').at(-1) as string) + : capitalize(model) + ) + .split('_') + .join(' ')} + + ); + }, header: () => Model, footer: (info) => info.column.id, }), @@ -312,7 +327,7 @@ const FileTable: React.FC = ({ isExpanded, connectionStatus, set text='Graph' size='large' label='Graph view' - disabled={!(info.getValue() === 'Completed' || info.getValue() == 'Cancelled')} + disabled={info.getValue() === 'New' || info.getValue() === 'Uploading'} clean onClick={() => onInspect(info?.row?.original?.name as string)} > @@ -589,11 +604,17 @@ const FileTable: React.FC = ({ isExpanded, connectionStatus, set autoResetPageIndex: false, enableRowSelection: true, enableMultiRowSelection: true, - getRowId: (row) => JSON.stringify({ ...row }), + getRowId: (row) => row.id, enableSorting: true, getSortedRowModel: getSortedRowModel(), }); - + useImperativeHandle( + ref, + () => ({ + getSelectedRows: () => table.getSelectedRowModel().rows.map((r) => r.original), + }), + [table] + ); useEffect(() => { if (tableRef.current) { // Component has content, calculate maximum height for table @@ -619,7 +640,7 @@ const FileTable: React.FC = ({ isExpanded, connectionStatus, set const handleChange = (e: React.ChangeEvent) => { table.getColumn('status')?.setFilterValue(e.target.checked); - if (!table.getCanNextPage() || table.getRowCount()) { + if (!table.getCanNextPage() || table.getPrePaginationRowModel().rows.length) { table.setPageIndex(0); } }; @@ -690,6 +711,23 @@ const FileTable: React.FC = ({ isExpanded, connectionStatus, set ) : null} ); -}; +}); export default FileTable; +function IndeterminateCheckbox({ + indeterminate, + className = '', + ...rest +}: { indeterminate?: boolean } & HTMLProps) { + const ref = React.useRef(null!); + + React.useEffect(() => { + if (typeof indeterminate === 'boolean') { + ref.current.indeterminate = !rest.checked && indeterminate; + } + }, [ref, indeterminate]); + + return ( + + ); +} diff --git a/frontend/src/components/Graph/CheckboxSelection.tsx b/frontend/src/components/Graph/CheckboxSelection.tsx new file mode 100644 index 000000000..20e15142b --- /dev/null +++ b/frontend/src/components/Graph/CheckboxSelection.tsx @@ -0,0 +1,29 @@ +import { Checkbox } from '@neo4j-ndl/react'; +import React from 'react'; +import { CheckboxSectionProps } from '../../types'; + +const CheckboxSelection: React.FC = ({ graphType, loading, handleChange }) => ( +
+
+ handleChange('Document')} + /> + handleChange('Entities')} + /> + handleChange('Chunk')} + /> +
+
+); +export default CheckboxSelection; diff --git a/frontend/src/components/Graph/GraphViewModal.tsx b/frontend/src/components/Graph/GraphViewModal.tsx index ab80ae417..e69de29bb 100644 --- a/frontend/src/components/Graph/GraphViewModal.tsx +++ b/frontend/src/components/Graph/GraphViewModal.tsx @@ -1,323 +0,0 @@ -import { Banner, Checkbox, Dialog, IconButtonArray, LoadingSpinner } from '@neo4j-ndl/react'; -import { useCallback, useEffect, useRef, useState } from 'react'; -import { GraphType, GraphViewModalProps, Scheme, UserCredentials } from '../../types'; -import { InteractiveNvlWrapper } from '@neo4j-nvl/react'; -import NVL, { NvlOptions } from '@neo4j-nvl/base'; -import type { Node, Relationship } from '@neo4j-nvl/base'; -import { Resizable } from 're-resizable'; -import { - DragIcon, - FitToScreenIcon, - MagnifyingGlassMinusIconOutline, - MagnifyingGlassPlusIconOutline, -} from '@neo4j-ndl/react/icons'; -import IconButtonWithToolTip from '../UI/IconButtonToolTip'; -import { processGraphData } from '../../utils/Utils'; -import { useCredentials } from '../../context/UserCredentials'; -import { LegendsChip } from './LegendsChip'; -import graphQueryAPI from '../../services/GraphQuery'; -import { queryMap } from '../../utils/Constants'; -import { useFileContext } from '../../context/UsersFiles'; - -const GraphViewModal: React.FunctionComponent = ({ - open, - inspectedName, - setGraphViewOpen, - viewPoint, - nodeValues, - relationshipValues, -}) => { - const nvlRef = useRef(null); - const [nodes, setNodes] = useState([]); - const [relationships, setRelationships] = useState([]); - const [graphType, setGraphType] = useState(['entities']); - const [loading, setLoading] = useState(false); - const [status, setStatus] = useState<'unknown' | 'success' | 'danger'>('unknown'); - const [statusMessage, setStatusMessage] = useState(''); - const { userCredentials } = useCredentials(); - const [scheme, setScheme] = useState({}); - const { selectedRows } = useFileContext(); - - const handleCheckboxChange = (graph: GraphType) => { - const currentIndex = graphType.indexOf(graph); - const newGraphSelected = [...graphType]; - if (currentIndex === -1) { - newGraphSelected.push(graph); - } else { - newGraphSelected.splice(currentIndex, 1); - } - setGraphType(newGraphSelected); - }; - - const handleZoomToFit = () => { - nvlRef.current?.fit( - nodes.map((node) => node.id), - {} - ); - }; - - useEffect(() => { - const timeoutId = setTimeout(() => { - handleZoomToFit(); - }, 1000); - return () => { - nvlRef.current?.destroy(); - setGraphType(['entities']); - clearTimeout(timeoutId); - setScheme({}); - }; - }, []); - - const graphQuery: string = - graphType.length === 3 - ? queryMap.DocChunkEntities - : graphType.includes('entities') && graphType.includes('chunks') - ? queryMap.ChunksEntities - : graphType.includes('entities') && graphType.includes('document') - ? queryMap.DocEntities - : graphType.includes('document') && graphType.includes('chunks') - ? queryMap.DocChunks - : graphType.includes('entities') && graphType.length === 1 - ? queryMap.Entities - : graphType.includes('chunks') && graphType.length === 1 - ? queryMap.Chunks - : queryMap.Document; - - // API Call to fetch the queried Data - const fetchData = useCallback(async () => { - try { - const nodeRelationshipData = - viewPoint === 'showGraphView' - ? await graphQueryAPI( - userCredentials as UserCredentials, - graphQuery, - selectedRows.map((f) => JSON.parse(f).name) - ) - : await graphQueryAPI(userCredentials as UserCredentials, graphQuery, [inspectedName ?? '']); - return nodeRelationshipData; - } catch (error: any) { - console.log(error); - } - }, [viewPoint, selectedRows, graphQuery, inspectedName, userCredentials]); - - useEffect(() => { - if (open) { - setNodes([]); - setRelationships([]); - setLoading(true); - if (viewPoint === 'chatInfoView') { - console.log('nodes', nodeValues); - const { finalNodes, finalRels, schemeVal } = processGraphData(nodeValues ?? [], relationshipValues ?? []); - setNodes(finalNodes); - setRelationships(finalRels); - setScheme(schemeVal); - setLoading(false); - } else { - fetchData() - .then((result) => { - if (result && result.data.data.nodes.length > 0) { - const neoNodes = result.data.data.nodes.map((f: Node) => f); - const neoRels = result.data.data.relationships.map((f: Relationship) => f); - const { finalNodes, finalRels, schemeVal } = processGraphData(neoNodes, neoRels); - setNodes(finalNodes); - setRelationships(finalRels); - setScheme(schemeVal); - setLoading(false); - } else { - setLoading(false); - setStatus('danger'); - setStatusMessage(`Unable to retrieve document graph for ${inspectedName}`); - } - }) - .catch((error: any) => { - setLoading(false); - setStatus('danger'); - setStatusMessage(error.message); - }); - } - } - }, [open, graphType]); - - // If the modal is closed, render nothing - if (!open) { - return <>; - } - - const mouseEventCallbacks = { - onPan: true, - onZoom: true, - onDrag: true, - }; - - const nvlOptions: NvlOptions = { - allowDynamicMinZoom: true, - disableWebGL: true, - maxZoom: 3, - minZoom: 0.05, - relationshipThreshold: 0.55, - useWebGL: false, - instanceId: 'graph-preview', - initialZoom: 0, - }; - - const headerTitle = - viewPoint === 'showGraphView' || viewPoint === 'chatInfoView' - ? 'Generated Graph' - : `Inspect Generated Graph from ${inspectedName}`; - - const checkBoxView = viewPoint !== 'chatInfoView'; - - const nvlCallbacks = { - onLayoutComputing(isComputing: boolean) { - if (!isComputing) { - handleZoomToFit(); - } - }, - }; - - const handleZoomIn = () => { - nvlRef.current?.setZoom(nvlRef.current.getScale() * 1.3); - }; - - const handleZoomOut = () => { - nvlRef.current?.setZoom(nvlRef.current.getScale() * 0.7); - }; - - const onClose = () => { - setStatus('unknown'); - setStatusMessage(''); - setGraphViewOpen(false); - setScheme({}); - }; - - // Legends placement - const legendCheck = Object.keys(scheme).sort((a, b) => { - if (a === 'Document' || a === 'Chunk') { - return -1; - } else if (b === 'Document' || b === 'Chunk') { - return 1; - } - return a.localeCompare(b); - }); - - return ( - <> - - - {headerTitle} - {checkBoxView && ( -
-
- handleCheckboxChange('document')} - /> - handleCheckboxChange('entities')} - /> - handleCheckboxChange('chunks')} - /> -
-
- )} -
- -
- {loading ? ( -
- -
- ) : status !== 'unknown' ? ( -
- -
- ) : ( - <> -
-
- - - - - - - - - - - - -
- }} - handleClasses={{ left: 'ml-1' }} - > -
-

Result Overview

-
- {legendCheck.map((key, index) => ( - - ))} -
-
-
-
- - )} -
-
-
- - ); -}; -export default GraphViewModal; diff --git a/frontend/src/components/Layout/Header.tsx b/frontend/src/components/Layout/Header.tsx index 87b1ac160..345a004fd 100644 --- a/frontend/src/components/Layout/Header.tsx +++ b/frontend/src/components/Layout/Header.tsx @@ -4,7 +4,6 @@ import { MoonIconOutline, SunIconOutline, CodeBracketSquareIconOutline, - Cog8ToothIconOutline, InformationCircleIconOutline, } from '@neo4j-ndl/react/icons'; import { Typography } from '@neo4j-ndl/react'; @@ -12,17 +11,8 @@ import { useCallback, useEffect } from 'react'; import IconButtonWithToolTip from '../UI/IconButtonToolTip'; import { tooltips } from '../../utils/Constants'; import { useFileContext } from '../../context/UsersFiles'; -import { Badge } from '@mui/material'; -export default function Header({ - themeMode, - toggleTheme, - openSettingsModal, -}: { - themeMode: string; - toggleTheme: () => void; - openSettingsModal: () => void; -}) { +export default function Header({ themeMode, toggleTheme }: { themeMode: string; toggleTheme: () => void }) { const handleURLClick = useCallback((url: string) => { window.open(url, '_blank'); }, []); @@ -86,6 +76,7 @@ export default function Header({ clean size='large' onClick={toggleTheme} + placement='left' > {themeMode === 'dark' ? ( @@ -97,18 +88,6 @@ export default function Header({ )} - - - - -
diff --git a/frontend/src/components/Layout/PageLayout.tsx b/frontend/src/components/Layout/PageLayout.tsx index b18a9ec12..199a97a0f 100644 --- a/frontend/src/components/Layout/PageLayout.tsx +++ b/frontend/src/components/Layout/PageLayout.tsx @@ -1,4 +1,4 @@ -import { useCallback, useState } from 'react'; +import { useState } from 'react'; import SideNav from './SideNav'; import DrawerDropzone from './DrawerDropzone'; import DrawerChatbot from './DrawerChatbot'; @@ -13,8 +13,6 @@ import { OverridableStringUnion } from '@mui/types'; import { useFileContext } from '../../context/UsersFiles'; import SchemaFromTextDialog from '../Popups/Settings/SchemaFromText'; import CustomAlert from '../UI/Alert'; -import DeletePopUpForOrphanNodes from '../Popups/DeletePopUpForOrphanNodes'; -import deleteOrphanAPI from '../../services/DeleteOrphanNodes'; export default function PageLayoutNew({ isSettingPanelExpanded, @@ -36,20 +34,17 @@ export default function PageLayoutNew({ const [showChatBot, setShowChatBot] = useState(false); const [showDrawerChatbot, setShowDrawerChatbot] = useState(true); const [clearHistoryData, setClearHistoryData] = useState(false); + const [showEnhancementDialog, setshowEnhancementDialog] = useState(false); const { userCredentials } = useCredentials(); const toggleLeftDrawer = () => setIsLeftExpanded(!isLeftExpanded); const toggleRightDrawer = () => setIsRightExpanded(!isRightExpanded); - const [openTextSchemaDialog, setOpenTextSchemaDialog] = useState(false); - const [orphanDeleteAPIloading, setorphanDeleteAPIloading] = useState(false); const [alertDetails, setalertDetails] = useState({ showAlert: false, alertType: 'error', alertMessage: '', }); const { messages } = useMessageContext(); - const openSchemaFromTextDialog = useCallback(() => setOpenTextSchemaDialog(true), []); - const closeSchemaFromTextDialog = useCallback(() => setOpenTextSchemaDialog(false), []); - const { isSchema, setIsSchema } = useFileContext(); + const { isSchema, setIsSchema, setShowTextFromSchemaDialog, showTextFromSchemaDialog } = useFileContext(); const deleteOnClick = async () => { try { @@ -84,16 +79,7 @@ export default function PageLayoutNew({ alertMessage: '', }); }; - const orphanNodesDeleteHandler = async (selectedEntities: string[]) => { - try { - setorphanDeleteAPIloading(true); - const response = await deleteOrphanAPI(userCredentials as UserCredentials, selectedEntities); - setorphanDeleteAPIloading(false); - console.log(response); - } catch (error) { - console.log(error); - } - }; + return (
{alertDetails.showAlert && ( @@ -107,9 +93,21 @@ export default function PageLayoutNew({ { + setShowTextFromSchemaDialog({ triggeredFrom: '', show: false }); + switch (showTextFromSchemaDialog.triggeredFrom) { + case 'enhancementtab': + setshowEnhancementDialog(true); + break; + case 'schemadialog': + openSettingsDialog(); + break; + default: + break; + } + }} showAlert={showAlert} > { + setShowTextFromSchemaDialog({ triggeredFrom: 'schemadialog', show: true }); + }} open={isSettingPanelExpanded} onClose={closeSettingModal} settingView='headerView' @@ -131,10 +131,15 @@ export default function PageLayoutNew({ isLeftExpanded={isLeftExpanded} isRightExpanded={isRightExpanded} showChatBot={showChatBot} - openTextSchema={openSchemaFromTextDialog} - openOrphanNodeDeletionModal={openOrphanNodeDeletionModal} + openTextSchema={() => { + setShowTextFromSchemaDialog({ triggeredFrom: 'schemadialog', show: true }); + }} isSchema={isSchema} setIsSchema={setIsSchema} + showEnhancementDialog={showEnhancementDialog} + setshowEnhancementDialog={setshowEnhancementDialog} + closeSettingModal={closeSettingModal} + /> {showDrawerChatbot && ( diff --git a/frontend/src/components/Layout/SideNav.tsx b/frontend/src/components/Layout/SideNav.tsx index 12c0fe8bb..9364e6698 100644 --- a/frontend/src/components/Layout/SideNav.tsx +++ b/frontend/src/components/Layout/SideNav.tsx @@ -16,6 +16,8 @@ import { getIsLoading } from '../../utils/Utils'; import ExpandedChatButtonContainer from '../ChatBot/ExpandedChatButtonContainer'; import { tooltips } from '../../utils/Constants'; import ChatModeToggle from '../ChatBot/ChatModeToggle'; +import { RiChatSettingsLine } from 'react-icons/ri'; +import IconButtonWithToolTip from '../UI/IconButtonToolTip'; const SideNav: React.FC = ({ position, @@ -30,6 +32,8 @@ const SideNav: React.FC = ({ const [isChatModalOpen, setIsChatModalOpen] = useState(false); const [isFullScreen, setIsFullScreen] = useState(false); const { setMessages } = useMessageContext(); + const [chatModeAnchor, setchatModeAnchor] = useState(null); + const [showChatMode, setshowChatMode] = useState(false); const date = new Date(); useEffect(() => { if (clearHistoryData) { @@ -127,7 +131,27 @@ const SideNav: React.FC = ({ } /> - {!isChatModalOpen && } + {!isChatModalOpen && ( + { + setchatModeAnchor(e.currentTarget); + setshowChatMode(true); + }} + icon={ + <> + + + + setshowChatMode(false)} + menuAnchor={chatModeAnchor} + disableBackdrop={true} + > + + } + > + )} )} diff --git a/frontend/src/components/Popups/GraphEnhancementDialog/DeleteTabForOrphanNodes/index.tsx b/frontend/src/components/Popups/GraphEnhancementDialog/DeleteTabForOrphanNodes/index.tsx new file mode 100644 index 000000000..7a6fa98b8 --- /dev/null +++ b/frontend/src/components/Popups/GraphEnhancementDialog/DeleteTabForOrphanNodes/index.tsx @@ -0,0 +1,275 @@ +import { Checkbox, DataGrid, DataGridComponents, Flex, Typography } from '@neo4j-ndl/react'; +import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; +import { UserCredentials, orphanNodeProps } from '../../../../types'; +import { getOrphanNodes } from '../../../../services/GetOrphanNodes'; +import { useCredentials } from '../../../../context/UserCredentials'; +import Legend from '../../../UI/Legend'; +import { calcWordColor } from '@neo4j-devtools/word-color'; +import { DocumentIconOutline } from '@neo4j-ndl/react/icons'; +import ButtonWithToolTip from '../../../UI/ButtonWithToolTip'; +import { + useReactTable, + getCoreRowModel, + createColumnHelper, + getFilteredRowModel, + getPaginationRowModel, + Table, + Row, + getSortedRowModel, +} from '@tanstack/react-table'; +import DeletePopUp from '../../DeletePopUp/DeletePopUp'; +export default function DeletePopUpForOrphanNodes({ + deleteHandler, + loading, +}: { + deleteHandler: (selectedEntities: string[]) => Promise; + loading: boolean; +}) { + const [orphanNodes, setOrphanNodes] = useState([]); + const [totalOrphanNodes, setTotalOrphanNodes] = useState(0); + const [isLoading, setLoading] = useState(false); + const { userCredentials } = useCredentials(); + const [rowSelection, setRowSelection] = useState>({}); + const tableRef = useRef(null); + const [showDeletePopUp, setshowDeletePopUp] = useState(false); + + const fetchOrphanNodes = useCallback(async () => { + try { + setLoading(true); + const apiresponse = await getOrphanNodes(userCredentials as UserCredentials); + setLoading(false); + if (apiresponse.data.data.length) { + setOrphanNodes(apiresponse.data.data); + setTotalOrphanNodes( + apiresponse.data.message != undefined && typeof apiresponse.data.message != 'string' + ? apiresponse.data.message.total + : 0 + ); + } + } catch (error) { + setLoading(false); + console.log(error); + } + }, [userCredentials]); + + useEffect(() => { + (async () => { + await fetchOrphanNodes(); + })(); + return () => { + setOrphanNodes([]); + setTotalOrphanNodes(0); + }; + }, [userCredentials]); + const columnHelper = createColumnHelper(); + + const columns = useMemo( + () => [ + { + id: 'Check to Delete All Files', + header: ({ table }: { table: Table }) => { + return ( + + ); + }, + cell: ({ row }: { row: Row }) => { + return ( +
+ +
+ ); + }, + size: 80, + }, + columnHelper.accessor((row) => row.e.id, { + id: 'Id', + cell: (info) => { + return ( +
+ {info.getValue()} +
+ ); + }, + header: () => ID, + footer: (info) => info.column.id, + }), + columnHelper.accessor((row) => row.e.labels, { + id: 'Labels', + cell: (info) => { + return ( + + {info.getValue().map((l, index) => ( + + ))} + + ); + }, + header: () => Labels, + footer: (info) => info.column.id, + }), + columnHelper.accessor((row) => row.documents, { + id: 'Connnected Documents', + cell: (info) => { + return ( + + {Array.from(new Set([...info.getValue()])).map((d, index) => ( + + + + + {d} + + ))} + + ); + }, + header: () => Related Documents , + footer: (info) => info.column.id, + }), + columnHelper.accessor((row) => row.chunkConnections, { + id: 'Connected Chunks', + cell: (info) => {info?.getValue()}, + header: () => Connected Chunks, + footer: (info) => info.column.id, + }), + ], + [] + ); + const table = useReactTable({ + data: orphanNodes, + columns, + getCoreRowModel: getCoreRowModel(), + getFilteredRowModel: getFilteredRowModel(), + getPaginationRowModel: getPaginationRowModel(), + state: { + rowSelection, + }, + onRowSelectionChange: setRowSelection, + enableGlobalFilter: false, + autoResetPageIndex: false, + enableRowSelection: true, + enableMultiRowSelection: true, + getRowId: (row) => row.e.elementId, + enableSorting: true, + getSortedRowModel: getSortedRowModel(), + initialState: { + pagination: { + pageSize: 5, + }, + }, + }); + + const selectedFilesCheck = table.getSelectedRowModel().rows.length + ? `Delete Selected Nodes (${table.getSelectedRowModel().rows.length})` + : 'Select Node(s) to delete'; + + const onDeleteHandler = async () => { + await deleteHandler(table.getSelectedRowModel().rows.map((r) => r.id)); + const selectedRows = table.getSelectedRowModel().rows.map((r) => r.id); + setTotalOrphanNodes((prev) => prev - selectedRows.length); + selectedRows.forEach((eid: string) => { + setOrphanNodes((prev) => prev.filter((node) => node.e.elementId != eid)); + }); + setshowDeletePopUp(false); + if (totalOrphanNodes) { + await fetchOrphanNodes(); + } + }; + + return ( +
+ {showDeletePopUp && ( + setshowDeletePopUp(false)} + loading={loading} + view='settingsView' + /> + )} +
+ + + Orphan Nodes Deletion (100 nodes per batch) + {totalOrphanNodes > 0 && ( + Total Nodes: {totalOrphanNodes} + )} + + + + This feature helps improve the accuracy of your knowledge graph by identifying and removing entities that + are not connected to any other information. These "lonely" entities can be remnants of past analyses or + errors in data processing. By removing them, we can create a cleaner and more efficient knowledge graph + that leads to more relevant and informative responses. + + + +
+ , + PaginationNumericButton: ({ isSelected, innerProps, ...restProps }) => { + return ( + + ); + }, + }} + /> + + setshowDeletePopUp(true)} + size='large' + loading={loading} + text={ + isLoading + ? 'Fetching Orphan Nodes' + : !isLoading && !orphanNodes.length + ? 'No Nodes Found' + : !table.getSelectedRowModel().rows.length + ? 'No Nodes Selected' + : `Delete Selected Nodes (${table.getSelectedRowModel().rows.length})` + } + label='Orphan Node deletion button' + disabled={!table.getSelectedRowModel().rows.length} + placement='top' + > + {selectedFilesCheck} + + +
+ ); +} diff --git a/frontend/src/components/Popups/GraphEnhancementDialog/index.tsx b/frontend/src/components/Popups/GraphEnhancementDialog/index.tsx new file mode 100644 index 000000000..e85ca660f --- /dev/null +++ b/frontend/src/components/Popups/GraphEnhancementDialog/index.tsx @@ -0,0 +1,100 @@ +import { Dialog, Tabs, Box, Typography, Flex } from '@neo4j-ndl/react'; +import graphenhancement from '../../../assets/images/graph-enhancements.svg'; +import { useEffect, useState } from 'react'; +import DeletePopUpForOrphanNodes from './DeleteTabForOrphanNodes'; +import deleteOrphanAPI from '../../../services/DeleteOrphanNodes'; +import { UserCredentials } from '../../../types'; +import { useCredentials } from '../../../context/UserCredentials'; +import EntityExtractionSettings from '../Settings/EntityExtractionSetting'; +import { AlertColor, AlertPropsColorOverrides } from '@mui/material'; +import { OverridableStringUnion } from '@mui/types'; +import { useFileContext } from '../../../context/UsersFiles'; + +export default function GraphEnhancementDialog({ + open, + onClose, + closeSettingModal +}: { + open: boolean; + onClose: () => void; + showAlert: ( + alertmsg: string, + alerttype: OverridableStringUnion | undefined + ) => void; + closeSettingModal:()=>void +}) { + const [orphanDeleteAPIloading, setorphanDeleteAPIloading] = useState(false); + const { setShowTextFromSchemaDialog } = useFileContext(); + const { userCredentials } = useCredentials(); + + const orphanNodesDeleteHandler = async (selectedEntities: string[]) => { + try { + setorphanDeleteAPIloading(true); + const response = await deleteOrphanAPI(userCredentials as UserCredentials, selectedEntities); + setorphanDeleteAPIloading(false); + console.log(response); + } catch (error) { + console.log(error); + } + }; + useEffect(() => { + closeSettingModal() + }, []) + + const [activeTab, setactiveTab] = useState(0); + return ( + + + + + + + Graph Enhancements + + This set of tools will help you enhance the quality of your Knowledge Graph by removing possible + duplicated entities, disconnected nodes and set a Graph Schema for improving the quality of the entity + extraction process + + + + + Entity Extraction Settings + + + Disconnected Nodes + + + + + + + + + +
+ { + setShowTextFromSchemaDialog({ triggeredFrom: 'enhancementtab', show: true }); + }} + colseEnhanceGraphSchemaDialog={onClose} + settingView='headerView' + /> +
+
+ + + +
+
+ ); +} diff --git a/frontend/src/components/Popups/LargeFilePopUp/ConfirmationDialog.tsx b/frontend/src/components/Popups/LargeFilePopUp/ConfirmationDialog.tsx index 9a9691d92..b1f59fe2f 100644 --- a/frontend/src/components/Popups/LargeFilePopUp/ConfirmationDialog.tsx +++ b/frontend/src/components/Popups/LargeFilePopUp/ConfirmationDialog.tsx @@ -34,7 +34,7 @@ export default function ConfirmationDialog({ setRowSelection((prev) => { const copiedobj = { ...prev }; for (const key in copiedobj) { - if (JSON.parse(key).id == id) { + if (key == id) { copiedobj[key] = true; } } @@ -46,7 +46,7 @@ export default function ConfirmationDialog({ setRowSelection((prev) => { const copiedobj = { ...prev }; for (const key in copiedobj) { - if (JSON.parse(key).id == id) { + if (key == id) { copiedobj[key] = false; } } @@ -73,6 +73,7 @@ export default function ConfirmationDialog({ onClose={() => { setChecked([]); onClose(); + extractHandler(false, []); }} > @@ -83,18 +84,6 @@ export default function ConfirmationDialog({ )} -
- - - - + +
+ + +
+
); } diff --git a/frontend/src/components/WebSources/GenericSourceButton.tsx b/frontend/src/components/WebSources/GenericSourceButton.tsx index 87be06fa5..fcde2c15e 100644 --- a/frontend/src/components/WebSources/GenericSourceButton.tsx +++ b/frontend/src/components/WebSources/GenericSourceButton.tsx @@ -1,15 +1,25 @@ import CustomButton from '../UI/CustomButton'; import internet from '../../assets/images/web-search-svgrepo-com.svg'; +import internetdarkmode from '../../assets/images/web-search-darkmode-final2.svg'; import { DataComponentProps } from '../../types'; import { Flex, Typography } from '@neo4j-ndl/react'; import IconButtonWithToolTip from '../UI/IconButtonToolTip'; import { InformationCircleIconOutline } from '@neo4j-ndl/react/icons'; import { APP_SOURCES } from '../../utils/Constants'; +import { useContext } from 'react'; +import { ThemeWrapperContext } from '../../context/ThemeWrapper'; export default function GenericButton({ openModal }: DataComponentProps) { + const themeUtils = useContext(ThemeWrapperContext); + return ( - + Web Sources diff --git a/frontend/src/components/WebSources/GenericSourceModal.tsx b/frontend/src/components/WebSources/GenericSourceModal.tsx index 6ad89bf02..44a3b5cd5 100644 --- a/frontend/src/components/WebSources/GenericSourceModal.tsx +++ b/frontend/src/components/WebSources/GenericSourceModal.tsx @@ -1,13 +1,17 @@ import { Box, Dialog, Tabs, Typography } from '@neo4j-ndl/react'; -import youtubelogo from '../../assets/images/youtube.png'; -import wikipedialogo from '../../assets/images/Wikipedia-logo-v2.svg'; -import weblogo from '../../assets/images/web-svgrepo-com.svg'; -import { useState } from 'react'; +import youtubelightmodelogo from '../../assets/images/youtube-lightmode.svg'; +import youtubedarkmodelogo from '../../assets/images/youtube-darkmode.svg'; +import wikipedialogo from '../../assets/images/wikipedia.svg'; +import weblogo from '../../assets/images/web.svg'; +import webdarkmode from '../../assets/images/web-darkmode.svg'; +import wikipediadarkmode from '../../assets/images/wikipedia-darkmode.svg'; +import { useContext, useState } from 'react'; import WikipediaInput from './WikiPedia/WikipediaInput'; import WebInput from './Web/WebInput'; import YoutubeInput from './Youtube/YoutubeInput'; import { APP_SOURCES } from '../../utils/Constants'; -import Neo4jRetrievalLogo from '../../assets/images/Neo4jRetrievalLogo.png'; +import Neo4jDataImportFromCloud from '../../assets/images/data-from-cloud.svg'; +import { ThemeWrapperContext } from '../../context/ThemeWrapper'; export default function GenericModal({ open, @@ -22,6 +26,7 @@ export default function GenericModal({ isOnlyWikipedia?: boolean; isOnlyWeb?: boolean; }) { + const themeUtils = useContext(ThemeWrapperContext); const [activeTab, setactiveTab] = useState(isOnlyYoutube ? 0 : isOnlyWikipedia ? 1 : isOnlyWeb ? 2 : 0); const [isLoading, setIsLoading] = useState(false); @@ -29,7 +34,7 @@ export default function GenericModal({ - + Web Sources @@ -40,17 +45,23 @@ export default function GenericModal({ {APP_SOURCES != undefined && APP_SOURCES.includes('youtube') && ( - + )} {APP_SOURCES != undefined && APP_SOURCES.includes('wiki') && ( - + )} {APP_SOURCES != undefined && APP_SOURCES.includes('web') && ( - + )} diff --git a/frontend/src/components/WebSources/Web/WebInput.tsx b/frontend/src/components/WebSources/Web/WebInput.tsx index 16dcc46d7..994949840 100644 --- a/frontend/src/components/WebSources/Web/WebInput.tsx +++ b/frontend/src/components/WebSources/Web/WebInput.tsx @@ -22,7 +22,7 @@ export default function WebInput({ setIsLoading }: { setIsLoading: React.Dispatc isFocused={isFocused} isValid={isValid} disabledCheck={false} - label='Website link' + label='Website Link' placeHolder='https://neo4j.com/' value={inputVal} onChangeHandler={onChangeHandler} diff --git a/frontend/src/context/ThemeWrapper.tsx b/frontend/src/context/ThemeWrapper.tsx index 826c1f083..110e8638b 100644 --- a/frontend/src/context/ThemeWrapper.tsx +++ b/frontend/src/context/ThemeWrapper.tsx @@ -3,7 +3,7 @@ import { NeedleThemeProvider, useMediaQuery } from '@neo4j-ndl/react'; export const ThemeWrapperContext = createContext({ toggleColorMode: () => {}, - colorMode: localStorage.getItem('mode') as string, + colorMode: localStorage.getItem('mode') as 'light' | 'dark', }); interface ThemeWrapperProps { @@ -11,7 +11,9 @@ interface ThemeWrapperProps { } const ThemeWrapper = ({ children }: ThemeWrapperProps) => { const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)'); - const [mode, setMode] = useState(prefersDarkMode ? 'dark' : localStorage.getItem('mode') ?? 'light'); + // @ts-ignore + const defaultMode: 'light' | 'dark' = localStorage.getItem('mode'); + const [mode, setMode] = useState<'light' | 'dark'>(prefersDarkMode ? 'dark' : defaultMode ?? 'light'); const [usingPreferredMode, setUsingPreferredMode] = useState(true); const themeWrapperUtils = useMemo( () => ({ @@ -25,7 +27,7 @@ const ThemeWrapper = ({ children }: ThemeWrapperProps) => { }); }, }), - [] + [mode] ); const themeBodyInjection = (mode: string) => { if (mode === 'light') { diff --git a/frontend/src/context/UsersFiles.tsx b/frontend/src/context/UsersFiles.tsx index 73c6bd66b..26daf6ddd 100644 --- a/frontend/src/context/UsersFiles.tsx +++ b/frontend/src/context/UsersFiles.tsx @@ -2,7 +2,10 @@ import { createContext, useContext, useState, Dispatch, SetStateAction, FC, useE import { CustomFile, FileContextProviderProps, OptionType } from '../types'; import { defaultLLM } from '../utils/Constants'; import { useCredentials } from './UserCredentials'; - +interface showTextFromSchemaDialogType { + triggeredFrom: string; + show: boolean; +} interface FileContextType { files: (File | null)[] | []; filesData: CustomFile[] | []; @@ -26,6 +29,8 @@ interface FileContextType { setchatMode: Dispatch>; isSchema: boolean; setIsSchema: React.Dispatch>; + showTextFromSchemaDialog: showTextFromSchemaDialogType; + setShowTextFromSchemaDialog: React.Dispatch>; } const FileContext = createContext(undefined); @@ -45,6 +50,10 @@ const FileContextProvider: FC = ({ children }) => { const [chatMode, setchatMode] = useState('graph+vector'); const { userCredentials } = useCredentials(); const [isSchema, setIsSchema] = useState(false); + const [showTextFromSchemaDialog, setShowTextFromSchemaDialog] = useState({ + triggeredFrom: '', + show: false, + }); useEffect(() => { if (selectedNodeLabelstr != null) { @@ -84,6 +93,8 @@ const FileContextProvider: FC = ({ children }) => { setchatMode, isSchema, setIsSchema, + setShowTextFromSchemaDialog, + showTextFromSchemaDialog, }; return {children}; }; diff --git a/frontend/src/hooks/useSourceInput.tsx b/frontend/src/hooks/useSourceInput.tsx index 76a3fa6a7..63a8deb5c 100644 --- a/frontend/src/hooks/useSourceInput.tsx +++ b/frontend/src/hooks/useSourceInput.tsx @@ -154,7 +154,7 @@ export default function useSourceInput( } setTimeout(() => { setStatus('unknown'); - }, 1000); + }, 3000); }, [filesData, isWikiQuery, isYoutubeLink, isWebLink, isValid, fileSource, model] diff --git a/frontend/src/services/ChunkEntitiesInfo.ts b/frontend/src/services/ChunkEntitiesInfo.ts index 85e3cf3fd..3b4323197 100644 --- a/frontend/src/services/ChunkEntitiesInfo.ts +++ b/frontend/src/services/ChunkEntitiesInfo.ts @@ -15,7 +15,6 @@ const chunkEntitiesAPI = async (userCredentials: UserCredentials, chunk_ids: str 'Content-Type': 'multipart/form-data', }, }); - console.log('response api', response); return response; } catch (error) { console.log('Error uploading file:', error); diff --git a/frontend/src/services/DeleteFiles.ts b/frontend/src/services/DeleteFiles.ts index 4c9456e7b..36ae28cbd 100644 --- a/frontend/src/services/DeleteFiles.ts +++ b/frontend/src/services/DeleteFiles.ts @@ -1,11 +1,11 @@ import axios from 'axios'; import { url } from '../utils/Utils'; -import { UserCredentials } from '../types'; +import { CustomFile, UserCredentials } from '../types'; -const deleteAPI = async (userCredentials: UserCredentials, selectedFiles: string[], deleteEntities: boolean) => { +const deleteAPI = async (userCredentials: UserCredentials, selectedFiles: CustomFile[], deleteEntities: boolean) => { try { - const filenames = selectedFiles.map((str) => JSON.parse(str).name); - const source_types = selectedFiles.map((str) => JSON.parse(str).fileSource); + const filenames = selectedFiles.map((str) => str.name); + const source_types = selectedFiles.map((str) => str.fileSource); const formData = new FormData(); formData.append('uri', userCredentials?.uri ?? ''); formData.append('database', userCredentials?.database ?? ''); diff --git a/frontend/src/services/GraphQuery.ts b/frontend/src/services/GraphQuery.ts index fb4e79960..55d22a5ee 100644 --- a/frontend/src/services/GraphQuery.ts +++ b/frontend/src/services/GraphQuery.ts @@ -2,7 +2,11 @@ import axios from 'axios'; import { url } from '../utils/Utils'; import { UserCredentials } from '../types'; -const graphQueryAPI = async (userCredentials: UserCredentials, query_type: string, document_names: string[]) => { +const graphQueryAPI = async ( + userCredentials: UserCredentials, + query_type: string, + document_names: (string | undefined)[] | undefined +) => { try { const formData = new FormData(); formData.append('uri', userCredentials?.uri ?? ''); diff --git a/frontend/src/services/QnaAPI.ts b/frontend/src/services/QnaAPI.ts index 0e483a8f1..931618839 100644 --- a/frontend/src/services/QnaAPI.ts +++ b/frontend/src/services/QnaAPI.ts @@ -7,7 +7,8 @@ export const chatBotAPI = async ( question: string, session_id: string, model: string, - mode = 'vector' + mode: string, + document_names?: (string | undefined)[] ) => { try { const formData = new FormData(); @@ -19,6 +20,7 @@ export const chatBotAPI = async ( formData.append('session_id', session_id); formData.append('model', model); formData.append('mode', mode); + formData.append('document_names', JSON.stringify(document_names)); const startTime = Date.now(); const response = await axios.post(`${url()}/chat_bot`, formData, { headers: { diff --git a/frontend/src/types.ts b/frontend/src/types.ts index 7bf8bced3..dc0cadf1a 100644 --- a/frontend/src/types.ts +++ b/frontend/src/types.ts @@ -23,6 +23,7 @@ export interface CustomFileBase extends Partial { language?: string; processingProgress?: number; access_token?: string; + checked?: boolean; } export interface CustomFile extends CustomFileBase { id: string; @@ -153,7 +154,9 @@ export interface ContentProps { openTextSchema: () => void; isSchema?: boolean; setIsSchema: Dispatch>; - openOrphanNodeDeletionModal: () => void; + showEnhancementDialog: boolean; + setshowEnhancementDialog: Dispatch>; + closeSettingModal:()=>void } export interface FileTableProps { @@ -225,6 +228,9 @@ export interface Messages { total_tokens?: number; speaking?: boolean; copying?: boolean; + mode?: string; + cypher_query?: string; + graphonly_entities?: []; } export type ChatbotProps = { @@ -246,9 +252,20 @@ export interface GraphViewModalProps { viewPoint: string; nodeValues?: Node[]; relationshipValues?: Relationship[]; + selectedRows?: CustomFile[] | undefined; } -export type GraphType = 'document' | 'chunks' | 'entities'; +export type GraphType = 'Document' | 'Entities' | 'Chunk'; + +export type PartialLabelNode = Partial & { + labels: string; +}; + +export interface CheckboxSectionProps { + graphType: GraphType[]; + loading: boolean; + handleChange: (graph: GraphType) => void; +} export interface fileName { fileName: string; @@ -317,6 +334,7 @@ export type alertStateType = { }; export type Scheme = Record; + export type LabelCount = Record; interface NodeType extends Partial { labels?: string[]; @@ -346,10 +364,13 @@ export interface labelsAndTypes { labels: string[]; relationshipTypes: string[]; } +interface orphanTotalNodes { + total: number; +} export interface commonserverresponse { status: string; error?: string; - message?: string; + message?: string | orphanTotalNodes; file_name?: string; data?: labelsAndTypes | labelsAndTypes[] | uploadData | orphanNodeProps[]; } @@ -381,6 +402,9 @@ export interface chatInfoMessage extends Partial { response_time: number; chunk_ids: chunk[]; total_tokens: number; + mode: string; + cypher_query?: string; + graphonly_entities: []; } export interface eventResponsetypes { @@ -499,7 +523,9 @@ export interface Menuitems { title: string; onClick: () => void; disabledCondition: boolean; - description?: string; + description?: string | React.ReactNode; + isSelected?: boolean; + selectedClassName?: string; } export type Vertical = 'top' | 'bottom'; export type Horizontal = 'left' | 'right' | 'center'; @@ -507,3 +533,41 @@ export interface Origin { vertical: Vertical; horizontal: Horizontal; } + +export type BasicNode = { + id: string; + labels: string[]; + properties: Record; + propertyTypes: Record; +}; + +export type GraphStatsLabels = Record< + string, + { + count: number; + properties: Record; + } +>; + +type NodeStyling = { + backgroundColor: string; + borderColor: string; + textColor: string; + caption: string; + diameter: string; +}; + +type RelationStyling = { + fontSize: string; + lineColor: string; + textColorExternal: string; + textColorInternal: string; + caption: string; + padding: string; + width: string; +}; + +export type GraphStyling = { + node: Record>; + relationship: Record>; +}; diff --git a/frontend/src/utils/Constants.ts b/frontend/src/utils/Constants.ts index ee7fdd441..1006b041f 100644 --- a/frontend/src/utils/Constants.ts +++ b/frontend/src/utils/Constants.ts @@ -1,4 +1,5 @@ -import { VisualizeBloomIcon } from '@neo4j-ndl/react/icons'; +import { NvlOptions } from '@neo4j-nvl/base'; +import { GraphType, OptionType } from '../types'; export const document = `+ [docs]`; @@ -34,14 +35,28 @@ export const APP_SOURCES = export const llms = process.env?.LLM_MODELS?.trim() != '' ? process.env.LLM_MODELS?.split(',') - : ['diffbot', 'gpt-3.5', 'gpt-4o', 'gemini-1.0-pro', 'gemini-1.5-pro', 'groq-llama3']; - -export const defaultLLM = llms?.includes('gpt-3.5') - ? 'gpt-3.5' + : [ + 'diffbot', + 'openai-gpt-3.5', + 'openai-gpt-4o', + 'gemini-1.0-pro', + 'gemini-1.5-pro', + 'azure_ai_gpt_35', + 'azure_ai_gpt_4o', + 'ollama_llama3', + 'groq_llama3_70b', + 'anthropic_claude_3_5_sonnet', + 'fireworks_llama_v3_70b', + 'bedrock_claude_3_5_sonnet', + ]; + +export const defaultLLM = llms?.includes('openai-gpt-3.5') + ? 'openai-gpt-3.5' : llms?.includes('gemini-1.0-pro') ? 'gemini-1.0-pro' : 'diffbot'; - +export const chatModes = + process.env?.CHAT_MODES?.trim() != '' ? process.env.CHAT_MODES?.split(',') : ['vector', 'graph', 'graph+vector']; export const chunkSize = process.env.CHUNK_SIZE ? parseInt(process.env.CHUNK_SIZE) : 1 * 1024 * 1024; export const timeperpage = process.env.TIME_PER_PAGE ? parseInt(process.env.TIME_PER_PAGE) : 50; export const timePerByte = 0.2; @@ -139,11 +154,40 @@ export const buttonCaptions = { details: 'Details', continueSettings: 'Continue', clearSettings: 'Clear Settings', + ask: 'Ask', }; -export const ChatModeOptions = [ - { Icon: VisualizeBloomIcon, value: 'vector' }, - { Icon: 'abc', value: 'graph+vector' }, -]; +export const taskParam: string[] = ['update_similarity_graph', 'create_fulltext_index', 'create_entity_embedding']; + +export const nvlOptions: NvlOptions = { + allowDynamicMinZoom: true, + disableWebGL: true, + maxZoom: 3, + minZoom: 0.05, + relationshipThreshold: 0.55, + useWebGL: false, + instanceId: 'graph-preview', + initialZoom: 1, +}; -export const taskParam: string[] = ['update_similarity_graph', 'create_fulltext_index']; +export const mouseEventCallbacks = { + onPan: true, + onZoom: true, + onDrag: true, +}; + +export const graphQuery: string = queryMap.DocChunkEntities; +export const graphView: OptionType[] = [ + { label: 'Lexical Graph', value: queryMap.DocChunks }, + { label: 'Entity Graph', value: queryMap.Entities }, + { label: 'Knowledge Graph', value: queryMap.DocChunkEntities }, +]; +export const intitalGraphType: GraphType[] = ['Document', 'Entities', 'Chunk']; +export const knowledgeGraph = 'Knowledge Graph'; +export const lexicalGraph = 'Lexical Graph'; +export const entityGraph = 'Entity Graph'; + +export const appLabels = { + ownSchema: 'Or Define your own Schema', + predefinedSchema: 'Select a Pre-defined Schema', +}; diff --git a/frontend/src/utils/Utils.ts b/frontend/src/utils/Utils.ts index 94271c20e..9230c0875 100644 --- a/frontend/src/utils/Utils.ts +++ b/frontend/src/utils/Utils.ts @@ -1,6 +1,6 @@ import { calcWordColor } from '@neo4j-devtools/word-color'; import type { Node, Relationship } from '@neo4j-nvl/base'; -import { Messages, Scheme } from '../types'; +import { GraphType, Messages, Scheme } from '../types'; // Get the Url export const url = () => { @@ -22,8 +22,7 @@ export const wikiValidation = (url: string) => { export const webLinkValidation = (url: string) => { return ( url.trim() != '' && - /(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g.test(url) != - false + /(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_.~#?&//=]*)/g.test(url) != false ); }; export const youtubeLinkValidation = (url: string) => { @@ -166,6 +165,73 @@ export const processGraphData = (neoNodes: Node[], neoRels: Relationship[]) => { return { finalNodes, finalRels, schemeVal }; }; +export const filterData = ( + graphType: GraphType[], + allNodes: Node[], + allRelationships: Relationship[], + scheme: Scheme +) => { + let filteredNodes: Node[] = []; + let filteredRelations: Relationship[] = []; + let filteredScheme: Scheme = {}; + const entityTypes = Object.keys(scheme).filter((type) => type !== 'Document' && type !== 'Chunk'); + if (graphType.includes('Document') && !graphType.includes('Entities') && !graphType.includes('Chunk')) { + // Document only + // @ts-ignore + filteredNodes = allNodes.filter((node) => node.labels.includes('Document')); + filteredScheme = { Document: scheme.Document }; + } else if (!graphType.includes('Document') && graphType.includes('Entities') && !graphType.includes('Chunk')) { + // Only Entity + // @ts-ignore + const entityNode = allNodes.filter((node) => !node.labels.includes('Document') && !node.labels.includes('Chunk')); + filteredNodes = entityNode ? entityNode : []; + // @ts-ignore + filteredRelations = allRelationships.filter( + (rel) => !['PART_OF', 'FIRST_CHUNK', 'HAS_ENTITY', 'SIMILAR', 'NEXT_CHUNK'].includes(rel.caption) + ); + filteredScheme = Object.fromEntries(entityTypes.map((key) => [key, scheme[key]])) as Scheme; + } else if (!graphType.includes('Document') && !graphType.includes('Entities') && graphType.includes('Chunk')) { + // Only Chunk + // @ts-ignore + filteredNodes = allNodes.filter((node) => node.labels.includes('Chunk')); + // @ts-ignore + filteredRelations = allRelationships.filter((rel) => ['SIMILAR', 'NEXT_CHUNK'].includes(rel.caption)); + filteredScheme = { Chunk: scheme.Chunk }; + } else if (graphType.includes('Document') && graphType.includes('Entities') && !graphType.includes('Chunk')) { + // Document + Entity + // @ts-ignore + filteredNodes = allNodes.filter( + (node) => + node.labels.includes('Document') || (!node.labels.includes('Document') && !node.labels.includes('Chunk')) + ); + // @ts-ignore + filteredRelations = allRelationships.filter( + (rel) => !['PART_OF', 'FIRST_CHUNK', 'HAS_ENTITY', 'SIMILAR', 'NEXT_CHUNK'].includes(rel.caption) + ); + } else if (graphType.includes('Document') && !graphType.includes('Entities') && graphType.includes('Chunk')) { + // Document + Chunk + // @ts-ignore + filteredNodes = allNodes.filter((node) => node.labels.includes('Document') || node.labels.includes('Chunk')); + // @ts-ignore + filteredRelations = allRelationships.filter((rel) => + ['PART_OF', 'FIRST_CHUNK', 'SIMILAR', 'NEXT_CHUNK'].includes(rel.caption) + ); + filteredScheme = { Document: scheme.Document, Chunk: scheme.Chunk }; + } else if (!graphType.includes('Document') && graphType.includes('Entities') && graphType.includes('Chunk')) { + // Chunk + Entity + // @ts-ignore + filteredNodes = allNodes.filter((node) => !node.labels.includes('Document')); + // @ts-ignore + filteredRelations = allRelationships.filter((rel) => !['PART_OF', 'FIRST_CHUNK'].includes(rel.caption)); + } else if (graphType.includes('Document') && graphType.includes('Entities') && graphType.includes('Chunk')) { + // Document + Chunk + Entity + filteredNodes = allNodes; + filteredRelations = allRelationships; + filteredScheme = scheme; + } + return { filteredNodes, filteredRelations, filteredScheme }; +}; + export const getDateTime = () => { const date = new Date(); const formattedDateTime = `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`; diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 2a62301f0..9a0bfb935 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -2,248 +2,232 @@ # yarn lockfile v1 -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - "@alloc/quick-lru@^5.2.0": version "5.2.0" - resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== "@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2": - version "7.24.2" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz" - integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" + integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== dependencies: - "@babel/highlight" "^7.24.2" + "@babel/highlight" "^7.24.7" picocolors "^1.0.0" -"@babel/compat-data@^7.23.5": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz" - integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== +"@babel/compat-data@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.7.tgz#d23bbea508c3883ba8251fb4164982c36ea577ed" + integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw== -"@babel/core@^7.23.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz" - integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== +"@babel/core@^7.24.5": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.7.tgz#b676450141e0b52a3d43bc91da86aa608f950ac4" + integrity sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.24.5" - "@babel/helpers" "^7.24.5" - "@babel/parser" "^7.24.5" - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.5" - "@babel/types" "^7.24.5" + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.24.7" + "@babel/helper-compilation-targets" "^7.24.7" + "@babel/helper-module-transforms" "^7.24.7" + "@babel/helpers" "^7.24.7" + "@babel/parser" "^7.24.7" + "@babel/template" "^7.24.7" + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz" - integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== +"@babel/generator@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.7.tgz#1654d01de20ad66b4b4d99c135471bc654c55e6d" + integrity sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA== dependencies: - "@babel/types" "^7.24.5" + "@babel/types" "^7.24.7" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" -"@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== +"@babel/helper-compilation-targets@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz#4eb6c4a80d6ffeac25ab8cd9a21b5dfa48d503a9" + integrity sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg== dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" + "@babel/compat-data" "^7.24.7" + "@babel/helper-validator-option" "^7.24.7" browserslist "^4.22.2" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.24.3": - version "7.24.3" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz" - integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== - dependencies: - "@babel/types" "^7.24.0" - -"@babel/helper-module-transforms@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz" - integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.24.3" - "@babel/helper-simple-access" "^7.24.5" - "@babel/helper-split-export-declaration" "^7.24.5" - "@babel/helper-validator-identifier" "^7.24.5" - -"@babel/helper-plugin-utils@^7.22.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz" - integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== - -"@babel/helper-simple-access@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz" - integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== - dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-split-export-declaration@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz" - integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== - dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-string-parser@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz" - integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== - -"@babel/helper-validator-identifier@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz" - integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== - -"@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helpers@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz" - integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== - dependencies: - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.5" - "@babel/types" "^7.24.5" - -"@babel/highlight@^7.24.2": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz" - integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.5" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" +"@babel/helper-environment-visitor@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz#4b31ba9551d1f90781ba83491dd59cf9b269f7d9" + integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ== + dependencies: + "@babel/types" "^7.24.7" -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.24.0", "@babel/parser@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz" - integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== +"@babel/helper-function-name@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz#75f1e1725742f39ac6584ee0b16d94513da38dd2" + integrity sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA== + dependencies: + "@babel/template" "^7.24.7" + "@babel/types" "^7.24.7" -"@babel/plugin-transform-react-jsx-self@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz" - integrity sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ== +"@babel/helper-hoist-variables@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz#b4ede1cde2fd89436397f30dc9376ee06b0f25ee" + integrity sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/types" "^7.24.7" -"@babel/plugin-transform-react-jsx-source@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz" - integrity sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g== +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" + integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.20.13", "@babel/runtime@^7.21.0", "@babel/runtime@^7.3.1": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.5.tgz#230946857c053a36ccc66e1dd03b17dd0c4ed02c" - integrity sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g== +"@babel/helper-module-transforms@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz#31b6c9a2930679498db65b685b1698bfd6c7daf8" + integrity sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ== dependencies: - regenerator-runtime "^0.14.0" + "@babel/helper-environment-visitor" "^7.24.7" + "@babel/helper-module-imports" "^7.24.7" + "@babel/helper-simple-access" "^7.24.7" + "@babel/helper-split-export-declaration" "^7.24.7" + "@babel/helper-validator-identifier" "^7.24.7" + +"@babel/helper-plugin-utils@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz#98c84fe6fe3d0d3ae7bfc3a5e166a46844feb2a0" + integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== -"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.23.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz" - integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== +"@babel/helper-simple-access@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" + integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== dependencies: - regenerator-runtime "^0.14.0" + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-split-export-declaration@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz#83949436890e07fa3d6873c61a96e3bbf692d856" + integrity sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA== + dependencies: + "@babel/types" "^7.24.7" + +"@babel/helper-string-parser@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz#4d2d0f14820ede3b9807ea5fc36dfc8cd7da07f2" + integrity sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg== + +"@babel/helper-validator-identifier@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" + integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== + +"@babel/helper-validator-option@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz#24c3bb77c7a425d1742eec8fb433b5a1b38e62f6" + integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw== + +"@babel/helpers@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.7.tgz#aa2ccda29f62185acb5d42fb4a3a1b1082107416" + integrity sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg== + dependencies: + "@babel/template" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/highlight@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" + integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.7" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85" + integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== + +"@babel/plugin-transform-react-jsx-self@^7.24.5": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz#66bff0248ea0b549972e733516ffad577477bdab" + integrity sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-transform-react-jsx-source@^7.24.1": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz#1198aab2548ad19582013815c938d3ebd8291ee3" + integrity sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/runtime@^7.24.1": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.6.tgz#5b76eb89ad45e2e4a0a8db54c456251469a3358e" - integrity sha512-Ja18XcETdEl5mzzACGd+DKgaGJzPTCow7EglgwTmHdwokzDFYh/MHua6lU6DV/hjF2IaOJ4oX2nqnjG7RElKOw== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.13", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.9", "@babel/runtime@^7.24.1", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.7.tgz#f4f0d5530e8dbdf59b3451b9b3e594b6ba082e12" + integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.22.15", "@babel/template@^7.24.0": - version "7.24.0" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz" - integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" - -"@babel/traverse@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz" - integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== - dependencies: - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.24.5" - "@babel/parser" "^7.24.5" - "@babel/types" "^7.24.5" +"@babel/template@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.7.tgz#02efcee317d0609d2c07117cb70ef8fb17ab7315" + integrity sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/parser" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/traverse@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.7.tgz#de2b900163fa741721ba382163fe46a936c40cf5" + integrity sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.24.7" + "@babel/helper-environment-visitor" "^7.24.7" + "@babel/helper-function-name" "^7.24.7" + "@babel/helper-hoist-variables" "^7.24.7" + "@babel/helper-split-export-declaration" "^7.24.7" + "@babel/parser" "^7.24.7" + "@babel/types" "^7.24.7" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz" - integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.7.tgz#6027fe12bc1aa724cd32ab113fb7f1988f1f66f2" + integrity sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q== dependencies: - "@babel/helper-string-parser" "^7.24.1" - "@babel/helper-validator-identifier" "^7.24.5" + "@babel/helper-string-parser" "^7.24.7" + "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" "@codemirror/autocomplete@^6.4.1": - version "6.16.0" - resolved "https://registry.yarnpkg.com/@codemirror/autocomplete/-/autocomplete-6.16.0.tgz#595eb30099ba91a835ed65ed8ff7497388f604b3" - integrity sha512-P/LeCTtZHRTCU4xQsa89vSKWecYv1ZqwzOd5topheGRf+qtacFgBeIMQi3eL8Kt/BUNvxUWkx+5qP2jlGoARrg== + version "6.17.0" + resolved "https://registry.yarnpkg.com/@codemirror/autocomplete/-/autocomplete-6.17.0.tgz#24ff5fc37fd91f6439df6f4ff9c8e910cde1b053" + integrity sha512-fdfj6e6ZxZf8yrkMHUSJJir7OJkHkZKaOZGzLWIYp2PZ3jd+d+UjG8zVPqJF6d3bKxkhvXTPan/UZ1t7Bqm0gA== dependencies: "@codemirror/language" "^6.0.0" "@codemirror/state" "^6.0.0" @@ -251,19 +235,19 @@ "@lezer/common" "^1.0.0" "@codemirror/commands@^6.2.1": - version "6.5.0" - resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-6.5.0.tgz#e7dfb7918e7af8889d5731ff4c46ffafd7687353" - integrity sha512-rK+sj4fCAN/QfcY9BEzYMgp4wwL/q5aj/VfNSoH1RWPF9XS/dUwBkvlL3hpWgEjOqlpdN1uLC9UkjJ4tmyjJYg== + version "6.6.0" + resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-6.6.0.tgz#d308f143fe1b8896ca25fdb855f66acdaf019dd4" + integrity sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg== dependencies: "@codemirror/language" "^6.0.0" "@codemirror/state" "^6.4.0" - "@codemirror/view" "^6.0.0" + "@codemirror/view" "^6.27.0" "@lezer/common" "^1.1.0" "@codemirror/language@^6.0.0", "@codemirror/language@^6.6.0": - version "6.10.1" - resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.10.1.tgz#428c932a158cb75942387acfe513c1ece1090b05" - integrity sha512-5GrXzrhq6k+gL5fjkAwt90nYDmjlzTIJV8THnxNFtNKWotMIlzzN+CpqxqwXOECnUdOndmSeWntVrVcv5axWRQ== + version "6.10.2" + resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.10.2.tgz#4056dc219619627ffe995832eeb09cea6060be61" + integrity sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA== dependencies: "@codemirror/state" "^6.0.0" "@codemirror/view" "^6.23.0" @@ -273,9 +257,9 @@ style-mod "^4.0.0" "@codemirror/lint@^6.1.0": - version "6.7.0" - resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.7.0.tgz#b252169512f826d5d742f1d82b478d53548c9ba6" - integrity sha512-LTLOL2nT41ADNSCCCCw8Q/UmdAFzB23OUYSjsHTdsVaH0XEo+orhuqbDNWzrzodm14w6FOxqxpmy4LF8Lixqjw== + version "6.8.1" + resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.8.1.tgz#6427848815baaf68c08e98c7673b804d3d8c0e7f" + integrity sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg== dependencies: "@codemirror/state" "^6.0.0" "@codemirror/view" "^6.0.0" @@ -295,10 +279,10 @@ resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.4.1.tgz#da57143695c056d9a3c38705ed34136e2b68171b" integrity sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A== -"@codemirror/view@^6.0.0", "@codemirror/view@^6.17.0", "@codemirror/view@^6.23.0", "@codemirror/view@^6.9.0": - version "6.26.3" - resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.26.3.tgz#47aebd49a6ee3c8d36b82046d3bffe6056b8039f" - integrity sha512-gmqxkPALZjkgSxIeeweY/wGQXBfwTUaLs8h7OKtSwfbj9Ct3L11lD+u1sS7XHppxFQoMDiMDp07P9f3I2jWOHw== +"@codemirror/view@^6.0.0", "@codemirror/view@^6.17.0", "@codemirror/view@^6.23.0", "@codemirror/view@^6.27.0", "@codemirror/view@^6.9.0": + version "6.28.4" + resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.28.4.tgz#6fb91182ad9cfa1d300578342d3327348f3ed912" + integrity sha512-QScv95fiviSQ/CaVGflxAvvvDy/9wi0RFyDl4LkHHWiMr/UPebyuTspmYSeN5Nx6eujcPYwsQzA6ZIZucKZVHQ== dependencies: "@codemirror/state" "^6.4.0" style-mod "^4.1.0" @@ -337,7 +321,7 @@ "@emotion/babel-plugin@^11.11.0": version "11.11.0" - resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== dependencies: "@babel/helper-module-imports" "^7.16.7" @@ -354,7 +338,7 @@ "@emotion/cache@^11.11.0", "@emotion/cache@^11.4.0": version "11.11.0" - resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== dependencies: "@emotion/memoize" "^0.8.1" @@ -365,19 +349,19 @@ "@emotion/hash@^0.9.1": version "0.9.1" - resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== -"@emotion/is-prop-valid@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz" - integrity sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw== +"@emotion/is-prop-valid@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz#d4175076679c6a26faa92b03bb786f9e52612337" + integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw== dependencies: "@emotion/memoize" "^0.8.1" "@emotion/memoize@^0.8.1": version "0.8.1" - resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== "@emotion/react@^11.8.1": @@ -394,18 +378,7 @@ "@emotion/weak-memoize" "^0.3.1" hoist-non-react-statics "^3.3.1" -"@emotion/serialize@^1.1.2": - version "1.1.3" - resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.3.tgz" - integrity sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA== - dependencies: - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/unitless" "^0.8.1" - "@emotion/utils" "^1.2.1" - csstype "^3.0.2" - -"@emotion/serialize@^1.1.3": +"@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3", "@emotion/serialize@^1.1.4": version "1.1.4" resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.4.tgz#fc8f6d80c492cfa08801d544a05331d1cc7cd451" integrity sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ== @@ -418,39 +391,39 @@ "@emotion/sheet@^1.2.2": version "1.2.2" - resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== "@emotion/styled@^11.11.0": - version "11.11.0" - resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz" - integrity sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng== + version "11.11.5" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.5.tgz#0c5c8febef9d86e8a926e663b2e5488705545dfb" + integrity sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ== dependencies: "@babel/runtime" "^7.18.3" "@emotion/babel-plugin" "^11.11.0" - "@emotion/is-prop-valid" "^1.2.1" - "@emotion/serialize" "^1.1.2" + "@emotion/is-prop-valid" "^1.2.2" + "@emotion/serialize" "^1.1.4" "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" "@emotion/utils" "^1.2.1" "@emotion/unitless@^0.8.1": version "0.8.1" - resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== "@emotion/use-insertion-effect-with-fallbacks@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== "@emotion/utils@^1.2.1": version "1.2.1" - resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== "@emotion/weak-memoize@^0.3.1": version "0.3.1" - resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== "@esbuild/android-arm64@0.18.20": @@ -470,7 +443,7 @@ "@esbuild/darwin-arm64@0.18.20": version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== "@esbuild/darwin-x64@0.18.20": @@ -565,19 +538,19 @@ "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + version "4.11.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" + integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== "@eslint/eslintrc@^2.1.4": version "2.1.4" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== dependencies: ajv "^6.12.4" @@ -590,48 +563,40 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.56.0": - version "8.56.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz" - integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== +"@eslint/js@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" + integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== -"@floating-ui/core@^1.0.0": - version "1.6.0" - resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz" - integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g== +"@floating-ui/core@^1.6.0": + version "1.6.4" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.4.tgz#0140cf5091c8dee602bff9da5ab330840ff91df6" + integrity sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA== dependencies: - "@floating-ui/utils" "^0.2.1" + "@floating-ui/utils" "^0.2.4" -"@floating-ui/dom@^1.0.0", "@floating-ui/dom@^1.0.1": - version "1.6.5" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.5.tgz#323f065c003f1d3ecf0ff16d2c2c4d38979f4cb9" - integrity sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw== +"@floating-ui/dom@^1.0.0", "@floating-ui/dom@^1.0.1", "@floating-ui/dom@^1.3.0": + version "1.6.7" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.7.tgz#85d22f731fcc5b209db504478fb1df5116a83015" + integrity sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng== dependencies: - "@floating-ui/core" "^1.0.0" - "@floating-ui/utils" "^0.2.0" + "@floating-ui/core" "^1.6.0" + "@floating-ui/utils" "^0.2.4" -"@floating-ui/dom@^1.6.1": - version "1.6.3" - resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz" - integrity sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw== +"@floating-ui/react-dom@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.1.tgz#7972a4fc488a8c746cded3cfe603b6057c308a91" + integrity sha512-rZtAmSht4Lry6gdhAJDrCp/6rKN7++JnL1/Anbr/DdeyYXQPxvg/ivrbYvJulbRf4vL8b212suwMM2lxbv+RQA== dependencies: - "@floating-ui/core" "^1.0.0" - "@floating-ui/utils" "^0.2.0" + "@floating-ui/dom" "^1.3.0" -"@floating-ui/react-dom@^2.0.1": - version "2.0.9" - resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.9.tgz#264ba8b061000baa132b5910f0427a6acf7ad7ce" - integrity sha512-q0umO0+LQK4+p6aGyvzASqKbKOJcAHJ7ycE9CuUvfx3s9zTHWmGJTPOIlM/hmSBfUfg/XfY5YhLBLR/LHwShQQ== +"@floating-ui/react-dom@^2.0.1", "@floating-ui/react-dom@^2.0.8": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.1.tgz#cca58b6b04fc92b4c39288252e285e0422291fb0" + integrity sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg== dependencies: "@floating-ui/dom" "^1.0.0" -"@floating-ui/react-dom@^2.0.8": - version "2.0.8" - resolved "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.8.tgz" - integrity sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw== - dependencies: - "@floating-ui/dom" "^1.6.1" - "@floating-ui/react@0.25.1": version "0.25.1" resolved "https://registry.yarnpkg.com/@floating-ui/react/-/react-0.25.1.tgz#174bf4322913aa3549aeff27a0755fe10c66686d" @@ -646,15 +611,15 @@ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.6.tgz#22958c042e10b67463997bd6ea7115fe28cbcaf9" integrity sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A== -"@floating-ui/utils@^0.2.0", "@floating-ui/utils@^0.2.1": - version "0.2.1" - resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz" - integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== +"@floating-ui/utils@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.4.tgz#1d459cee5031893a08a0e064c406ad2130cced7c" + integrity sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA== -"@formatjs/ecma402-abstract@1.18.2": - version "1.18.2" - resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.18.2.tgz#bf103712a406874eb1e387858d5be2371ab3aa14" - integrity sha512-+QoPW4csYALsQIl8GbN14igZzDbuwzcpWrku9nyMXlaqAlwRBgl5V+p0vWMGFqHOw37czNXaP/lEk4wbLgcmtA== +"@formatjs/ecma402-abstract@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz#39197ab90b1c78b7342b129a56a7acdb8f512e17" + integrity sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g== dependencies: "@formatjs/intl-localematcher" "0.5.4" tslib "^2.4.0" @@ -666,21 +631,21 @@ dependencies: tslib "^2.4.0" -"@formatjs/icu-messageformat-parser@2.7.6": - version "2.7.6" - resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.6.tgz#3d69806de056d2919d53dad895a5ff4851e4e9ff" - integrity sha512-etVau26po9+eewJKYoiBKP6743I1br0/Ie00Pb/S/PtmYfmjTcOn2YCh2yNkSZI12h6Rg+BOgQYborXk46BvkA== +"@formatjs/icu-messageformat-parser@2.7.8": + version "2.7.8" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz#f6d7643001e9bb5930d812f1f9a9856f30fa0343" + integrity sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA== dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - "@formatjs/icu-skeleton-parser" "1.8.0" + "@formatjs/ecma402-abstract" "2.0.0" + "@formatjs/icu-skeleton-parser" "1.8.2" tslib "^2.4.0" -"@formatjs/icu-skeleton-parser@1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.0.tgz#5f3d3a620c687d6f8c180d80d1241e8f213acf79" - integrity sha512-QWLAYvM0n8hv7Nq5BEs4LKIjevpVpbGLAJgOaYzg9wABEoX1j0JO1q2/jVkO6CVlq0dbsxZCngS5aXbysYueqA== +"@formatjs/icu-skeleton-parser@1.8.2": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz#2252c949ae84ee66930e726130ea66731a123c9f" + integrity sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q== dependencies: - "@formatjs/ecma402-abstract" "1.18.2" + "@formatjs/ecma402-abstract" "2.0.0" tslib "^2.4.0" "@formatjs/intl-localematcher@0.5.4": @@ -690,62 +655,62 @@ dependencies: tslib "^2.4.0" -"@heroicons/react@2.0.13": - version "2.0.13" - resolved "https://registry.yarnpkg.com/@heroicons/react/-/react-2.0.13.tgz#9b1cc54ff77d6625c9565efdce0054a4bcd9074c" - integrity sha512-iSN5XwmagrnirWlYEWNPdCDj9aRYVD/lnK3JlsC9/+fqGF80k8C7rl+1HCvBX0dBoagKqOFBs6fMhJJ1hOg1EQ== +"@heroicons/react@2.0.18": + version "2.0.18" + resolved "https://registry.yarnpkg.com/@heroicons/react/-/react-2.0.18.tgz#f80301907c243df03c7e9fd76c0286e95361f7c1" + integrity sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw== -"@humanwhocodes/config-array@^0.11.13": - version "0.11.13" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz" - integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ== +"@humanwhocodes/config-array@^0.11.14": + version "0.11.14" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== dependencies: - "@humanwhocodes/object-schema" "^2.0.1" - debug "^4.1.1" + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" minimatch "^3.0.5" "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^2.0.1": - version "2.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz" - integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== -"@internationalized/date@^3.5.3": - version "3.5.3" - resolved "https://registry.yarnpkg.com/@internationalized/date/-/date-3.5.3.tgz#acef6e6f8855a44d685111023aa471f2012643c8" - integrity sha512-X9bi8NAEHAjD8yzmPYT2pdJsbe+tYSEBAfowtlxJVJdZR3aK8Vg7ZUT1Fm5M47KLzp/M1p1VwAaeSma3RT7biw== +"@internationalized/date@^3.5.4": + version "3.5.4" + resolved "https://registry.yarnpkg.com/@internationalized/date/-/date-3.5.4.tgz#49ba11634fd4350b7a9308e297032267b4063c44" + integrity sha512-qoVJVro+O0rBaw+8HPjUB1iH8Ihf8oziEnqMnvhJUSuVIrHOuZ6eNLHNvzXJKUvAtaDiqMnRlg8Z2mgh09BlUw== dependencies: "@swc/helpers" "^0.5.0" -"@internationalized/message@^3.1.3": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@internationalized/message/-/message-3.1.3.tgz#9b6138ce78d8cfb256649c1ce12895214cb538ab" - integrity sha512-jba3kGxnh4hN4zoeJZuMft99Ly1zbmon4fyDz3VAmO39Kb5Aw+usGub7oU/sGoBIcVQ7REEwsvjIWtIO1nitbw== +"@internationalized/message@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@internationalized/message/-/message-3.1.4.tgz#4da041155829ffb57c9563fa7c99e2b94c8a5766" + integrity sha512-Dygi9hH1s7V9nha07pggCkvmRfDd3q2lWnMGvrJyrOwYMe1yj4D2T9BoH9I6MGR7xz0biQrtLPsqUkqXzIrBOw== dependencies: "@swc/helpers" "^0.5.0" intl-messageformat "^10.1.0" -"@internationalized/number@^3.5.2": - version "3.5.2" - resolved "https://registry.yarnpkg.com/@internationalized/number/-/number-3.5.2.tgz#2edc8e830268dca7283dad6def728f34eb5b7fdc" - integrity sha512-4FGHTi0rOEX1giSkt5MH4/te0eHBq3cvAYsfLlpguV6pzJAReXymiYpE5wPCqKqjkUO3PIsyvk+tBiIV1pZtbA== +"@internationalized/number@^3.5.3": + version "3.5.3" + resolved "https://registry.yarnpkg.com/@internationalized/number/-/number-3.5.3.tgz#9fa060c1c4809f23fb3d38dd3f3d1ae4c87e95a8" + integrity sha512-rd1wA3ebzlp0Mehj5YTuTI50AQEx80gWFyHcQu+u91/5NgdwBecO8BH6ipPfE+lmQ9d63vpB3H9SHoIUiupllw== dependencies: "@swc/helpers" "^0.5.0" -"@internationalized/string@^3.2.0", "@internationalized/string@^3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@internationalized/string/-/string-3.2.2.tgz#658e34d61ead5fb9b19b2bbdfbb4a8af3e239abe" - integrity sha512-5xy2JfSQyGqL9FDIdJXVjoKSBBDJR4lvwoCbqKhc5hQZ/qSLU/OlONCmrJPcSH0zxh88lXJMzbOAk8gJ48JBFw== +"@internationalized/string@^3.2.0", "@internationalized/string@^3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@internationalized/string/-/string-3.2.3.tgz#b0a8379e779a69e7874979714e27f2ae86761d3c" + integrity sha512-9kpfLoA8HegiWTeCbR2livhdVeKobCnVv8tlJ6M2jF+4tcMqDo94ezwlnrUANBWPgd8U7OXIHCk2Ov2qhk4KXw== dependencies: "@swc/helpers" "^0.5.0" "@isaacs/cliui@^8.0.2": version "8.0.2" - resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== dependencies: string-width "^5.1.2" @@ -755,9 +720,9 @@ wrap-ansi "^8.1.0" wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": +"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== dependencies: "@jridgewell/set-array" "^1.2.1" @@ -765,23 +730,23 @@ "@jridgewell/trace-mapping" "^0.3.24" "@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/set-array@^1.2.1": version "1.2.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.9": +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== dependencies: "@jridgewell/resolve-uri" "^3.1.0" @@ -800,41 +765,41 @@ "@lezer/common" "^1.0.0" "@lezer/lr@^1.0.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.4.0.tgz#ed52a75dbbfbb0d1eb63710ea84c35ee647cb67e" - integrity sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg== + version "1.4.1" + resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.4.1.tgz#fe25f051880a754e820b28148d90aa2a96b8bdd2" + integrity sha512-CHsKq8DMKBf9b3yXPDIU4DbH+ZJd/sJdYOW2llbW/HudP5u0VS6Bfq1hLYfgU7uAYGFIyGGQIsSOXGPEErZiJw== dependencies: "@lezer/common" "^1.0.0" -"@mui/base@5.0.0-beta.36": - version "5.0.0-beta.36" - resolved "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.36.tgz" - integrity sha512-6A8fYiXgjqTO6pgj31Hc8wm1M3rFYCxDRh09dBVk0L0W4cb2lnurRJa3cAyic6hHY+we1S58OdGYRbKmOsDpGQ== +"@mui/base@5.0.0-beta.40": + version "5.0.0-beta.40" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.40.tgz#1f8a782f1fbf3f84a961e954c8176b187de3dae2" + integrity sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ== dependencies: "@babel/runtime" "^7.23.9" "@floating-ui/react-dom" "^2.0.8" - "@mui/types" "^7.2.13" - "@mui/utils" "^5.15.9" + "@mui/types" "^7.2.14" + "@mui/utils" "^5.15.14" "@popperjs/core" "^2.11.8" clsx "^2.1.0" prop-types "^15.8.1" -"@mui/core-downloads-tracker@^5.15.10": - version "5.15.10" - resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.10.tgz" - integrity sha512-qPv7B+LeMatYuzRjB3hlZUHqinHx/fX4YFBiaS19oC02A1e9JFuDKDvlyRQQ5oRSbJJt0QlaLTlr0IcauVcJRQ== +"@mui/core-downloads-tracker@^5.15.21": + version "5.15.21" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.21.tgz#15ffc56cef7009479229b55126176f988afba96b" + integrity sha512-dp9lXBaJZzJYeJfQY3Ow4Rb49QaCEdkl2KKYscdQHQm6bMJ+l4XPY3Cd9PCeeJTsHPIDJ60lzXbeRgs6sx/rpw== "@mui/material@^5.15.10": - version "5.15.10" - resolved "https://registry.npmjs.org/@mui/material/-/material-5.15.10.tgz" - integrity sha512-YJJGHjwDOucecjDEV5l9ISTCo+l9YeWrho623UajzoHRYxuKUmwrGVYOW4PKwGvCx9SU9oklZnbbi2Clc5XZHw== + version "5.15.21" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.15.21.tgz#b2c8d756af570a61cb4975acf0e71dafb110b001" + integrity sha512-nTyCcgduKwHqiuQ/B03EQUa+utSMzn2sQp0QAibsnYe4tvc3zkMbO0amKpl48vhABIY3IvT6w9615BFIgMt0YA== dependencies: "@babel/runtime" "^7.23.9" - "@mui/base" "5.0.0-beta.36" - "@mui/core-downloads-tracker" "^5.15.10" - "@mui/system" "^5.15.9" - "@mui/types" "^7.2.13" - "@mui/utils" "^5.15.9" + "@mui/base" "5.0.0-beta.40" + "@mui/core-downloads-tracker" "^5.15.21" + "@mui/system" "^5.15.20" + "@mui/types" "^7.2.14" + "@mui/utils" "^5.15.20" "@types/react-transition-group" "^4.4.10" clsx "^2.1.0" csstype "^3.1.3" @@ -842,48 +807,48 @@ react-is "^18.2.0" react-transition-group "^4.4.5" -"@mui/private-theming@^5.15.9": - version "5.15.9" - resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.9.tgz" - integrity sha512-/aMJlDOxOTAXyp4F2rIukW1O0anodAMCkv1DfBh/z9vaKHY3bd5fFf42wmP+0GRmwMinC5aWPpNfHXOED1fEtg== +"@mui/private-theming@^5.15.20": + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.20.tgz#028c4e3c717a13691ac2c8c98e29aa819d89001a" + integrity sha512-BK8F94AIqSrnaPYXf2KAOjGZJgWfvqAVQ2gVR3EryvQFtuBnG6RwodxrCvd3B48VuMy6Wsk897+lQMUxJyk+6g== dependencies: "@babel/runtime" "^7.23.9" - "@mui/utils" "^5.15.9" + "@mui/utils" "^5.15.20" prop-types "^15.8.1" -"@mui/styled-engine@^5.15.9": - version "5.15.9" - resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.9.tgz" - integrity sha512-NRKtYkL5PZDH7dEmaLEIiipd3mxNnQSO+Yo8rFNBNptY8wzQnQ+VjayTq39qH7Sast5cwHKYFusUrQyD+SS4Og== +"@mui/styled-engine@^5.15.14", "@mui/styled-engine@^5.15.9": + version "5.15.14" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.14.tgz#168b154c4327fa4ccc1933a498331d53f61c0de2" + integrity sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw== dependencies: "@babel/runtime" "^7.23.9" "@emotion/cache" "^11.11.0" csstype "^3.1.3" prop-types "^15.8.1" -"@mui/system@^5.15.9": - version "5.15.9" - resolved "https://registry.npmjs.org/@mui/system/-/system-5.15.9.tgz" - integrity sha512-SxkaaZ8jsnIJ77bBXttfG//LUf6nTfOcaOuIgItqfHv60ZCQy/Hu7moaob35kBb+guxVJnoSZ+7vQJrA/E7pKg== +"@mui/system@^5.15.20": + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.20.tgz#f1933aabc4c10f8580c7a951ca3b88542ef0f76b" + integrity sha512-LoMq4IlAAhxzL2VNUDBTQxAb4chnBe8JvRINVNDiMtHE2PiPOoHlhOPutSxEbaL5mkECPVWSv6p8JEV+uykwIA== dependencies: "@babel/runtime" "^7.23.9" - "@mui/private-theming" "^5.15.9" - "@mui/styled-engine" "^5.15.9" - "@mui/types" "^7.2.13" - "@mui/utils" "^5.15.9" + "@mui/private-theming" "^5.15.20" + "@mui/styled-engine" "^5.15.14" + "@mui/types" "^7.2.14" + "@mui/utils" "^5.15.20" clsx "^2.1.0" csstype "^3.1.3" prop-types "^15.8.1" -"@mui/types@^7.2.13": - version "7.2.13" - resolved "https://registry.npmjs.org/@mui/types/-/types-7.2.13.tgz" - integrity sha512-qP9OgacN62s+l8rdDhSFRe05HWtLLJ5TGclC9I1+tQngbssu0m2dmFZs+Px53AcOs9fD7TbYd4gc9AXzVqO/+g== +"@mui/types@^7.2.14": + version "7.2.14" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.14.tgz#8a02ac129b70f3d82f2f9b76ded2c8d48e3fc8c9" + integrity sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ== -"@mui/utils@^5.15.9": - version "5.15.9" - resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.15.9.tgz" - integrity sha512-yDYfr61bCYUz1QtwvpqYy/3687Z8/nS4zv7lv/ih/6ZFGMl1iolEvxRmR84v2lOYxlds+kq1IVYbXxDKh8Z9sg== +"@mui/utils@^5.15.14", "@mui/utils@^5.15.20": + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.20.tgz#92778d749ce5ded1598639b4e684aaedb1146e08" + integrity sha512-mAbYx0sovrnpAu1zHc3MDIhPqL8RPVC5W5xcO1b7PiSCJPtckIZmBkp8hefamAvUiAV8gpfMOM6Zb+eSisbI2A== dependencies: "@babel/runtime" "^7.23.9" "@types/prop-types" "^15.7.11" @@ -892,7 +857,7 @@ "@neo4j-bloom/dagre@^0.8.14": version "0.8.14" - resolved "https://registry.npmjs.org/@neo4j-bloom/dagre/-/dagre-0.8.14.tgz" + resolved "https://registry.yarnpkg.com/@neo4j-bloom/dagre/-/dagre-0.8.14.tgz#bad99d7ce4b73fc1c5f0926c1e4a505adcc9c681" integrity sha512-FW1hbtbEr1FmJzGdbLxGOcn2SYZPhM1kGCs8RlMkqrjcXpcueTmEDZzGhZJx7KLbT15VSzEM6/sK4CaVsXdhkQ== dependencies: graphlib "2.1.8" @@ -951,31 +916,32 @@ "@neo4j-devtools/word-color@^0.0.8": version "0.0.8" - resolved "https://registry.npmjs.org/@neo4j-devtools/word-color/-/word-color-0.0.8.tgz" + resolved "https://registry.yarnpkg.com/@neo4j-devtools/word-color/-/word-color-0.0.8.tgz#48b181022659de01e251073e5967423fc922c053" integrity sha512-0fC2PXU1M0wL72lVil/2JnUccpEoPaiNJsNAc8fgRUysVeZ/OLKFvZAeOnufJ4X5OKkImaL1lvoGyhfKfOKfzw== dependencies: "@types/chroma-js" "2.1.4" chroma-js "2.4.2" -"@neo4j-ndl/base@^2.9.6": - version "2.9.6" - resolved "https://registry.yarnpkg.com/@neo4j-ndl/base/-/base-2.9.6.tgz#697a812b14cef9f2006f8dc445e31acfcb218ef2" - integrity sha512-aqroJQI3IQAQYlzNGrPa2kX8FsC0NLmTg571IJjUhT6zFQMYU+nkin5DXnUzH6rXxVxXdjq0jSo9sKja3bsjvQ== +"@neo4j-ndl/base@^2.11.6": + version "2.11.6" + resolved "https://registry.yarnpkg.com/@neo4j-ndl/base/-/base-2.11.6.tgz#3eacf4e41a86d84e0663f905a769ef95d3fa9cc2" + integrity sha512-HA4YWgN3GcGFzDcAj1maYjYgfD8mwHcFkwh/BaY1964/A2T9BCffHsxtQaPOW24AIhdO5tMMH72qwcvZB2PvlQ== -"@neo4j-ndl/react@^2.13.7": - version "2.13.7" - resolved "https://registry.yarnpkg.com/@neo4j-ndl/react/-/react-2.13.7.tgz#cdc41d98edbf776edfa734bdc838e4bf3079d492" - integrity sha512-OAywKA/Ft+JeHMM9qihTJxsH+9Twt41FTlue4fahJNHdrqT+A5ItnHHgxNFfxEqy/RIzfAAPJ0fwJt4sqp3mWg== +"@neo4j-ndl/react@^2.15.10": + version "2.15.10" + resolved "https://registry.yarnpkg.com/@neo4j-ndl/react/-/react-2.15.10.tgz#c109633adc3fd08fb510b3b57e70a1ed5216bf4f" + integrity sha512-U3pFJS23riItlklCgVZs40xxVAypVAM3u+rbIItOJYDEl1/yxtoYtjuFSyyegke6Hw6EBw/gJ73aBMel7hEWoQ== dependencies: "@dnd-kit/core" "6.1.0" "@dnd-kit/sortable" "8.0.0" "@floating-ui/react" "0.25.1" - "@heroicons/react" "2.0.13" + "@floating-ui/react-dom" "2.0.1" + "@heroicons/react" "2.0.18" "@neo4j-cypher/react-codemirror" "^1.0.1" - "@neo4j-ndl/base" "^2.9.6" + "@neo4j-ndl/base" "^2.11.6" "@table-nav/core" "0.0.7" "@table-nav/react" "0.0.7" - "@tanstack/react-table" "^8.9.3" + "@tanstack/react-table" "8.11.8" classnames "^2.3.1" date-fns "^2.30.0" detect-browser "^5.3.0" @@ -989,6 +955,7 @@ react-syntax-highlighter "^15.5.0" react-table "^7.7.0" react-use "^17.4.0" + sonner "1.4.41" tinycolor2 "^1.4.2" usehooks-ts "2.9.1" @@ -1011,7 +978,7 @@ "@neo4j-nvl/interaction-handlers@^0.3.1": version "0.3.1" - resolved "https://registry.npmjs.org/@neo4j-nvl/interaction-handlers/-/interaction-handlers-0.3.1.tgz" + resolved "https://registry.yarnpkg.com/@neo4j-nvl/interaction-handlers/-/interaction-handlers-0.3.1.tgz#067a4ba504a8f55d68936ed945838006beee71c6" integrity sha512-JHuwyNgfzc2Ua3GSUOI1pmai5r2QNiVR8qu1fYo8Nn9ppAHJQ2NwAG5x3BERxJc+3Z+WhePnx+c89bvnoBDphw== dependencies: "@neo4j-nvl/base" "^0.3.1" @@ -1020,7 +987,7 @@ "@neo4j-nvl/layout-workers@^0.3.1": version "0.3.1" - resolved "https://registry.npmjs.org/@neo4j-nvl/layout-workers/-/layout-workers-0.3.1.tgz" + resolved "https://registry.yarnpkg.com/@neo4j-nvl/layout-workers/-/layout-workers-0.3.1.tgz#b8c7fd22a823f6274c1e4250244ab5b072663635" integrity sha512-tVOU6V15vKMi8mHVzwcsAXzzkVl4Jh6+Id4JZPlGZRuw0U6AwrbmyfXe5tFEjPlO4CXG8dPd47fbYKIPVboeMg== dependencies: "@neo4j-bloom/dagre" "^0.8.14" @@ -1042,7 +1009,7 @@ "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -1050,12 +1017,12 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" @@ -1063,573 +1030,573 @@ "@pkgjs/parseargs@^0.11.0": version "0.11.0" - resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== "@popperjs/core@^2.11.8": version "2.11.8" - resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== "@react-aria/breadcrumbs@^3.5.9": - version "3.5.12" - resolved "https://registry.yarnpkg.com/@react-aria/breadcrumbs/-/breadcrumbs-3.5.12.tgz#7bd65e4b3e3479ae016f0cb842e39dfe015eccb1" - integrity sha512-UHTVe6kA73xbE1J6LLVjUooEQvTJ4vWPRyOxu4t3dZ/4dMttvHxpKylvj4z606wioSGVhCDEKC4Vn+RtQLypeA== - dependencies: - "@react-aria/i18n" "^3.11.0" - "@react-aria/link" "^3.7.0" - "@react-aria/utils" "^3.24.0" - "@react-types/breadcrumbs" "^3.7.4" - "@react-types/shared" "^3.23.0" + version "3.5.13" + resolved "https://registry.yarnpkg.com/@react-aria/breadcrumbs/-/breadcrumbs-3.5.13.tgz#2686f7f460f20d67fe5cdfe185e32e3e78186962" + integrity sha512-G1Gqf/P6kVdfs94ovwP18fTWuIxadIQgHsXS08JEVcFVYMjb9YjqnEBaohUxD1tq2WldMbYw53ahQblT4NTG+g== + dependencies: + "@react-aria/i18n" "^3.11.1" + "@react-aria/link" "^3.7.1" + "@react-aria/utils" "^3.24.1" + "@react-types/breadcrumbs" "^3.7.5" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-aria/button@^3.9.1": - version "3.9.4" - resolved "https://registry.yarnpkg.com/@react-aria/button/-/button-3.9.4.tgz#8667bc518825b54477c1e870d3fbf2142a01bd64" - integrity sha512-YOt4XWtC+0m7LwLQnU1Gl0ENETLEhtM8SyDbwsFR/fIQYX0T0H9D6jMlnKxXDjKgRvHzom9NZ8caTfsEPbgW/g== - dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/utils" "^3.24.0" - "@react-stately/toggle" "^3.7.3" - "@react-types/button" "^3.9.3" - "@react-types/shared" "^3.23.0" + version "3.9.5" + resolved "https://registry.yarnpkg.com/@react-aria/button/-/button-3.9.5.tgz#f0082f58394394f3d16fdf45de57b382748f3345" + integrity sha512-dgcYR6j8WDOMLKuVrtxzx4jIC05cVKDzc+HnPO8lNkBAOfjcuN5tkGRtIjLtqjMvpZHhQT5aDbgFpIaZzxgFIg== + dependencies: + "@react-aria/focus" "^3.17.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/utils" "^3.24.1" + "@react-stately/toggle" "^3.7.4" + "@react-types/button" "^3.9.4" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-aria/calendar@^3.5.4": - version "3.5.7" - resolved "https://registry.yarnpkg.com/@react-aria/calendar/-/calendar-3.5.7.tgz#c4ab8a3149c2ffd1d15fba5434c8b74bf5a5982a" - integrity sha512-HbOxoslIpak1/RKHQ/p4A5roI+RpM6geK68s72D+9n3NMPDw/X95yesc6JD1Sti2KsGl9GHI6Myf9xcNjuAMnw== - dependencies: - "@internationalized/date" "^3.5.3" - "@react-aria/i18n" "^3.11.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/live-announcer" "^3.3.3" - "@react-aria/utils" "^3.24.0" - "@react-stately/calendar" "^3.5.0" - "@react-types/button" "^3.9.3" - "@react-types/calendar" "^3.4.5" - "@react-types/shared" "^3.23.0" + version "3.5.8" + resolved "https://registry.yarnpkg.com/@react-aria/calendar/-/calendar-3.5.8.tgz#fd0858b34c8961b76957e9ac13b514f485c329a3" + integrity sha512-Whlp4CeAA5/ZkzrAHUv73kgIRYjw088eYGSc+cvSOCxfrc/2XkBm9rNrnSBv0DvhJ8AG0Fjz3vYakTmF3BgZBw== + dependencies: + "@internationalized/date" "^3.5.4" + "@react-aria/i18n" "^3.11.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/live-announcer" "^3.3.4" + "@react-aria/utils" "^3.24.1" + "@react-stately/calendar" "^3.5.1" + "@react-types/button" "^3.9.4" + "@react-types/calendar" "^3.4.6" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-aria/checkbox@^3.13.0": - version "3.14.2" - resolved "https://registry.yarnpkg.com/@react-aria/checkbox/-/checkbox-3.14.2.tgz#87f12a8d0b713bbca1a631dd0cefc95515042732" - integrity sha512-PeXTEfURrZZBN80YJUyVPAvkT7gwpPtwBgtKxg1ars+D1iDV4Yp48yh5pKaNSf0/rlLNOgKJSCpcFzY7V3ipFw== - dependencies: - "@react-aria/form" "^3.0.4" - "@react-aria/interactions" "^3.21.2" - "@react-aria/label" "^3.7.7" - "@react-aria/toggle" "^3.10.3" - "@react-aria/utils" "^3.24.0" - "@react-stately/checkbox" "^3.6.4" - "@react-stately/form" "^3.0.2" - "@react-stately/toggle" "^3.7.3" - "@react-types/checkbox" "^3.8.0" - "@react-types/shared" "^3.23.0" + version "3.14.3" + resolved "https://registry.yarnpkg.com/@react-aria/checkbox/-/checkbox-3.14.3.tgz#6e2579681008e460d2c764a03f1f1b54e0815868" + integrity sha512-EtBJL6iu0gvrw3A4R7UeVLR6diaVk/mh4kFBc7c8hQjpEJweRr4hmJT3hrNg3MBcTWLxFiMEXPGgWEwXDBygtA== + dependencies: + "@react-aria/form" "^3.0.5" + "@react-aria/interactions" "^3.21.3" + "@react-aria/label" "^3.7.8" + "@react-aria/toggle" "^3.10.4" + "@react-aria/utils" "^3.24.1" + "@react-stately/checkbox" "^3.6.5" + "@react-stately/form" "^3.0.3" + "@react-stately/toggle" "^3.7.4" + "@react-types/checkbox" "^3.8.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-aria/combobox@^3.8.1": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@react-aria/combobox/-/combobox-3.9.0.tgz#4a4115361b407f1da81b2ff53087f8dad4163eb5" - integrity sha512-JRiCoARx95Lu1hENmf4ndHzpJrMeP/2bV96jZbMn4StFUzhACKnUw0rNFpFdONfeoD/MkWO7tsvhxaPGLhpgtQ== - dependencies: - "@react-aria/i18n" "^3.11.0" - "@react-aria/listbox" "^3.12.0" - "@react-aria/live-announcer" "^3.3.3" - "@react-aria/menu" "^3.14.0" - "@react-aria/overlays" "^3.22.0" - "@react-aria/selection" "^3.18.0" - "@react-aria/textfield" "^3.14.4" - "@react-aria/utils" "^3.24.0" - "@react-stately/collections" "^3.10.6" - "@react-stately/combobox" "^3.8.3" - "@react-stately/form" "^3.0.2" - "@react-types/button" "^3.9.3" - "@react-types/combobox" "^3.11.0" - "@react-types/shared" "^3.23.0" + version "3.9.1" + resolved "https://registry.yarnpkg.com/@react-aria/combobox/-/combobox-3.9.1.tgz#ab12b698b76fd063f386aa5516129b2c72f5bf60" + integrity sha512-SpK92dCmT8qn8aEcUAihRQrBb5LZUhwIbDExFII8PvUvEFy/PoQHXIo3j1V29WkutDBDpMvBv/6XRCHGXPqrhQ== + dependencies: + "@react-aria/i18n" "^3.11.1" + "@react-aria/listbox" "^3.12.1" + "@react-aria/live-announcer" "^3.3.4" + "@react-aria/menu" "^3.14.1" + "@react-aria/overlays" "^3.22.1" + "@react-aria/selection" "^3.18.1" + "@react-aria/textfield" "^3.14.5" + "@react-aria/utils" "^3.24.1" + "@react-stately/collections" "^3.10.7" + "@react-stately/combobox" "^3.8.4" + "@react-stately/form" "^3.0.3" + "@react-types/button" "^3.9.4" + "@react-types/combobox" "^3.11.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-aria/datepicker@^3.9.1": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@react-aria/datepicker/-/datepicker-3.10.0.tgz#d472d256d0ef895ed8aaa173a0200a2344662337" - integrity sha512-YiIxY+mRxc2rPN8j9ypdiGspRHSIrsK6TShBgKEk5UoG5EBKEJfNe/FfoXDR2d5xcpWLAHVuRjERi9WkiJNDBw== - dependencies: - "@internationalized/date" "^3.5.3" - "@internationalized/number" "^3.5.2" - "@internationalized/string" "^3.2.2" - "@react-aria/focus" "^3.17.0" - "@react-aria/form" "^3.0.4" - "@react-aria/i18n" "^3.11.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/label" "^3.7.7" - "@react-aria/spinbutton" "^3.6.4" - "@react-aria/utils" "^3.24.0" - "@react-stately/datepicker" "^3.9.3" - "@react-stately/form" "^3.0.2" - "@react-types/button" "^3.9.3" - "@react-types/calendar" "^3.4.5" - "@react-types/datepicker" "^3.7.3" - "@react-types/dialog" "^3.5.9" - "@react-types/shared" "^3.23.0" + version "3.10.1" + resolved "https://registry.yarnpkg.com/@react-aria/datepicker/-/datepicker-3.10.1.tgz#513a9d18e118d4c3d078fdbfc45dca76b7eeb37f" + integrity sha512-4HZL593nrNMa1GjBmWEN/OTvNS6d3/16G1YJWlqiUlv11ADulSbqBIjMmkgwrJVFcjrgqtXFy+yyrTA/oq94Zw== + dependencies: + "@internationalized/date" "^3.5.4" + "@internationalized/number" "^3.5.3" + "@internationalized/string" "^3.2.3" + "@react-aria/focus" "^3.17.1" + "@react-aria/form" "^3.0.5" + "@react-aria/i18n" "^3.11.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/label" "^3.7.8" + "@react-aria/spinbutton" "^3.6.5" + "@react-aria/utils" "^3.24.1" + "@react-stately/datepicker" "^3.9.4" + "@react-stately/form" "^3.0.3" + "@react-types/button" "^3.9.4" + "@react-types/calendar" "^3.4.6" + "@react-types/datepicker" "^3.7.4" + "@react-types/dialog" "^3.5.10" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-aria/dialog@^3.5.9": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@react-aria/dialog/-/dialog-3.5.13.tgz#d3ab55b74c519e1d7d1184d895e76a12da0eb216" - integrity sha512-GUwY7sQtPMtO6LFHyoIGFMEv8tEBrNCrSNwEKilFLxvNUCo/1sY3N+7L2TcoeyDkcRWBJ9Uz9iR0iJ6EsCBWng== - dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/overlays" "^3.22.0" - "@react-aria/utils" "^3.24.0" - "@react-types/dialog" "^3.5.9" - "@react-types/shared" "^3.23.0" + version "3.5.14" + resolved "https://registry.yarnpkg.com/@react-aria/dialog/-/dialog-3.5.14.tgz#d4b078410c00b7cc7e6f25f67dfe53fa755be769" + integrity sha512-oqDCjQ8hxe3GStf48XWBf2CliEnxlR9GgSYPHJPUc69WBj68D9rVcCW3kogJnLAnwIyf3FnzbX4wSjvUa88sAQ== + dependencies: + "@react-aria/focus" "^3.17.1" + "@react-aria/overlays" "^3.22.1" + "@react-aria/utils" "^3.24.1" + "@react-types/dialog" "^3.5.10" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-aria/dnd@^3.5.1": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@react-aria/dnd/-/dnd-3.6.0.tgz#b493cbfc4c4f3e58f4fccda26d04c0f4c3ab03c1" - integrity sha512-uIM54sUr4NpSdvxWozNKGqSNSTe9ir/sO+QFGtGAF5dbjMX7FN/7sVVrtmB8UHKC+fwfs+Ml3kjJgHbm10/Qmg== - dependencies: - "@internationalized/string" "^3.2.2" - "@react-aria/i18n" "^3.11.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/live-announcer" "^3.3.3" - "@react-aria/overlays" "^3.22.0" - "@react-aria/utils" "^3.24.0" - "@react-stately/dnd" "^3.3.0" - "@react-types/button" "^3.9.3" - "@react-types/shared" "^3.23.0" + version "3.6.1" + resolved "https://registry.yarnpkg.com/@react-aria/dnd/-/dnd-3.6.1.tgz#c119ac8fa84b68a3533d9719cc32ab145481d381" + integrity sha512-6WnujUTD+cIYZVF/B+uXdHyJ+WSpbYa8jH282epvY4FUAq1qLmen12/HHcoj/5dswKQe8X6EM3OhkQM89d9vFw== + dependencies: + "@internationalized/string" "^3.2.3" + "@react-aria/i18n" "^3.11.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/live-announcer" "^3.3.4" + "@react-aria/overlays" "^3.22.1" + "@react-aria/utils" "^3.24.1" + "@react-stately/dnd" "^3.3.1" + "@react-types/button" "^3.9.4" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-aria/focus@^3.16.0", "@react-aria/focus@^3.17.0": - version "3.17.0" - resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.17.0.tgz#e20ed64cd9c9f29a31c7d35484e0145d9a0f9f80" - integrity sha512-aRzBw1WTUkcIV3xFrqPA6aB8ZVt3XyGpTaSHAypU0Pgoy2wRq9YeJYpbunsKj9CJmskuffvTqXwAjTcaQish1Q== +"@react-aria/focus@^3.16.0", "@react-aria/focus@^3.17.1": + version "3.17.1" + resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.17.1.tgz#c796a188120421e2fedf438cadacdf463c77ad29" + integrity sha512-FLTySoSNqX++u0nWZJPPN5etXY0WBxaIe/YuL/GTEeuqUIuC/2bJSaw5hlsM6T2yjy6Y/VAxBcKSdAFUlU6njQ== dependencies: - "@react-aria/interactions" "^3.21.2" - "@react-aria/utils" "^3.24.0" - "@react-types/shared" "^3.23.0" + "@react-aria/interactions" "^3.21.3" + "@react-aria/utils" "^3.24.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" clsx "^2.0.0" -"@react-aria/form@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@react-aria/form/-/form-3.0.4.tgz#e0ad830046abbbdd19fd968ab8f1d8fabe8f24ef" - integrity sha512-wWfW9Hv+OWIUbJ0QYzJ4EO5Yt7xZD1i+XNZG9pKGBiREi7dYBo7Y7lbqlWc3pJASSE+6aP9HzhK18dMPtGluVA== +"@react-aria/form@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@react-aria/form/-/form-3.0.5.tgz#abaf6ac005dc3f98760ac74fdb6524ad189399d6" + integrity sha512-n290jRwrrRXO3fS82MyWR+OKN7yznVesy5Q10IclSTVYHHI3VI53xtAPr/WzNjJR1um8aLhOcDNFKwnNIUUCsQ== dependencies: - "@react-aria/interactions" "^3.21.2" - "@react-aria/utils" "^3.24.0" - "@react-stately/form" "^3.0.2" - "@react-types/shared" "^3.23.0" + "@react-aria/interactions" "^3.21.3" + "@react-aria/utils" "^3.24.1" + "@react-stately/form" "^3.0.3" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-aria/grid@^3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@react-aria/grid/-/grid-3.9.0.tgz#31cb1837e43950fa6626bc605b7c339a7098fd97" - integrity sha512-jNg7haMptmeTKR7/ZomIjWZMLB6jWalBkl5in2JdU9Hc4pY5EKqD/7PSprr9SjOzCr5O+4MSiRDvw+Tu7xHevQ== - dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/i18n" "^3.11.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/live-announcer" "^3.3.3" - "@react-aria/selection" "^3.18.0" - "@react-aria/utils" "^3.24.0" - "@react-stately/collections" "^3.10.6" - "@react-stately/grid" "^3.8.6" - "@react-stately/selection" "^3.15.0" - "@react-stately/virtualizer" "^3.7.0" - "@react-types/checkbox" "^3.8.0" - "@react-types/grid" "^3.2.5" - "@react-types/shared" "^3.23.0" +"@react-aria/grid@^3.9.1": + version "3.9.1" + resolved "https://registry.yarnpkg.com/@react-aria/grid/-/grid-3.9.1.tgz#7fcf7a8352ece79406caf3cd149947fb9f000009" + integrity sha512-fGEZqAEaS8mqzV/II3N4ndoNWegIcbh+L3PmKbXdpKKUP8VgMs/WY5rYl5WAF0f5RoFwXqx3ibDLeR9tKj/bOg== + dependencies: + "@react-aria/focus" "^3.17.1" + "@react-aria/i18n" "^3.11.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/live-announcer" "^3.3.4" + "@react-aria/selection" "^3.18.1" + "@react-aria/utils" "^3.24.1" + "@react-stately/collections" "^3.10.7" + "@react-stately/grid" "^3.8.7" + "@react-stately/selection" "^3.15.1" + "@react-stately/virtualizer" "^3.7.1" + "@react-types/checkbox" "^3.8.1" + "@react-types/grid" "^3.2.6" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-aria/gridlist@^3.7.3", "@react-aria/gridlist@^3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@react-aria/gridlist/-/gridlist-3.8.0.tgz#f1e38439f1edcfa0eea7e1cebe4ebd601b947f7f" - integrity sha512-2iPBtpYZdTVij6XcqFsRsjzItjgg7FhFRPUEgD62mCyYd6NJIDkCxLuL97hkZ5BbXNxsr2jgVEns5Z4UzW//IQ== - dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/grid" "^3.9.0" - "@react-aria/i18n" "^3.11.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/selection" "^3.18.0" - "@react-aria/utils" "^3.24.0" - "@react-stately/collections" "^3.10.6" - "@react-stately/list" "^3.10.4" - "@react-stately/tree" "^3.8.0" - "@react-types/shared" "^3.23.0" +"@react-aria/gridlist@^3.7.3", "@react-aria/gridlist@^3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@react-aria/gridlist/-/gridlist-3.8.1.tgz#4a8e805687f02f96347494343e265fd6eac01b56" + integrity sha512-vVPkkA+Ct0NDcpnNm/tnYaBumg0fP9pXxsPLqL1rxvsTyj1PaIpFTZ4corabPTbTDExZwUSTS3LG1n+o1OvBtQ== + dependencies: + "@react-aria/focus" "^3.17.1" + "@react-aria/grid" "^3.9.1" + "@react-aria/i18n" "^3.11.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/selection" "^3.18.1" + "@react-aria/utils" "^3.24.1" + "@react-stately/collections" "^3.10.7" + "@react-stately/list" "^3.10.5" + "@react-stately/tree" "^3.8.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-aria/i18n@^3.10.0", "@react-aria/i18n@^3.11.0": - version "3.11.0" - resolved "https://registry.yarnpkg.com/@react-aria/i18n/-/i18n-3.11.0.tgz#b6e553037ceb2c69f9690224369aa7f5880f0d8b" - integrity sha512-dnopopsYKy2cd2dB2LdnmdJ58evKKcNCtiscWl624XFSbq2laDrYIQ4umrMhBxaKD7nDQkqydVBe6HoQKPzvJw== - dependencies: - "@internationalized/date" "^3.5.3" - "@internationalized/message" "^3.1.3" - "@internationalized/number" "^3.5.2" - "@internationalized/string" "^3.2.2" - "@react-aria/ssr" "^3.9.3" - "@react-aria/utils" "^3.24.0" - "@react-types/shared" "^3.23.0" +"@react-aria/i18n@^3.10.0", "@react-aria/i18n@^3.11.1": + version "3.11.1" + resolved "https://registry.yarnpkg.com/@react-aria/i18n/-/i18n-3.11.1.tgz#2d238d2be30d8c691b5fa3161f5fb48066fc8e4b" + integrity sha512-vuiBHw1kZruNMYeKkTGGnmPyMnM5T+gT8bz97H1FqIq1hQ6OPzmtBZ6W6l6OIMjeHI5oJo4utTwfZl495GALFQ== + dependencies: + "@internationalized/date" "^3.5.4" + "@internationalized/message" "^3.1.4" + "@internationalized/number" "^3.5.3" + "@internationalized/string" "^3.2.3" + "@react-aria/ssr" "^3.9.4" + "@react-aria/utils" "^3.24.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-aria/interactions@^3.20.1", "@react-aria/interactions@^3.21.2": - version "3.21.2" - resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.21.2.tgz#f55d059a876b094787ee53b5a17a4ea2dc34f70f" - integrity sha512-Ju706DtoEmI/2vsfu9DCEIjDqsRBVLm/wmt2fr0xKbBca7PtmK8daajxFWz+eTq+EJakvYfLr7gWgLau9HyWXg== +"@react-aria/interactions@^3.20.1", "@react-aria/interactions@^3.21.3": + version "3.21.3" + resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.21.3.tgz#a2a3e354a8b894bed7a46e1143453f397f2538d7" + integrity sha512-BWIuf4qCs5FreDJ9AguawLVS0lV9UU+sK4CCnbCNNmYqOWY+1+gRXCsnOM32K+oMESBxilAjdHW5n1hsMqYMpA== dependencies: - "@react-aria/ssr" "^3.9.3" - "@react-aria/utils" "^3.24.0" - "@react-types/shared" "^3.23.0" + "@react-aria/ssr" "^3.9.4" + "@react-aria/utils" "^3.24.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-aria/label@^3.7.4", "@react-aria/label@^3.7.7": - version "3.7.7" - resolved "https://registry.yarnpkg.com/@react-aria/label/-/label-3.7.7.tgz#7d6615cbf6b4062c9680a9306d5839cf40fb901f" - integrity sha512-0MDIu4SbagwsYzkprcCzi1Z0V/t2K/5Dd30eSTL2zanXMa+/85MVGSQjXI0vPrXMOXSNqp0R/aMxcqcgJ59yRA== +"@react-aria/label@^3.7.4", "@react-aria/label@^3.7.8": + version "3.7.8" + resolved "https://registry.yarnpkg.com/@react-aria/label/-/label-3.7.8.tgz#69f1c184836b04445fcedce78db9fd939a0570ea" + integrity sha512-MzgTm5+suPA3KX7Ug6ZBK2NX9cin/RFLsv1BdafJ6CZpmUSpWnGE/yQfYUB7csN7j31OsZrD3/P56eShYWAQfg== dependencies: - "@react-aria/utils" "^3.24.0" - "@react-types/shared" "^3.23.0" + "@react-aria/utils" "^3.24.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-aria/link@^3.6.3", "@react-aria/link@^3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@react-aria/link/-/link-3.7.0.tgz#c86802a8381813fb1627dacb13b200c0a230fbb2" - integrity sha512-gkF7KpDR+ApcMY5HS3xVKHrxRcwSP9TRPoySWEMBE4GPWvEK1Bk/On9EM1vRzeEibCZ5L6gKuLEEKLVSGbBMWg== +"@react-aria/link@^3.6.3", "@react-aria/link@^3.7.1": + version "3.7.1" + resolved "https://registry.yarnpkg.com/@react-aria/link/-/link-3.7.1.tgz#ae75feebc5c6f40e1031abf57f3125d45882e976" + integrity sha512-a4IaV50P3fXc7DQvEIPYkJJv26JknFbRzFT5MJOMgtzuhyJoQdILEUK6XHYjcSSNCA7uLgzpojArVk5Hz3lCpw== dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/utils" "^3.24.0" - "@react-types/link" "^3.5.4" - "@react-types/shared" "^3.23.0" + "@react-aria/focus" "^3.17.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/utils" "^3.24.1" + "@react-types/link" "^3.5.5" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-aria/listbox@^3.11.3", "@react-aria/listbox@^3.12.0": - version "3.12.0" - resolved "https://registry.yarnpkg.com/@react-aria/listbox/-/listbox-3.12.0.tgz#57e7575eda8b7d39d02d28f41d7c652b65a8bc59" - integrity sha512-Cy+UcfXU4MrOBMBnaB+kqG8bajeS3T1ZN8L7PXSTpmFS9jShFMhYkNz5gXpI+0SS4dgbHtkq/YDFJvu+bxFvdg== - dependencies: - "@react-aria/interactions" "^3.21.2" - "@react-aria/label" "^3.7.7" - "@react-aria/selection" "^3.18.0" - "@react-aria/utils" "^3.24.0" - "@react-stately/collections" "^3.10.6" - "@react-stately/list" "^3.10.4" - "@react-types/listbox" "^3.4.8" - "@react-types/shared" "^3.23.0" +"@react-aria/listbox@^3.11.3", "@react-aria/listbox@^3.12.1": + version "3.12.1" + resolved "https://registry.yarnpkg.com/@react-aria/listbox/-/listbox-3.12.1.tgz#cc4f0d23630f496273ca5c31b4dfacf6d6f37df1" + integrity sha512-7JiUp0NGykbv/HgSpmTY1wqhuf/RmjFxs1HZcNaTv8A+DlzgJYc7yQqFjP3ZA/z5RvJFuuIxggIYmgIFjaRYdA== + dependencies: + "@react-aria/interactions" "^3.21.3" + "@react-aria/label" "^3.7.8" + "@react-aria/selection" "^3.18.1" + "@react-aria/utils" "^3.24.1" + "@react-stately/collections" "^3.10.7" + "@react-stately/list" "^3.10.5" + "@react-types/listbox" "^3.4.9" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-aria/live-announcer@^3.3.3": - version "3.3.3" - resolved "https://registry.yarnpkg.com/@react-aria/live-announcer/-/live-announcer-3.3.3.tgz#7ed90f1e0051ad2fc81c23d40e41e2b7ecb61a1d" - integrity sha512-sMaBzzIgDPBDCeZ/UFbuXR/UnXikcE7t4OJ4cESzmUq6r6LvxzmZnG9ocwpH75n7udmUbINycKD082fneryHlg== +"@react-aria/live-announcer@^3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@react-aria/live-announcer/-/live-announcer-3.3.4.tgz#97a5830ae7da8546b2d19311fe1606c5d5e0151c" + integrity sha512-w8lxs35QrRrn6pBNzVfyGOeqWdxeVKf9U6bXIVwhq7rrTqRULL8jqy8RJIMfIs1s8G5FpwWYjyBOjl2g5Cu1iA== dependencies: "@swc/helpers" "^0.5.0" -"@react-aria/menu@^3.12.0", "@react-aria/menu@^3.14.0": - version "3.14.0" - resolved "https://registry.yarnpkg.com/@react-aria/menu/-/menu-3.14.0.tgz#5437011f8e39d8aef0b5efa01be4bf1dfc76560b" - integrity sha512-veZIpwKPKDIX1xpUzvGnxSVTmMfpRjPQUi1v+hMgqgdjBKedKI2LkprLABo9grggjqV9c2xT4XUXDk6xH3r8eA== - dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/i18n" "^3.11.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/overlays" "^3.22.0" - "@react-aria/selection" "^3.18.0" - "@react-aria/utils" "^3.24.0" - "@react-stately/collections" "^3.10.6" - "@react-stately/menu" "^3.7.0" - "@react-stately/tree" "^3.8.0" - "@react-types/button" "^3.9.3" - "@react-types/menu" "^3.9.8" - "@react-types/shared" "^3.23.0" +"@react-aria/menu@^3.12.0", "@react-aria/menu@^3.14.1": + version "3.14.1" + resolved "https://registry.yarnpkg.com/@react-aria/menu/-/menu-3.14.1.tgz#c9ec25bc374ee9bb02dc3d92d8260df702349133" + integrity sha512-BYliRb38uAzq05UOFcD5XkjA5foQoXRbcH3ZufBsc4kvh79BcP1PMW6KsXKGJ7dC/PJWUwCui6QL1kUg8PqMHA== + dependencies: + "@react-aria/focus" "^3.17.1" + "@react-aria/i18n" "^3.11.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/overlays" "^3.22.1" + "@react-aria/selection" "^3.18.1" + "@react-aria/utils" "^3.24.1" + "@react-stately/collections" "^3.10.7" + "@react-stately/menu" "^3.7.1" + "@react-stately/tree" "^3.8.1" + "@react-types/button" "^3.9.4" + "@react-types/menu" "^3.9.9" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-aria/meter@^3.4.9": - version "3.4.12" - resolved "https://registry.yarnpkg.com/@react-aria/meter/-/meter-3.4.12.tgz#d283717c2e4b1f355cac70246107ff948edb3a6c" - integrity sha512-Ofgy3SHBjNLrc0mzuEKfn5ozOyrLudzcpw1cP5BFgtYs8BDdUx2/e33+2sm1+Pm3M/AhBrV/9LGyOE2JCtb8pg== + version "3.4.13" + resolved "https://registry.yarnpkg.com/@react-aria/meter/-/meter-3.4.13.tgz#2ccd93d0b8e7d44e371fa39cb3fd2a1ea25f0ab3" + integrity sha512-oG6KvHQM3ri93XkYQkgEaMKSMO9KNDVpcW1MUqFfqyUXHFBRZRrJB4BTXMZ4nyjheFVQjVboU51fRwoLjOzThg== dependencies: - "@react-aria/progress" "^3.4.12" - "@react-types/meter" "^3.4.0" - "@react-types/shared" "^3.23.0" + "@react-aria/progress" "^3.4.13" + "@react-types/meter" "^3.4.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-aria/numberfield@^3.10.1": - version "3.11.2" - resolved "https://registry.yarnpkg.com/@react-aria/numberfield/-/numberfield-3.11.2.tgz#a44ba43898761e4009d188b73466f9001c1035a6" - integrity sha512-PPCRLhAnCz3/mbv/EXoG3mY8lUvaOnZdGZf0ufb1VS4K/wKtb8z3sCTDiu1hi7nFo1YYqynb8mKue4Es5jUwSw== - dependencies: - "@react-aria/i18n" "^3.11.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/spinbutton" "^3.6.4" - "@react-aria/textfield" "^3.14.4" - "@react-aria/utils" "^3.24.0" - "@react-stately/form" "^3.0.2" - "@react-stately/numberfield" "^3.9.2" - "@react-types/button" "^3.9.3" - "@react-types/numberfield" "^3.8.2" - "@react-types/shared" "^3.23.0" + version "3.11.3" + resolved "https://registry.yarnpkg.com/@react-aria/numberfield/-/numberfield-3.11.3.tgz#23b7f2d64131fd8422a8592732bb34cbae5cb26f" + integrity sha512-QQ9ZTzBbRI8d9ksaBWm6YVXbgv+5zzUsdxVxwzJVXLznvivoORB8rpdFJzUEWVCo25lzoBxluCEPYtLOxP1B0w== + dependencies: + "@react-aria/i18n" "^3.11.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/spinbutton" "^3.6.5" + "@react-aria/textfield" "^3.14.5" + "@react-aria/utils" "^3.24.1" + "@react-stately/form" "^3.0.3" + "@react-stately/numberfield" "^3.9.3" + "@react-types/button" "^3.9.4" + "@react-types/numberfield" "^3.8.3" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-aria/overlays@^3.20.0", "@react-aria/overlays@^3.22.0": - version "3.22.0" - resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.22.0.tgz#002fb2303debe163e2d51b57d601e08866871eae" - integrity sha512-M3Iayc2Hf9vJ4JJ8K/zh+Ct6aymDLmBbo686ChV3AtGOc254RyyzqnVSNuMs3j5QVBsDUKihHZQfl4E9RCwd+w== - dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/i18n" "^3.11.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/ssr" "^3.9.3" - "@react-aria/utils" "^3.24.0" - "@react-aria/visually-hidden" "^3.8.11" - "@react-stately/overlays" "^3.6.6" - "@react-types/button" "^3.9.3" - "@react-types/overlays" "^3.8.6" - "@react-types/shared" "^3.23.0" +"@react-aria/overlays@^3.20.0", "@react-aria/overlays@^3.22.1": + version "3.22.1" + resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.22.1.tgz#7a01673317fa6517bb91b0b7504e303facdc9ccb" + integrity sha512-GHiFMWO4EQ6+j6b5QCnNoOYiyx1Gk8ZiwLzzglCI4q1NY5AG2EAmfU4Z1+Gtrf2S5Y0zHbumC7rs9GnPoGLUYg== + dependencies: + "@react-aria/focus" "^3.17.1" + "@react-aria/i18n" "^3.11.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/ssr" "^3.9.4" + "@react-aria/utils" "^3.24.1" + "@react-aria/visually-hidden" "^3.8.12" + "@react-stately/overlays" "^3.6.7" + "@react-types/button" "^3.9.4" + "@react-types/overlays" "^3.8.7" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-aria/progress@^3.4.12", "@react-aria/progress@^3.4.9": - version "3.4.12" - resolved "https://registry.yarnpkg.com/@react-aria/progress/-/progress-3.4.12.tgz#7e21129bc2da719f39d5c2d638b670ddfa0d597d" - integrity sha512-Wlz7VNFEzcLSawhZwWTKgJPM/IUKFiKJJG7KGcsT2biIlu6Yp60xj08hDZkCrLq3XsLLCRmweHlVfLFjG3AK9w== +"@react-aria/progress@^3.4.13", "@react-aria/progress@^3.4.9": + version "3.4.13" + resolved "https://registry.yarnpkg.com/@react-aria/progress/-/progress-3.4.13.tgz#dc86c98ed0f9a164cf62140e13865235c1991548" + integrity sha512-YBV9bOO5JzKvG8QCI0IAA00o6FczMgIDiK8Q9p5gKorFMatFUdRayxlbIPoYHMi+PguLil0jHgC7eOyaUcrZ0g== dependencies: - "@react-aria/i18n" "^3.11.0" - "@react-aria/label" "^3.7.7" - "@react-aria/utils" "^3.24.0" - "@react-types/progress" "^3.5.3" - "@react-types/shared" "^3.23.0" + "@react-aria/i18n" "^3.11.1" + "@react-aria/label" "^3.7.8" + "@react-aria/utils" "^3.24.1" + "@react-types/progress" "^3.5.4" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-aria/radio@^3.10.0": - version "3.10.3" - resolved "https://registry.yarnpkg.com/@react-aria/radio/-/radio-3.10.3.tgz#01811f3072f29837855588b2a55f9b61e9abeed3" - integrity sha512-9noof5jyHE8iiFEUE7xCAHvCjG7EkZ/bZHh2+ZtrLlTFZmjpEbRbpZMw6QMKC8uzREPsmERBXjbd/6NyXH6mEQ== - dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/form" "^3.0.4" - "@react-aria/i18n" "^3.11.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/label" "^3.7.7" - "@react-aria/utils" "^3.24.0" - "@react-stately/radio" "^3.10.3" - "@react-types/radio" "^3.8.0" - "@react-types/shared" "^3.23.0" + version "3.10.4" + resolved "https://registry.yarnpkg.com/@react-aria/radio/-/radio-3.10.4.tgz#e1b54fa7a9ee3912a5fe170fc752000eef836c06" + integrity sha512-3fmoMcQtCpgjTwJReFjnvIE/C7zOZeCeWUn4JKDqz9s1ILYsC3Rk5zZ4q66tFn6v+IQnecrKT52wH6+hlVLwTA== + dependencies: + "@react-aria/focus" "^3.17.1" + "@react-aria/form" "^3.0.5" + "@react-aria/i18n" "^3.11.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/label" "^3.7.8" + "@react-aria/utils" "^3.24.1" + "@react-stately/radio" "^3.10.4" + "@react-types/radio" "^3.8.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-aria/searchfield@^3.7.0": - version "3.7.4" - resolved "https://registry.yarnpkg.com/@react-aria/searchfield/-/searchfield-3.7.4.tgz#a5799d2ec79f2bf782b11553838089af8a30fb21" - integrity sha512-92TR4M6/lBKkIp6l3Fl/Sqjjo++bDceIZEOKC62/cuYjLm9RRWl4tLlKIR1GN3IH1vJJStKj+TB/SjlWbPuwiA== - dependencies: - "@react-aria/i18n" "^3.11.0" - "@react-aria/textfield" "^3.14.4" - "@react-aria/utils" "^3.24.0" - "@react-stately/searchfield" "^3.5.2" - "@react-types/button" "^3.9.3" - "@react-types/searchfield" "^3.5.4" - "@react-types/shared" "^3.23.0" + version "3.7.5" + resolved "https://registry.yarnpkg.com/@react-aria/searchfield/-/searchfield-3.7.5.tgz#777a0608988a0f781bd10139104dbb70b4f6049d" + integrity sha512-h1sMUOWjhevaKKUHab/luHbM6yiyeN57L4RxZU0IIc9Ww0h5Rp2GUuKZA3pcdPiExHje0aijcImL3wBHEbKAzw== + dependencies: + "@react-aria/i18n" "^3.11.1" + "@react-aria/textfield" "^3.14.5" + "@react-aria/utils" "^3.24.1" + "@react-stately/searchfield" "^3.5.3" + "@react-types/button" "^3.9.4" + "@react-types/searchfield" "^3.5.5" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-aria/select@^3.14.1": - version "3.14.4" - resolved "https://registry.yarnpkg.com/@react-aria/select/-/select-3.14.4.tgz#dc2c8c3e68c01e44a9e91897106086b9b73dfac9" - integrity sha512-MeFN8pw9liXwejkJS+hg0fDqGa3oW/mIwZYx8CrZZLbPnEcjZ9NI4ZXSxJaMOHEIQj/RXQ3Fpu0Sunu9FVpYXQ== - dependencies: - "@react-aria/form" "^3.0.4" - "@react-aria/i18n" "^3.11.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/label" "^3.7.7" - "@react-aria/listbox" "^3.12.0" - "@react-aria/menu" "^3.14.0" - "@react-aria/selection" "^3.18.0" - "@react-aria/utils" "^3.24.0" - "@react-aria/visually-hidden" "^3.8.11" - "@react-stately/select" "^3.6.3" - "@react-types/button" "^3.9.3" - "@react-types/select" "^3.9.3" - "@react-types/shared" "^3.23.0" + version "3.14.5" + resolved "https://registry.yarnpkg.com/@react-aria/select/-/select-3.14.5.tgz#edbea4fa012654d6feef285e27d7d67fb03b017f" + integrity sha512-s8jixBuTUNdKWRHe2tIJqp55ORHeUObGMw1s7PQRRVrrHPdNSYseAOI9B2W7qpl3hKhvjJg40UW+45mcb1WKbw== + dependencies: + "@react-aria/form" "^3.0.5" + "@react-aria/i18n" "^3.11.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/label" "^3.7.8" + "@react-aria/listbox" "^3.12.1" + "@react-aria/menu" "^3.14.1" + "@react-aria/selection" "^3.18.1" + "@react-aria/utils" "^3.24.1" + "@react-aria/visually-hidden" "^3.8.12" + "@react-stately/select" "^3.6.4" + "@react-types/button" "^3.9.4" + "@react-types/select" "^3.9.4" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-aria/selection@^3.17.3", "@react-aria/selection@^3.18.0": - version "3.18.0" - resolved "https://registry.yarnpkg.com/@react-aria/selection/-/selection-3.18.0.tgz#9367c7b66a21f6339eebb601d995a8f65daab4ef" - integrity sha512-6ZvRuS9OHe56UVTb/qnsZ1TOxpZH9gRlX6eGG3Pt4LZK12wcvs13Uz2OvB2aYQHu0KPAua9ACnPh94xvXzQIlQ== - dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/i18n" "^3.11.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/utils" "^3.24.0" - "@react-stately/selection" "^3.15.0" - "@react-types/shared" "^3.23.0" +"@react-aria/selection@^3.17.3", "@react-aria/selection@^3.18.1": + version "3.18.1" + resolved "https://registry.yarnpkg.com/@react-aria/selection/-/selection-3.18.1.tgz#fd6a10a86be187ac2a591cbbc1f41c3aa0c09f7f" + integrity sha512-GSqN2jX6lh7v+ldqhVjAXDcrWS3N4IsKXxO6L6Ygsye86Q9q9Mq9twWDWWu5IjHD6LoVZLUBCMO+ENGbOkyqeQ== + dependencies: + "@react-aria/focus" "^3.17.1" + "@react-aria/i18n" "^3.11.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/utils" "^3.24.1" + "@react-stately/selection" "^3.15.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-aria/separator@^3.3.9": - version "3.3.12" - resolved "https://registry.yarnpkg.com/@react-aria/separator/-/separator-3.3.12.tgz#c547b74eac37016eeaa78bb8415b4b837d564b90" - integrity sha512-KXeHynxek/DlAmjmry+M2KVRq+j75LqWFysX4x7t+OSbGR4t3bu5HRDd9bvDe9lsW8OKxlX3+hWTY7vsOL/HDA== + version "3.3.13" + resolved "https://registry.yarnpkg.com/@react-aria/separator/-/separator-3.3.13.tgz#12c8127bb672e53246f63c50f3b7a36960c8bb63" + integrity sha512-hofA6JCPnAOqSE9vxnq7Dkazr7Kb2A0I5sR16fOG7ddjYRc/YEY5Nv7MWfKUGU0kNFHkgNjsDAILERtLechzeA== dependencies: - "@react-aria/utils" "^3.24.0" - "@react-types/shared" "^3.23.0" + "@react-aria/utils" "^3.24.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-aria/slider@^3.7.4": - version "3.7.7" - resolved "https://registry.yarnpkg.com/@react-aria/slider/-/slider-3.7.7.tgz#728f9168fc91e4d27111624794326c4b716e3aff" - integrity sha512-7tOJyR4ZZoSMKcVomC6DZxyYuXQqQopi9mPW2J1fViD1R5iO8YVmoX/ALXnokzi8GPuMA0c38i2Cmnecm30ZXA== - dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/i18n" "^3.11.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/label" "^3.7.7" - "@react-aria/utils" "^3.24.0" - "@react-stately/slider" "^3.5.3" - "@react-types/shared" "^3.23.0" - "@react-types/slider" "^3.7.2" + version "3.7.8" + resolved "https://registry.yarnpkg.com/@react-aria/slider/-/slider-3.7.8.tgz#6f2109527e0ebfaa1aaf46fce2460549d5550e1b" + integrity sha512-MYvPcM0K8jxEJJicUK2+WxUkBIM/mquBxOTOSSIL3CszA80nXIGVnLlCUnQV3LOUzpWtabbWaZokSPtGgOgQOw== + dependencies: + "@react-aria/focus" "^3.17.1" + "@react-aria/i18n" "^3.11.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/label" "^3.7.8" + "@react-aria/utils" "^3.24.1" + "@react-stately/slider" "^3.5.4" + "@react-types/shared" "^3.23.1" + "@react-types/slider" "^3.7.3" "@swc/helpers" "^0.5.0" -"@react-aria/spinbutton@^3.6.4": - version "3.6.4" - resolved "https://registry.yarnpkg.com/@react-aria/spinbutton/-/spinbutton-3.6.4.tgz#0fe81b6d256d01da8541c80bf85807bb26043c24" - integrity sha512-KMnwm3bEM83g8MILGt6irbvAG7DNphkq6O0ePt7L1m6QZhWK3hbI2RNlxYMF1OKIDTAOhnEjR6IdMCWt9TuXvQ== - dependencies: - "@react-aria/i18n" "^3.11.0" - "@react-aria/live-announcer" "^3.3.3" - "@react-aria/utils" "^3.24.0" - "@react-types/button" "^3.9.3" - "@react-types/shared" "^3.23.0" +"@react-aria/spinbutton@^3.6.5": + version "3.6.5" + resolved "https://registry.yarnpkg.com/@react-aria/spinbutton/-/spinbutton-3.6.5.tgz#77a69c26dfc74381bc1f112835eb59c572d659dd" + integrity sha512-0aACBarF/Xr/7ixzjVBTQ0NBwwwsoGkf5v6AVFVMTC0uYMXHTALvRs+ULHjHMa5e/cX/aPlEvaVT7jfSs+Xy9Q== + dependencies: + "@react-aria/i18n" "^3.11.1" + "@react-aria/live-announcer" "^3.3.4" + "@react-aria/utils" "^3.24.1" + "@react-types/button" "^3.9.4" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-aria/ssr@^3.9.1", "@react-aria/ssr@^3.9.3": - version "3.9.3" - resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.9.3.tgz#9e7d4e019965aaf86cec3da2411a392be49ac2b3" - integrity sha512-5bUZ93dmvHFcmfUcEN7qzYe8yQQ8JY+nHN6m9/iSDCQ/QmCiE0kWXYwhurjw5ch6I8WokQzx66xKIMHBAa4NNA== +"@react-aria/ssr@^3.9.1", "@react-aria/ssr@^3.9.4": + version "3.9.4" + resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.9.4.tgz#9da8b10342c156e816dbfa4c9e713b21f274d7ab" + integrity sha512-4jmAigVq409qcJvQyuorsmBR4+9r3+JEC60wC+Y0MZV0HCtTmm8D9guYXlJMdx0SSkgj0hHAyFm/HvPNFofCoQ== dependencies: "@swc/helpers" "^0.5.0" "@react-aria/switch@^3.6.0": - version "3.6.3" - resolved "https://registry.yarnpkg.com/@react-aria/switch/-/switch-3.6.3.tgz#3dcefa882a3f9d5585d1c1fd94673dd2178a87f4" - integrity sha512-UBWbTEnnlTDT/dFOEpGKfX5ngPTIOVDLX1ltUhDHHk6SrgSnvYxTPTZAo+ujHIUSBFHOuxmvVYG7y54rk168mg== + version "3.6.4" + resolved "https://registry.yarnpkg.com/@react-aria/switch/-/switch-3.6.4.tgz#6dba901414785de23ee2f4873ea5e23973fdf58d" + integrity sha512-2nVqz4ZuJyof47IpGSt3oZRmp+EdS8wzeDYgf42WHQXrx4uEOk1mdLJ20+NnsYhj/2NHZsvXVrjBeKMjlMs+0w== dependencies: - "@react-aria/toggle" "^3.10.3" - "@react-stately/toggle" "^3.7.3" - "@react-types/switch" "^3.5.2" + "@react-aria/toggle" "^3.10.4" + "@react-stately/toggle" "^3.7.4" + "@react-types/switch" "^3.5.3" "@swc/helpers" "^0.5.0" "@react-aria/table@^3.13.3": - version "3.14.0" - resolved "https://registry.yarnpkg.com/@react-aria/table/-/table-3.14.0.tgz#25eb5ac30056211416ef468cb05dde0e0d706026" - integrity sha512-IwBmzeIxeZjWlOlmMXVj/L64FbYm3qUh7v3VRgU98BVOdvgUyEKBDIwi6SuOV4FwbXKrCPZbXPU/k+KQU4tUoQ== - dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/grid" "^3.9.0" - "@react-aria/i18n" "^3.11.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/live-announcer" "^3.3.3" - "@react-aria/utils" "^3.24.0" - "@react-aria/visually-hidden" "^3.8.11" - "@react-stately/collections" "^3.10.6" - "@react-stately/flags" "^3.0.2" - "@react-stately/table" "^3.11.7" - "@react-stately/virtualizer" "^3.7.0" - "@react-types/checkbox" "^3.8.0" - "@react-types/grid" "^3.2.5" - "@react-types/shared" "^3.23.0" - "@react-types/table" "^3.9.4" + version "3.14.1" + resolved "https://registry.yarnpkg.com/@react-aria/table/-/table-3.14.1.tgz#6316349e17fe6adfe9132aab75ce72c4a44c028f" + integrity sha512-WaPgQe4zQF5OaluO5rm+Y2nEoFR63vsLd4BT4yjK1uaFhKhDY2Zk+1SCVQvBLLKS4WK9dhP05nrNzT0vp/ZPOw== + dependencies: + "@react-aria/focus" "^3.17.1" + "@react-aria/grid" "^3.9.1" + "@react-aria/i18n" "^3.11.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/live-announcer" "^3.3.4" + "@react-aria/utils" "^3.24.1" + "@react-aria/visually-hidden" "^3.8.12" + "@react-stately/collections" "^3.10.7" + "@react-stately/flags" "^3.0.3" + "@react-stately/table" "^3.11.8" + "@react-stately/virtualizer" "^3.7.1" + "@react-types/checkbox" "^3.8.1" + "@react-types/grid" "^3.2.6" + "@react-types/shared" "^3.23.1" + "@react-types/table" "^3.9.5" "@swc/helpers" "^0.5.0" "@react-aria/tabs@^3.8.3": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@react-aria/tabs/-/tabs-3.9.0.tgz#b72cb13726be6ed09024b3f1a4c4a6a9868e6ac6" - integrity sha512-E4IHOO9ejEXNeSnpeThu79pDpNySHHYz3txr9ngtH6tp097k/I1auSqbGJPy/kwLj6MCPEt86dNJDXE2X0AcFw== - dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/i18n" "^3.11.0" - "@react-aria/selection" "^3.18.0" - "@react-aria/utils" "^3.24.0" - "@react-stately/tabs" "^3.6.5" - "@react-types/shared" "^3.23.0" - "@react-types/tabs" "^3.3.6" + version "3.9.1" + resolved "https://registry.yarnpkg.com/@react-aria/tabs/-/tabs-3.9.1.tgz#3cfb44648de1f896499d210b80deb1ead8ec4295" + integrity sha512-S5v/0sRcOaSXaJYZuuy1ZVzYc7JD4sDyseG1133GjyuNjJOFHgoWMb+b4uxNIJbZxnLgynn/ZDBZSO+qU+fIxw== + dependencies: + "@react-aria/focus" "^3.17.1" + "@react-aria/i18n" "^3.11.1" + "@react-aria/selection" "^3.18.1" + "@react-aria/utils" "^3.24.1" + "@react-stately/tabs" "^3.6.6" + "@react-types/shared" "^3.23.1" + "@react-types/tabs" "^3.3.7" "@swc/helpers" "^0.5.0" "@react-aria/tag@^3.3.1": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@react-aria/tag/-/tag-3.4.0.tgz#eb5ecbc7e63363c007b422791784705aa0aa4f54" - integrity sha512-kTrj0zEIyABgdASZMM7qxe0LAEePAxlg4OmfjZfkiAYYV32liY4EPER7ocE0OhOXo6TeOYYIvpEcr0z/4PjCpw== - dependencies: - "@react-aria/gridlist" "^3.8.0" - "@react-aria/i18n" "^3.11.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/label" "^3.7.7" - "@react-aria/selection" "^3.18.0" - "@react-aria/utils" "^3.24.0" - "@react-stately/list" "^3.10.4" - "@react-types/button" "^3.9.3" - "@react-types/shared" "^3.23.0" + version "3.4.1" + resolved "https://registry.yarnpkg.com/@react-aria/tag/-/tag-3.4.1.tgz#28206a37db7f4e5cb19469b7851368bb5128fd0c" + integrity sha512-gcIGPYZ2OBwMT4IHnlczEezKlxr0KRPL/mSfm2Q91GE027ZGOJnqusH9az6DX1qxrQx8x3vRdqYT2KmuefkrBQ== + dependencies: + "@react-aria/gridlist" "^3.8.1" + "@react-aria/i18n" "^3.11.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/label" "^3.7.8" + "@react-aria/selection" "^3.18.1" + "@react-aria/utils" "^3.24.1" + "@react-stately/list" "^3.10.5" + "@react-types/button" "^3.9.4" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-aria/textfield@^3.14.0", "@react-aria/textfield@^3.14.4": - version "3.14.4" - resolved "https://registry.yarnpkg.com/@react-aria/textfield/-/textfield-3.14.4.tgz#5972126a2c8905bac0fdb8e81951d98ff772d436" - integrity sha512-fdZChDyTRA4BPqbyDeD9gSw6rVeIAl7eG38osRwr0mzcKTiS/AyV3jiRwnHsBO9brU8RdViJFri4emVDuxSjag== - dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/form" "^3.0.4" - "@react-aria/label" "^3.7.7" - "@react-aria/utils" "^3.24.0" - "@react-stately/form" "^3.0.2" - "@react-stately/utils" "^3.10.0" - "@react-types/shared" "^3.23.0" - "@react-types/textfield" "^3.9.2" +"@react-aria/textfield@^3.14.0", "@react-aria/textfield@^3.14.5": + version "3.14.5" + resolved "https://registry.yarnpkg.com/@react-aria/textfield/-/textfield-3.14.5.tgz#afb46b4af019dc88fc7f77396cea5ec0c9701f01" + integrity sha512-hj7H+66BjB1iTKKaFXwSZBZg88YT+wZboEXZ0DNdQB2ytzoz/g045wBItUuNi4ZjXI3P+0AOZznVMYadWBAmiA== + dependencies: + "@react-aria/focus" "^3.17.1" + "@react-aria/form" "^3.0.5" + "@react-aria/label" "^3.7.8" + "@react-aria/utils" "^3.24.1" + "@react-stately/form" "^3.0.3" + "@react-stately/utils" "^3.10.1" + "@react-types/shared" "^3.23.1" + "@react-types/textfield" "^3.9.3" "@swc/helpers" "^0.5.0" -"@react-aria/toggle@^3.10.3": - version "3.10.3" - resolved "https://registry.yarnpkg.com/@react-aria/toggle/-/toggle-3.10.3.tgz#111bb8fb44646700dc29d5d709917c0ac2bdfac8" - integrity sha512-QtufHlWczMcTGmRxF7RCEgfMKpUPivyXJWZsQ1HSlknjRJPzf4uc3mSR62hq2sZ0VN9zXEpUsoixbEDB87TnGg== - dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/utils" "^3.24.0" - "@react-stately/toggle" "^3.7.3" - "@react-types/checkbox" "^3.8.0" +"@react-aria/toggle@^3.10.4": + version "3.10.4" + resolved "https://registry.yarnpkg.com/@react-aria/toggle/-/toggle-3.10.4.tgz#a3673ead72c389381c6217b5bed7269300351a8e" + integrity sha512-bRk+CdB8QzrSyGNjENXiTWxfzYKRw753iwQXsEAU7agPCUdB8cZJyrhbaUoD0rwczzTp2zDbZ9rRbUPdsBE2YQ== + dependencies: + "@react-aria/focus" "^3.17.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/utils" "^3.24.1" + "@react-stately/toggle" "^3.7.4" + "@react-types/checkbox" "^3.8.1" "@swc/helpers" "^0.5.0" "@react-aria/tooltip@^3.7.0": - version "3.7.3" - resolved "https://registry.yarnpkg.com/@react-aria/tooltip/-/tooltip-3.7.3.tgz#7b2a647edadd456b2a848203801f5ab04dd643b4" - integrity sha512-uF2J/GRKTHSeEYMwvXTu7oK710nov/NRbY7db2Hh7yXluGmjJORXb5wxsy+lqHaWqPKBbkhmxBJYeJJpAqlZ5g== - dependencies: - "@react-aria/focus" "^3.17.0" - "@react-aria/interactions" "^3.21.2" - "@react-aria/utils" "^3.24.0" - "@react-stately/tooltip" "^3.4.8" - "@react-types/shared" "^3.23.0" - "@react-types/tooltip" "^3.4.8" + version "3.7.4" + resolved "https://registry.yarnpkg.com/@react-aria/tooltip/-/tooltip-3.7.4.tgz#0efe8b4cc543a39395e99861ad6f0c64cd746026" + integrity sha512-+XRx4HlLYqWY3fB8Z60bQi/rbWDIGlFUtXYbtoa1J+EyRWfhpvsYImP8qeeNO/vgjUtDy1j9oKa8p6App9mBMQ== + dependencies: + "@react-aria/focus" "^3.17.1" + "@react-aria/interactions" "^3.21.3" + "@react-aria/utils" "^3.24.1" + "@react-stately/tooltip" "^3.4.9" + "@react-types/shared" "^3.23.1" + "@react-types/tooltip" "^3.4.9" "@swc/helpers" "^0.5.0" -"@react-aria/utils@^3.23.0", "@react-aria/utils@^3.24.0": - version "3.24.0" - resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.24.0.tgz#f56ab45fc2dc50938d5857b1f176e81524d651ad" - integrity sha512-JAxkPhK5fCvFVNY2YG3TW3m1nTzwRcbz7iyTSkUzLFat4N4LZ7Kzh7NMHsgeE/oMOxd8zLY+XsUxMu/E/2GujA== +"@react-aria/utils@^3.23.0", "@react-aria/utils@^3.24.1": + version "3.24.1" + resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.24.1.tgz#9d16023f07c23c41793c9030a9bd203a9c8cf0a7" + integrity sha512-O3s9qhPMd6n42x9sKeJ3lhu5V1Tlnzhu6Yk8QOvDuXf7UGuUjXf9mzfHJt1dYzID4l9Fwm8toczBzPM9t0jc8Q== dependencies: - "@react-aria/ssr" "^3.9.3" - "@react-stately/utils" "^3.10.0" - "@react-types/shared" "^3.23.0" + "@react-aria/ssr" "^3.9.4" + "@react-stately/utils" "^3.10.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" clsx "^2.0.0" -"@react-aria/visually-hidden@^3.8.11", "@react-aria/visually-hidden@^3.8.8": - version "3.8.11" - resolved "https://registry.yarnpkg.com/@react-aria/visually-hidden/-/visually-hidden-3.8.11.tgz#a29eda3114629456a700b1d8396e539bb8a37436" - integrity sha512-1JFruyAatoKnC18qrix8Q1gyUNlizWZvYdPADgB5btakMy0PEGTWPmFRK5gFsO+N0CZLCFTCip0dkUv6rrp31w== +"@react-aria/visually-hidden@^3.8.12", "@react-aria/visually-hidden@^3.8.8": + version "3.8.12" + resolved "https://registry.yarnpkg.com/@react-aria/visually-hidden/-/visually-hidden-3.8.12.tgz#89388b4773b8fbea4b5f9682e807510c14218c93" + integrity sha512-Bawm+2Cmw3Xrlr7ARzl2RLtKh0lNUdJ0eNqzWcyx4c0VHUAWtThmH5l+HRqFUGzzutFZVo89SAy40BAbd0gjVw== dependencies: - "@react-aria/interactions" "^3.21.2" - "@react-aria/utils" "^3.24.0" - "@react-types/shared" "^3.23.0" + "@react-aria/interactions" "^3.21.3" + "@react-aria/utils" "^3.24.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-oauth/google@^0.12.1": @@ -1637,466 +1604,458 @@ resolved "https://registry.yarnpkg.com/@react-oauth/google/-/google-0.12.1.tgz#b76432c3a525e9afe076f787d2ded003fcc1bee9" integrity sha512-qagsy22t+7UdkYAiT5ZhfM4StXi9PPNvw0zuwNmabrWyMKddczMtBIOARflbaIj+wHiQjnMAsZmzsUYuXeyoSg== -"@react-stately/calendar@^3.4.3", "@react-stately/calendar@^3.5.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@react-stately/calendar/-/calendar-3.5.0.tgz#356ea7633e2ae362d3d25871c441a2fbadddac84" - integrity sha512-tINxgGAeZ9KsYNomuR50PljG2mN9C9FWQ8zyvATfFq44EFcjjdXCMNWV+qgIRKGKLwrSJhu3boPaiHVIpUxrXA== +"@react-stately/calendar@^3.4.3", "@react-stately/calendar@^3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@react-stately/calendar/-/calendar-3.5.1.tgz#3e865d69675ba78f56e7abfadff0ef667f438a69" + integrity sha512-7l7QhqGUJ5AzWHfvZzbTe3J4t72Ht5BmhW4hlVI7flQXtfrmYkVtl3ZdytEZkkHmWGYZRW9b4IQTQGZxhtlElA== dependencies: - "@internationalized/date" "^3.5.3" - "@react-stately/utils" "^3.10.0" - "@react-types/calendar" "^3.4.5" - "@react-types/shared" "^3.23.0" + "@internationalized/date" "^3.5.4" + "@react-stately/utils" "^3.10.1" + "@react-types/calendar" "^3.4.6" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-stately/checkbox@^3.6.1", "@react-stately/checkbox@^3.6.4": - version "3.6.4" - resolved "https://registry.yarnpkg.com/@react-stately/checkbox/-/checkbox-3.6.4.tgz#1304b1ac378a21f255a50e9eefd30a3eb1f2e874" - integrity sha512-gecaRtWeQNoJuSl3AtfV6z6LjaUV578Kzbag8d3pTPbGXl8komTtTj/26nIEPsmf/L8jZ3kCscDGxGTKr+7sqg== +"@react-stately/checkbox@^3.6.1", "@react-stately/checkbox@^3.6.5": + version "3.6.5" + resolved "https://registry.yarnpkg.com/@react-stately/checkbox/-/checkbox-3.6.5.tgz#0566eae3ba3a84af6f29526b3feaf124d3c3a66b" + integrity sha512-IXV3f9k+LtmfQLE+DKIN41Q5QB/YBLDCB1YVx5PEdRp52S9+EACD5683rjVm8NVRDwjMi2SP6RnFRk7fVb5Azg== dependencies: - "@react-stately/form" "^3.0.2" - "@react-stately/utils" "^3.10.0" - "@react-types/checkbox" "^3.8.0" - "@react-types/shared" "^3.23.0" + "@react-stately/form" "^3.0.3" + "@react-stately/utils" "^3.10.1" + "@react-types/checkbox" "^3.8.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-stately/collections@^3.10.4", "@react-stately/collections@^3.10.6": - version "3.10.6" - resolved "https://registry.yarnpkg.com/@react-stately/collections/-/collections-3.10.6.tgz#487a4c4e201e8f0de53725ce650d1e57b820917a" - integrity sha512-hb/yzxQnZaSRu43iR6ftkCJIqD4Qu5WUjl4ASBn2EGb9TmipA7bFnYVqSH4xFPCCTZ68Qxh95dOcxYBHlHeWZQ== +"@react-stately/collections@^3.10.4", "@react-stately/collections@^3.10.7": + version "3.10.7" + resolved "https://registry.yarnpkg.com/@react-stately/collections/-/collections-3.10.7.tgz#b1add46cb8e2f2a0d33938ef1b232fb2d0fd11eb" + integrity sha512-KRo5O2MWVL8n3aiqb+XR3vP6akmHLhLWYZEmPKjIv0ghQaEebBTrN3wiEjtd6dzllv0QqcWvDLM1LntNfJ2TsA== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-stately/combobox@^3.8.1", "@react-stately/combobox@^3.8.3": - version "3.8.3" - resolved "https://registry.yarnpkg.com/@react-stately/combobox/-/combobox-3.8.3.tgz#28cc70009287b673af24ec9ae034428fe610a733" - integrity sha512-lmwt2M39jHQUA9CWKhTc9MVoUBKuJM1Y+9GYPElON8P/guQL6G3bM1u8I4Hxf0zzGzAIW3ymV57bF9mcaA/nzA== - dependencies: - "@react-stately/collections" "^3.10.6" - "@react-stately/form" "^3.0.2" - "@react-stately/list" "^3.10.4" - "@react-stately/overlays" "^3.6.6" - "@react-stately/select" "^3.6.3" - "@react-stately/utils" "^3.10.0" - "@react-types/combobox" "^3.11.0" - "@react-types/shared" "^3.23.0" +"@react-stately/combobox@^3.8.1", "@react-stately/combobox@^3.8.4": + version "3.8.4" + resolved "https://registry.yarnpkg.com/@react-stately/combobox/-/combobox-3.8.4.tgz#6540ec4d53af210e6f3a769ba3f2615a55380984" + integrity sha512-iLVGvKRRz0TeJXZhZyK783hveHpYA6xovOSdzSD+WGYpiPXo1QrcrNoH3AE0Z2sHtorU+8nc0j58vh5PB+m2AA== + dependencies: + "@react-stately/collections" "^3.10.7" + "@react-stately/form" "^3.0.3" + "@react-stately/list" "^3.10.5" + "@react-stately/overlays" "^3.6.7" + "@react-stately/select" "^3.6.4" + "@react-stately/utils" "^3.10.1" + "@react-types/combobox" "^3.11.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" "@react-stately/data@^3.11.0": - version "3.11.3" - resolved "https://registry.yarnpkg.com/@react-stately/data/-/data-3.11.3.tgz#3ab66c43f515bca34e4a6dce888b1ae6088470ab" - integrity sha512-iyg27s3uUquxvX5AXckAgOPszG6uX7fCOIg0D/GJXxdFxLv1gFSupIeIJhM+kXufPgpaLiugaQxoYlO5y65shA== + version "3.11.4" + resolved "https://registry.yarnpkg.com/@react-stately/data/-/data-3.11.4.tgz#a6168c292830af0e8d1dff154724d7ea253c7407" + integrity sha512-PbnUQxeE6AznSuEWYnRmrYQ9t5z1Asx98Jtrl96EeA6Iapt9kOjTN9ySqCxtPxMKleb1NIqG3+uHU3veIqmLsg== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-stately/datepicker@^3.9.1", "@react-stately/datepicker@^3.9.3": - version "3.9.3" - resolved "https://registry.yarnpkg.com/@react-stately/datepicker/-/datepicker-3.9.3.tgz#b74d2bcec71dcd944eaba1815dec02f884a2014b" - integrity sha512-NjZ8uqxmKf7mGLNWSZsvm22xX46k+yo0QkPspONuorHFTf8qqCnp4i+bBpEpaVCwX5KVSRdjxJOk7XhvJF8q4w== - dependencies: - "@internationalized/date" "^3.5.3" - "@internationalized/string" "^3.2.2" - "@react-stately/form" "^3.0.2" - "@react-stately/overlays" "^3.6.6" - "@react-stately/utils" "^3.10.0" - "@react-types/datepicker" "^3.7.3" - "@react-types/shared" "^3.23.0" +"@react-stately/datepicker@^3.9.1", "@react-stately/datepicker@^3.9.4": + version "3.9.4" + resolved "https://registry.yarnpkg.com/@react-stately/datepicker/-/datepicker-3.9.4.tgz#c9862cdc09da72760ed3005169223c7743b44b2d" + integrity sha512-yBdX01jn6gq4NIVvHIqdjBUPo+WN8Bujc4OnPw+ZnfA4jI0eIgq04pfZ84cp1LVXW0IB0VaCu1AlQ/kvtZjfGA== + dependencies: + "@internationalized/date" "^3.5.4" + "@internationalized/string" "^3.2.3" + "@react-stately/form" "^3.0.3" + "@react-stately/overlays" "^3.6.7" + "@react-stately/utils" "^3.10.1" + "@react-types/datepicker" "^3.7.4" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-stately/dnd@^3.2.7", "@react-stately/dnd@^3.3.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@react-stately/dnd/-/dnd-3.3.0.tgz#b34319346c5f931dcbb1174553f2bbaf57e1a186" - integrity sha512-bHH3B4wFqfATpyxpP5Wdv/5uQdci4WvStJgeExj7Yy2UwYSsZEnS6Ky0MhLLFdIyUpragjiSCzYcYwwli6oHUQ== +"@react-stately/dnd@^3.2.7", "@react-stately/dnd@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@react-stately/dnd/-/dnd-3.3.1.tgz#e4f9d5c58dd2ed4869c8d458c8fdc23e269bf5d3" + integrity sha512-I/Ci5xB8hSgAXzoWYWScfMM9UK1MX/eTlARBhiSlfudewweOtNJAI+cXJgU7uiUnGjh4B4v3qDBtlAH1dWDCsw== dependencies: - "@react-stately/selection" "^3.15.0" - "@react-types/shared" "^3.23.0" + "@react-stately/selection" "^3.15.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-stately/flags@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@react-stately/flags/-/flags-3.0.2.tgz#b452765823ce2c2f7d7b344bb6d57b10284fd00e" - integrity sha512-/KyVJMND2WdkgoHpt+m+ash7h5q9pq91DLgyizQWcbf2xphicH9D1HKAB8co3Cfvq6T/QqjQEP8aBkheiPyfEg== +"@react-stately/flags@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@react-stately/flags/-/flags-3.0.3.tgz#53a58c0140d61575787127a762b7901b4a7fa896" + integrity sha512-/ha7XFA0RZTQsbzSPwu3KkbNMgbvuM0GuMTYLTBWpgBrovBNTM+QqI/PfZTdHg8PwCYF4H5Y8gjdSpdulCvJFw== dependencies: - "@swc/helpers" "^0.4.14" + "@swc/helpers" "^0.5.0" -"@react-stately/form@^3.0.0", "@react-stately/form@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@react-stately/form/-/form-3.0.2.tgz#11b4a7475e51f9e516ede205f8f44be7afd59c7f" - integrity sha512-MA4P9lHv770I3DJpJTQlkh5POVuklmeQuixwlbyKzlWT+KqFSOXvqaliszqU7gyDdVGAFksMa6E3mXbGbk1wuA== +"@react-stately/form@^3.0.0", "@react-stately/form@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@react-stately/form/-/form-3.0.3.tgz#9894f9b219cc4cfbbde814d43d3f897bc43b25b3" + integrity sha512-92YYBvlHEWUGUpXgIaQ48J50jU9XrxfjYIN8BTvvhBHdD63oWgm8DzQnyT/NIAMzdLnhkg7vP+fjG8LjHeyIAg== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-stately/grid@^3.8.6": - version "3.8.6" - resolved "https://registry.yarnpkg.com/@react-stately/grid/-/grid-3.8.6.tgz#c77fdf2f975fd1d232fdbbda9621f2b090f38e79" - integrity sha512-XkxDfaIAWzbsb5pnL2IE4FqQbqegVzPnU+R2ZvDrJT7514I2usSMoJ2ZUUoy8DIYQomJHB5QKZeyQkGIelHMcg== +"@react-stately/grid@^3.8.7": + version "3.8.7" + resolved "https://registry.yarnpkg.com/@react-stately/grid/-/grid-3.8.7.tgz#5c8aa22c83c0cb1146edad716c218739768e72ca" + integrity sha512-he3TXCLAhF5C5z1/G4ySzcwyt7PEiWcVIupxebJQqRyFrNWemSuv+7tolnStmG8maMVIyV3P/3j4eRBbdSlOIg== dependencies: - "@react-stately/collections" "^3.10.6" - "@react-stately/selection" "^3.15.0" - "@react-types/grid" "^3.2.5" - "@react-types/shared" "^3.23.0" + "@react-stately/collections" "^3.10.7" + "@react-stately/selection" "^3.15.1" + "@react-types/grid" "^3.2.6" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-stately/list@^3.10.2", "@react-stately/list@^3.10.4": - version "3.10.4" - resolved "https://registry.yarnpkg.com/@react-stately/list/-/list-3.10.4.tgz#edb7557e3229220847b7efa8b9be6c02658e574c" - integrity sha512-sj501OKcQr+1Zdo0m6NuvpZDHLE0tUdReSKcWqt35odzC6ic/qr7C7ozZ/5ay+nuHTryUUTC/mDQ0zlBmQX0dA== +"@react-stately/list@^3.10.2", "@react-stately/list@^3.10.5": + version "3.10.5" + resolved "https://registry.yarnpkg.com/@react-stately/list/-/list-3.10.5.tgz#b68ebd595b5f4a51d6719cdcabd34f0780e95b85" + integrity sha512-fV9plO+6QDHiewsYIhboxcDhF17GO95xepC5ki0bKXo44gr14g/LSo/BMmsaMnV+1BuGdBunB05bO4QOIaigXA== dependencies: - "@react-stately/collections" "^3.10.6" - "@react-stately/selection" "^3.15.0" - "@react-stately/utils" "^3.10.0" - "@react-types/shared" "^3.23.0" + "@react-stately/collections" "^3.10.7" + "@react-stately/selection" "^3.15.1" + "@react-stately/utils" "^3.10.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-stately/menu@^3.6.0", "@react-stately/menu@^3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@react-stately/menu/-/menu-3.7.0.tgz#e438c4076f3d7d8f5dc7e91552a1288874d4da7d" - integrity sha512-8UJhvKEF+zaHXrwv0YhFr73OSEprzIs6xRNoV6F/omd4twy1ngPZrL1X8HNzaXsf5BrHuib2tbh81e/Z95D3nA== +"@react-stately/menu@^3.6.0", "@react-stately/menu@^3.7.1": + version "3.7.1" + resolved "https://registry.yarnpkg.com/@react-stately/menu/-/menu-3.7.1.tgz#af3c259c519de036d9e80d7d8370278c7b042c6a" + integrity sha512-mX1w9HHzt+xal1WIT2xGrTQsoLvDwuB2R1Er1MBABs//MsJzccycatcgV/J/28m6tO5M9iuFQQvLV+i1dCtodg== dependencies: - "@react-stately/overlays" "^3.6.6" - "@react-types/menu" "^3.9.8" - "@react-types/shared" "^3.23.0" + "@react-stately/overlays" "^3.6.7" + "@react-types/menu" "^3.9.9" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-stately/numberfield@^3.8.0", "@react-stately/numberfield@^3.9.2": - version "3.9.2" - resolved "https://registry.yarnpkg.com/@react-stately/numberfield/-/numberfield-3.9.2.tgz#f9e9246d6f20fb897387d262a41b35e51c193091" - integrity sha512-Sp+0MnqaqZ/Tu8qalZXbMIXyvZ7aXIny2PxNIxmnqxVHfxIzQCLJW5Y4bJr1yJIHH3QDZic5OyqS72MBWBXnIA== +"@react-stately/numberfield@^3.8.0", "@react-stately/numberfield@^3.9.3": + version "3.9.3" + resolved "https://registry.yarnpkg.com/@react-stately/numberfield/-/numberfield-3.9.3.tgz#b61429835b949aa6ad5e2fb6e6699ee78ce7bcd5" + integrity sha512-UlPTLSabhLEuHtgzM0PgfhtEaHy3yttbzcRb8yHNvGo4KbCHeHpTHd3QghKfTFm024Mug7+mVlWCmMtW0f5ttg== dependencies: - "@internationalized/number" "^3.5.2" - "@react-stately/form" "^3.0.2" - "@react-stately/utils" "^3.10.0" - "@react-types/numberfield" "^3.8.2" + "@internationalized/number" "^3.5.3" + "@react-stately/form" "^3.0.3" + "@react-stately/utils" "^3.10.1" + "@react-types/numberfield" "^3.8.3" "@swc/helpers" "^0.5.0" -"@react-stately/overlays@^3.6.4", "@react-stately/overlays@^3.6.6": - version "3.6.6" - resolved "https://registry.yarnpkg.com/@react-stately/overlays/-/overlays-3.6.6.tgz#5aedca4c363187ab6197b1c20bb5ad42f08fee29" - integrity sha512-NvzQXh4zYGZuUmZH5d3NmEDNr8r1hfub2s5w7WOeIG35xqIzoKGdFZ7LLWrie+4nxPmM+ckdfqOQ9pBZFNJypQ== +"@react-stately/overlays@^3.6.4", "@react-stately/overlays@^3.6.7": + version "3.6.7" + resolved "https://registry.yarnpkg.com/@react-stately/overlays/-/overlays-3.6.7.tgz#d4aa1b709e6e72306c33308bb031466730dd0480" + integrity sha512-6zp8v/iNUm6YQap0loaFx6PlvN8C0DgWHNlrlzMtMmNuvjhjR0wYXVaTfNoUZBWj25tlDM81ukXOjpRXg9rLrw== dependencies: - "@react-stately/utils" "^3.10.0" - "@react-types/overlays" "^3.8.6" + "@react-stately/utils" "^3.10.1" + "@react-types/overlays" "^3.8.7" "@swc/helpers" "^0.5.0" -"@react-stately/radio@^3.10.1", "@react-stately/radio@^3.10.3": - version "3.10.3" - resolved "https://registry.yarnpkg.com/@react-stately/radio/-/radio-3.10.3.tgz#1ad28e9f33b3f9f869c28dc3a1bf690a309df815" - integrity sha512-EWLLRgLQ9orI7G9uPuJv1bdZPu3OoRWy1TGSn+6G8b8rleNx3haI4eZUR+JGB0YNgemotMz/gbNTNG/wEIsRgw== +"@react-stately/radio@^3.10.1", "@react-stately/radio@^3.10.4": + version "3.10.4" + resolved "https://registry.yarnpkg.com/@react-stately/radio/-/radio-3.10.4.tgz#499ef1e781a47b5ac89b3af571fc61054327f55b" + integrity sha512-kCIc7tAl4L7Hu4Wt9l2jaa+MzYmAJm0qmC8G8yPMbExpWbLRu6J8Un80GZu+JxvzgDlqDyrVvyv9zFifwH/NkQ== dependencies: - "@react-stately/form" "^3.0.2" - "@react-stately/utils" "^3.10.0" - "@react-types/radio" "^3.8.0" - "@react-types/shared" "^3.23.0" + "@react-stately/form" "^3.0.3" + "@react-stately/utils" "^3.10.1" + "@react-types/radio" "^3.8.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-stately/searchfield@^3.5.0", "@react-stately/searchfield@^3.5.2": - version "3.5.2" - resolved "https://registry.yarnpkg.com/@react-stately/searchfield/-/searchfield-3.5.2.tgz#b64a30b660255384af939abf41ad3fd0d93dd1af" - integrity sha512-M73mhUCbY5aJAtVH8BF9TeBwOtEMC7G1N/W6j71V8f3MlN0ppN0n4pZWW3CMd2x0BKuYum8KPvcL1DgiXzoo5A== +"@react-stately/searchfield@^3.5.0", "@react-stately/searchfield@^3.5.3": + version "3.5.3" + resolved "https://registry.yarnpkg.com/@react-stately/searchfield/-/searchfield-3.5.3.tgz#423056e1260dd0332c1d2454a91c67e338964c40" + integrity sha512-H0OvlgwPIFdc471ypw79MDjz3WXaVq9+THaY6JM4DIohEJNN5Dwei7O9g6r6m/GqPXJIn5TT3b74kJ2Osc00YQ== dependencies: - "@react-stately/utils" "^3.10.0" - "@react-types/searchfield" "^3.5.4" + "@react-stately/utils" "^3.10.1" + "@react-types/searchfield" "^3.5.5" "@swc/helpers" "^0.5.0" -"@react-stately/select@^3.6.1", "@react-stately/select@^3.6.3": - version "3.6.3" - resolved "https://registry.yarnpkg.com/@react-stately/select/-/select-3.6.3.tgz#009c1b27fe827a1b2f5fcd1d546d369560b177d7" - integrity sha512-d/ha6j0oiEaw/F5hgPgCZg1e8LObNmvsocEebxXPToVdwHd9H55r2Fogi5nLoiX8geHKiYm0KPfSxs/oXbW/5Q== - dependencies: - "@react-stately/form" "^3.0.2" - "@react-stately/list" "^3.10.4" - "@react-stately/overlays" "^3.6.6" - "@react-types/select" "^3.9.3" - "@react-types/shared" "^3.23.0" +"@react-stately/select@^3.6.1", "@react-stately/select@^3.6.4": + version "3.6.4" + resolved "https://registry.yarnpkg.com/@react-stately/select/-/select-3.6.4.tgz#efd512c94545309e2373ea2f17cd97c8a1803321" + integrity sha512-whZgF1N53D0/dS8tOFdrswB0alsk5Q5620HC3z+5f2Hpi8gwgAZ8TYa+2IcmMYRiT+bxVuvEc/NirU9yPmqGbA== + dependencies: + "@react-stately/form" "^3.0.3" + "@react-stately/list" "^3.10.5" + "@react-stately/overlays" "^3.6.7" + "@react-types/select" "^3.9.4" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-stately/selection@^3.14.2", "@react-stately/selection@^3.15.0": - version "3.15.0" - resolved "https://registry.yarnpkg.com/@react-stately/selection/-/selection-3.15.0.tgz#224a7a279236aacbd30063bc9f11dbe196728e8e" - integrity sha512-OtypXNtvRWLmpkaktluzCYEXKXAON16WIJv2mZ4cae3H0UVfWaFL9sD+ST9nj7UqYNTDXECug5ziIY+YKd7zvA== +"@react-stately/selection@^3.14.2", "@react-stately/selection@^3.15.1": + version "3.15.1" + resolved "https://registry.yarnpkg.com/@react-stately/selection/-/selection-3.15.1.tgz#853af4958e7eb02d75487c878460338bbec3f548" + integrity sha512-6TQnN9L0UY9w19B7xzb1P6mbUVBtW840Cw1SjgNXCB3NPaCf59SwqClYzoj8O2ZFzMe8F/nUJtfU1NS65/OLlw== dependencies: - "@react-stately/collections" "^3.10.6" - "@react-stately/utils" "^3.10.0" - "@react-types/shared" "^3.23.0" + "@react-stately/collections" "^3.10.7" + "@react-stately/utils" "^3.10.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-stately/slider@^3.5.0", "@react-stately/slider@^3.5.3": - version "3.5.3" - resolved "https://registry.yarnpkg.com/@react-stately/slider/-/slider-3.5.3.tgz#77f92da5514d017342b582f803b7f1973f2e35a2" - integrity sha512-jA0XR7GjtwoucLw8kx/KB50pSGNUbR7xNfM9t5H8D7k3wd+j4yqfarWyNFyPX/X5MJez+/bd+BIDJUl3XGOWkA== +"@react-stately/slider@^3.5.0", "@react-stately/slider@^3.5.4": + version "3.5.4" + resolved "https://registry.yarnpkg.com/@react-stately/slider/-/slider-3.5.4.tgz#f8c1b5133769380348fa1e8a7a513ebbd88a8355" + integrity sha512-Jsf7K17dr93lkNKL9ij8HUcoM1sPbq8TvmibD6DhrK9If2lje+OOL8y4n4qreUnfMT56HCAeS9wCO3fg3eMyrw== dependencies: - "@react-stately/utils" "^3.10.0" - "@react-types/shared" "^3.23.0" - "@react-types/slider" "^3.7.2" + "@react-stately/utils" "^3.10.1" + "@react-types/shared" "^3.23.1" + "@react-types/slider" "^3.7.3" "@swc/helpers" "^0.5.0" -"@react-stately/table@^3.11.4", "@react-stately/table@^3.11.7": - version "3.11.7" - resolved "https://registry.yarnpkg.com/@react-stately/table/-/table-3.11.7.tgz#b6248e7fb512b4814ddd018622e96d406a1c9a8b" - integrity sha512-VvazamtoXLENeWJAYF1fJzfIAXO2qbiXCfosRLgkEMtoU2kGqV8DHYQhIXuqwMRn8nO8GVw9hgAiQQcKghgCXA== - dependencies: - "@react-stately/collections" "^3.10.6" - "@react-stately/flags" "^3.0.2" - "@react-stately/grid" "^3.8.6" - "@react-stately/selection" "^3.15.0" - "@react-stately/utils" "^3.10.0" - "@react-types/grid" "^3.2.5" - "@react-types/shared" "^3.23.0" - "@react-types/table" "^3.9.4" +"@react-stately/table@^3.11.4", "@react-stately/table@^3.11.8": + version "3.11.8" + resolved "https://registry.yarnpkg.com/@react-stately/table/-/table-3.11.8.tgz#b5323b095be8937761b9c5598f38623089047cf8" + integrity sha512-EdyRW3lT1/kAVDp5FkEIi1BQ7tvmD2YgniGdLuW/l9LADo0T+oxZqruv60qpUS6sQap+59Riaxl91ClDxrJnpg== + dependencies: + "@react-stately/collections" "^3.10.7" + "@react-stately/flags" "^3.0.3" + "@react-stately/grid" "^3.8.7" + "@react-stately/selection" "^3.15.1" + "@react-stately/utils" "^3.10.1" + "@react-types/grid" "^3.2.6" + "@react-types/shared" "^3.23.1" + "@react-types/table" "^3.9.5" "@swc/helpers" "^0.5.0" -"@react-stately/tabs@^3.6.3", "@react-stately/tabs@^3.6.5": - version "3.6.5" - resolved "https://registry.yarnpkg.com/@react-stately/tabs/-/tabs-3.6.5.tgz#9c13689aa72d8e19ea09dd3b28be593058b81231" - integrity sha512-z1saZgGRqb0AsoRi19iE4JOJaIRV73GjRnzUX9QSl3gpK75XsH31vbmtUYiXOXAd6Dt+1KFLgbyeCzMUlZEnMw== +"@react-stately/tabs@^3.6.3", "@react-stately/tabs@^3.6.6": + version "3.6.6" + resolved "https://registry.yarnpkg.com/@react-stately/tabs/-/tabs-3.6.6.tgz#69f4a042406cbe284ffe4c56d3bc8d57cad693fe" + integrity sha512-sOLxorH2uqjAA+v1ppkMCc2YyjgqvSGeBDgtR/lyPSDd4CVMoTExszROX2dqG0c8il9RQvzFuufUtQWMY6PgSA== dependencies: - "@react-stately/list" "^3.10.4" - "@react-types/shared" "^3.23.0" - "@react-types/tabs" "^3.3.6" + "@react-stately/list" "^3.10.5" + "@react-types/shared" "^3.23.1" + "@react-types/tabs" "^3.3.7" "@swc/helpers" "^0.5.0" -"@react-stately/toggle@^3.7.0", "@react-stately/toggle@^3.7.3": - version "3.7.3" - resolved "https://registry.yarnpkg.com/@react-stately/toggle/-/toggle-3.7.3.tgz#5f22db28773ffa521b9293093205f62938d976eb" - integrity sha512-4jW6wxTu7Gkq6/2mZWqtJoQ6ff27Cl6lnVMEXXM+M8HwK/3zHoMZhVz8EApwgOsRByxDQ76PNSGm3xKZAcqZNw== +"@react-stately/toggle@^3.7.0", "@react-stately/toggle@^3.7.4": + version "3.7.4" + resolved "https://registry.yarnpkg.com/@react-stately/toggle/-/toggle-3.7.4.tgz#3345b5c939db96305af7c22b73577db5536220ab" + integrity sha512-CoYFe9WrhLkDP4HGDpJYQKwfiYCRBAeoBQHv+JWl5eyK61S8xSwoHsveYuEZ3bowx71zyCnNAqWRrmNOxJ4CKA== dependencies: - "@react-stately/utils" "^3.10.0" - "@react-types/checkbox" "^3.8.0" + "@react-stately/utils" "^3.10.1" + "@react-types/checkbox" "^3.8.1" "@swc/helpers" "^0.5.0" -"@react-stately/tooltip@^3.4.6", "@react-stately/tooltip@^3.4.8": - version "3.4.8" - resolved "https://registry.yarnpkg.com/@react-stately/tooltip/-/tooltip-3.4.8.tgz#1af311d8389d13252eca17468327c24b2ed27ce5" - integrity sha512-0D3cCeQhX5DjDpeuzFJwfX8SxIOxdL2iWPPjpC3hIxkUKuItavSq2A7G2tO39vpiip3RBOaaQMUpnSmjRK5DAQ== +"@react-stately/tooltip@^3.4.6", "@react-stately/tooltip@^3.4.9": + version "3.4.9" + resolved "https://registry.yarnpkg.com/@react-stately/tooltip/-/tooltip-3.4.9.tgz#a6161db77bd5ad606caa1a302622f92bc381b4ac" + integrity sha512-P7CDJsdoKarz32qFwf3VNS01lyC+63gXpDZG31pUu+EO5BeQd4WKN/AH1Beuswpr4GWzxzFc1aXQgERFGVzraA== dependencies: - "@react-stately/overlays" "^3.6.6" - "@react-types/tooltip" "^3.4.8" + "@react-stately/overlays" "^3.6.7" + "@react-types/tooltip" "^3.4.9" "@swc/helpers" "^0.5.0" -"@react-stately/tree@^3.7.5", "@react-stately/tree@^3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@react-stately/tree/-/tree-3.8.0.tgz#4e5fead882b27ca8e2fe582c3c3caa62a3078d8d" - integrity sha512-7bfbCLjG8BTiWuo9GBE1A375PPI4S9r/rMtKQGLQvYAObgJb7C8P3svA9WKfryvl7M5iqaYrOVA0uzNSmeCNQQ== +"@react-stately/tree@^3.7.5", "@react-stately/tree@^3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@react-stately/tree/-/tree-3.8.1.tgz#a3ea36d503a0276a860842cc8bf7c759aa7fa75f" + integrity sha512-LOdkkruJWch3W89h4B/bXhfr0t0t1aRfEp+IMrrwdRAl23NaPqwl5ILHs4Xu5XDHqqhg8co73pHrJwUyiTWEjw== dependencies: - "@react-stately/collections" "^3.10.6" - "@react-stately/selection" "^3.15.0" - "@react-stately/utils" "^3.10.0" - "@react-types/shared" "^3.23.0" + "@react-stately/collections" "^3.10.7" + "@react-stately/selection" "^3.15.1" + "@react-stately/utils" "^3.10.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-stately/utils@^3.10.0": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@react-stately/utils/-/utils-3.10.0.tgz#2479c891b9d726cc43e6abcc0cc74498eda8e0fa" - integrity sha512-nji2i9fTYg65ZWx/3r11zR1F2tGya+mBubRCbMTwHyRnsSLFZaeq/W6lmrOyIy1uMJKBNKLJpqfmpT4x7rw6pg== +"@react-stately/utils@^3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@react-stately/utils/-/utils-3.10.1.tgz#dc8685b4994bef0dc10c37b024074be8afbfba62" + integrity sha512-VS/EHRyicef25zDZcM/ClpzYMC5i2YGN6uegOeQawmgfGjb02yaCX0F0zR69Pod9m2Hr3wunTbtpgVXvYbZItg== dependencies: "@swc/helpers" "^0.5.0" -"@react-stately/virtualizer@^3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@react-stately/virtualizer/-/virtualizer-3.7.0.tgz#f45437454d86b96d76c8bbcb323bce618545dc87" - integrity sha512-Wkh502y6mzUvjJJr30p5FLRwBaphnfmnoSnGwidamwo3HuyrDICBSlwFGPl0AmUHo1afSaLXl6j8smU48VcClA== +"@react-stately/virtualizer@^3.7.1": + version "3.7.1" + resolved "https://registry.yarnpkg.com/@react-stately/virtualizer/-/virtualizer-3.7.1.tgz#eb962d2ce700c026ce1b1d901034601db9d370c0" + integrity sha512-voHgE6EQ+oZaLv6u2umKxakvIKNkCQuUihqKACTjdslp7SJh4Mvs3oLBI0hf0JOh+rCcFIKDvQtFwy1fXFRYBA== dependencies: - "@react-aria/utils" "^3.24.0" - "@react-types/shared" "^3.23.0" + "@react-aria/utils" "^3.24.1" + "@react-types/shared" "^3.23.1" "@swc/helpers" "^0.5.0" -"@react-types/breadcrumbs@^3.7.4": - version "3.7.4" - resolved "https://registry.yarnpkg.com/@react-types/breadcrumbs/-/breadcrumbs-3.7.4.tgz#f19428aeb6e0be80d94f560e9a0ea87d158128b2" - integrity sha512-gQPLi71i+4zE6m5S74v7bpZ/yBERtlUt5qBcvB4C7gJu8aR4cFrv1YFZ//9f8uwlAHjau7XBpVlbBDlhfb2aOQ== +"@react-types/breadcrumbs@^3.7.5": + version "3.7.5" + resolved "https://registry.yarnpkg.com/@react-types/breadcrumbs/-/breadcrumbs-3.7.5.tgz#72bc6e8881446864d7bf786f4667a2fbdda279f8" + integrity sha512-lV9IDYsMiu2TgdMIjEmsOE0YWwjb3jhUNK1DCZZfq6uWuiHLgyx2EncazJBUWSjHJ4ta32j7xTuXch+8Ai6u/A== dependencies: - "@react-types/link" "^3.5.4" - "@react-types/shared" "^3.23.0" + "@react-types/link" "^3.5.5" + "@react-types/shared" "^3.23.1" -"@react-types/button@^3.9.3": - version "3.9.3" - resolved "https://registry.yarnpkg.com/@react-types/button/-/button-3.9.3.tgz#9698ea30411fcfc02890a067b258d2cec3891fcd" - integrity sha512-YHlSeH85FhasJXOmkY4x+6If74ZpUh88C2fMlw0HUA/Bq/KGckUoriV8cnMqSnB1OwPqi8dpBZGfFVj6f6lh9A== +"@react-types/button@^3.9.4": + version "3.9.4" + resolved "https://registry.yarnpkg.com/@react-types/button/-/button-3.9.4.tgz#ec10452e870660d31db1994f6fe4abfe0c800814" + integrity sha512-raeQBJUxBp0axNF74TXB8/H50GY8Q3eV6cEKMbZFP1+Dzr09Ngv0tJBeW0ewAxAguNH5DRoMUAUGIXtSXskVdA== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/calendar@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@react-types/calendar/-/calendar-3.4.5.tgz#11e87ffacb2d3eadbc3bfb55326faf98f101cf0a" - integrity sha512-FAAUbqe8iPiNf/OtdxnpOuAEJzyeRgfK2QCzfb4BIVnNNaTDkbxGCI5wrqHfBQ4FASECJeNlkjYXtbvijaooyw== +"@react-types/calendar@^3.4.6": + version "3.4.6" + resolved "https://registry.yarnpkg.com/@react-types/calendar/-/calendar-3.4.6.tgz#66ddcefc3058492b3cce58a6e63b01558048b669" + integrity sha512-WSntZPwtvsIYWvBQRAPvuCn55UTJBZroTvX0vQvWykJRQnPAI20G1hMQ3dNsnAL+gLZUYxBXn66vphmjUuSYew== dependencies: - "@internationalized/date" "^3.5.3" - "@react-types/shared" "^3.23.0" + "@internationalized/date" "^3.5.4" + "@react-types/shared" "^3.23.1" -"@react-types/checkbox@^3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@react-types/checkbox/-/checkbox-3.8.0.tgz#78568087e32a0e3542d57b363a872efa2b10ee84" - integrity sha512-IBJ2bAsb3xoXaL+f0pwfRLDvRkhxfcX/q4NRJ2oT9jeHLU+j6svgK1Dqk8IGmY+vw1ltKbbMlIVeVonKQ3fgHw== +"@react-types/checkbox@^3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@react-types/checkbox/-/checkbox-3.8.1.tgz#de82c93542b2dd85c01df2e0c85c33a2e6349d14" + integrity sha512-5/oVByPw4MbR/8QSdHCaalmyWC71H/QGgd4aduTJSaNi825o+v/hsN2/CH7Fq9atkLKsC8fvKD00Bj2VGaKriQ== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/combobox@^3.11.0": - version "3.11.0" - resolved "https://registry.yarnpkg.com/@react-types/combobox/-/combobox-3.11.0.tgz#7c7ebba60e096a73597363cbfd2b5bd7d1c65138" - integrity sha512-L6EEcIUIk7lsVvhO1Z1bklgH5bM84fBht03TC+es9YvS2T1Z9hdtyjBFcH6b3lVW9RwAArdUTL82/RNtvgD0Eg== +"@react-types/combobox@^3.11.1": + version "3.11.1" + resolved "https://registry.yarnpkg.com/@react-types/combobox/-/combobox-3.11.1.tgz#d5ab2f3c12d01083a3fc7c6ed90b9a2ae9049aa0" + integrity sha512-UNc3OHt5cUt5gCTHqhQIqhaWwKCpaNciD8R7eQazmHiA9fq8ROlV+7l3gdNgdhJbTf5Bu/V5ISnN7Y1xwL3zqQ== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/datepicker@^3.7.3": - version "3.7.3" - resolved "https://registry.yarnpkg.com/@react-types/datepicker/-/datepicker-3.7.3.tgz#d916256706550afe0bc247a7f170893c83593ba1" - integrity sha512-SpA91itY03QaBvTAGP4X62SEAOoKJr91Av/U5DgH8gP7Ev4Ui+I3Aqh+w8Qw6nxKX4aAvDUx6wEHwLQLbvJUPA== +"@react-types/datepicker@^3.7.4": + version "3.7.4" + resolved "https://registry.yarnpkg.com/@react-types/datepicker/-/datepicker-3.7.4.tgz#8b21df1041d7e51198621984920ac290b2f09744" + integrity sha512-ZfvgscvNzBJpYyVWg3nstJtA/VlWLwErwSkd1ivZYam859N30w8yH+4qoYLa6FzWLCFlrsRHyvtxlEM7lUAt5A== dependencies: - "@internationalized/date" "^3.5.3" - "@react-types/calendar" "^3.4.5" - "@react-types/overlays" "^3.8.6" - "@react-types/shared" "^3.23.0" + "@internationalized/date" "^3.5.4" + "@react-types/calendar" "^3.4.6" + "@react-types/overlays" "^3.8.7" + "@react-types/shared" "^3.23.1" -"@react-types/dialog@^3.5.9": - version "3.5.9" - resolved "https://registry.yarnpkg.com/@react-types/dialog/-/dialog-3.5.9.tgz#a8a7dda73bf75d2d1b5fb212daec715dbffb1085" - integrity sha512-8r9P1b1gq/cUv2bTPPNL3IFVEj9R5sIPACoSXznXkpXxh5FLU6yUPHDeQjvmM50q7KlEOgrPYhGl5pW525kLww== +"@react-types/dialog@^3.5.10": + version "3.5.10" + resolved "https://registry.yarnpkg.com/@react-types/dialog/-/dialog-3.5.10.tgz#c0fe93c432581eb032c28632733ea80ae242b2c3" + integrity sha512-S9ga+edOLNLZw7/zVOnZdT5T40etpzUYBXEKdFPbxyPYnERvRxJAsC1/ASuBU9fQAXMRgLZzADWV+wJoGS/X9g== dependencies: - "@react-types/overlays" "^3.8.6" - "@react-types/shared" "^3.23.0" + "@react-types/overlays" "^3.8.7" + "@react-types/shared" "^3.23.1" -"@react-types/grid@^3.2.5": - version "3.2.5" - resolved "https://registry.yarnpkg.com/@react-types/grid/-/grid-3.2.5.tgz#93e4dbc7070bfe52d1a4a46a656e3aeafb9a8602" - integrity sha512-kvE3Y+i0/RGLrf8qn/uVK1nVxXygNf5Jm6h9S6UdZkEVsclcqHKIX8UzqQgEUTd99jMHZk7fbKPm/La8uJ9yFQ== +"@react-types/grid@^3.2.6": + version "3.2.6" + resolved "https://registry.yarnpkg.com/@react-types/grid/-/grid-3.2.6.tgz#c0aba4a748d1722bafe85acf87f8d9d5134653b3" + integrity sha512-XfHenL2jEBUYrhKiPdeM24mbLRXUn79wVzzMhrNYh24nBwhsPPpxF+gjFddT3Cy8dt6tRInfT6pMEu9nsXwaHw== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/link@^3.5.4": - version "3.5.4" - resolved "https://registry.yarnpkg.com/@react-types/link/-/link-3.5.4.tgz#26c97945ab4e337e05d8bf0993bb3d8497cd81a3" - integrity sha512-5hVAlKE4wiEVHmkqQG9/G4sdar257CISmLzWh9xf8heq14a93MBIHm7S9mhHULk2a84EC9bNoTi8Hh6P6nnMEw== +"@react-types/link@^3.5.5": + version "3.5.5" + resolved "https://registry.yarnpkg.com/@react-types/link/-/link-3.5.5.tgz#5ed829aa32f226fe62efb0d906b1926c110daf02" + integrity sha512-G6P5WagHDR87npN7sEuC5IIgL1GsoY4WFWKO4734i2CXRYx24G9P0Su3AX4GA3qpspz8sK1AWkaCzBMmvnunfw== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/listbox@^3.4.8": - version "3.4.8" - resolved "https://registry.yarnpkg.com/@react-types/listbox/-/listbox-3.4.8.tgz#448d0e1024e9eebc33e52b99e0f182ccbf92018a" - integrity sha512-HNLBvyhR02p8GaZsW8hAu4YwkDjaG/rcuCT/l4Sdxzsm7szPlFMEVBZ9Ji3Ffzj+9P20OgFJ+VylWs7EkUwJAA== +"@react-types/listbox@^3.4.9": + version "3.4.9" + resolved "https://registry.yarnpkg.com/@react-types/listbox/-/listbox-3.4.9.tgz#92e9990f480b48c1849ffd57ad8f95f5e278df66" + integrity sha512-S5G+WmNKUIOPZxZ4svWwWQupP3C6LmVfnf8QQmPDvwYXGzVc0WovkqUWyhhjJirFDswTXRCO9p0yaTHHIlkdwQ== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/menu@^3.9.8": - version "3.9.8" - resolved "https://registry.yarnpkg.com/@react-types/menu/-/menu-3.9.8.tgz#fe86b986fa6c0684b8ec8341bd5fb09368921469" - integrity sha512-nkRCsfD3NXsJOv6mAnXCFyH2eGOFsmOOJOBQeOl9dj7BcdX9dcqp2PzUWPl33GrY9rYcXiRx4wsbUoqO1KVU4g== +"@react-types/menu@^3.9.9": + version "3.9.9" + resolved "https://registry.yarnpkg.com/@react-types/menu/-/menu-3.9.9.tgz#d7f81f6ecad7dd04fc730b4ad5c3ca39e3c0883d" + integrity sha512-FamUaPVs1Fxr4KOMI0YcR2rYZHoN7ypGtgiEiJ11v/tEPjPPGgeKDxii0McCrdOkjheatLN1yd2jmMwYj6hTDg== dependencies: - "@react-types/overlays" "^3.8.6" - "@react-types/shared" "^3.23.0" + "@react-types/overlays" "^3.8.7" + "@react-types/shared" "^3.23.1" -"@react-types/meter@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@react-types/meter/-/meter-3.4.0.tgz#986b577117f9a395435d6ecc78780209c863a1b7" - integrity sha512-1czayiwMcg3QxRxQQSm9hvPbzPk1lyNmP68mDsWdVuY7fUTsUvItF05IkeJCkEB8tIqfBKnJHYAJN1XLY+5bfg== +"@react-types/meter@^3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@react-types/meter/-/meter-3.4.1.tgz#ae587293f5f8f8a5876cd10a7001181f62e1eafb" + integrity sha512-AIJV4NDFAqKH94s02c5Da4TH2qgJjfrw978zuFM0KUBFD85WRPKh7MvgWpomvUgmzqE6lMCzIdi1KPKqrRabdw== dependencies: - "@react-types/progress" "^3.5.3" + "@react-types/progress" "^3.5.4" -"@react-types/numberfield@^3.8.2": - version "3.8.2" - resolved "https://registry.yarnpkg.com/@react-types/numberfield/-/numberfield-3.8.2.tgz#8eb608669ece9be226eddb3b1eef0e2aca5ff559" - integrity sha512-2i7Je7fEYA4ousL9WhKZg+6Hejwgiq1AmoJpan6JfeIMQkvQ92q+klq02cih/lLXY/jvjd/KI3fa1fl3dfnaFw== +"@react-types/numberfield@^3.8.3": + version "3.8.3" + resolved "https://registry.yarnpkg.com/@react-types/numberfield/-/numberfield-3.8.3.tgz#85f8c4eceea22b437232250596fbaebfc7318e04" + integrity sha512-z5fGfVj3oh5bmkw9zDvClA1nDBSFL9affOuyk2qZ/M2SRUmykDAPCksbfcMndft0XULWKbF4s2CYbVI+E/yrUA== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/overlays@^3.8.6": - version "3.8.6" - resolved "https://registry.yarnpkg.com/@react-types/overlays/-/overlays-3.8.6.tgz#ea40ede52f4cf8cb78d3db9d69e6cb54b8a5c084" - integrity sha512-7xBuroYqwADppt7IRGfM8lbxVwlZrhMtTzeIdUot595cqFdRlpd/XAo2sRnEeIjYW9OSI8I5v4kt3AG7bdCQlg== +"@react-types/overlays@^3.8.7": + version "3.8.7" + resolved "https://registry.yarnpkg.com/@react-types/overlays/-/overlays-3.8.7.tgz#a43faf524cb3fce74acceee43898b265e8dfee05" + integrity sha512-zCOYvI4at2DkhVpviIClJ7bRrLXYhSg3Z3v9xymuPH3mkiuuP/dm8mUCtkyY4UhVeUTHmrQh1bzaOP00A+SSQA== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/progress@^3.5.3": - version "3.5.3" - resolved "https://registry.yarnpkg.com/@react-types/progress/-/progress-3.5.3.tgz#91374cab8cc1e5ea28617644a47ec819f149214b" - integrity sha512-IcICNYRPFHQxl6iXi5jDgSZ3I9k2UQ2rIFcnoGo43K0hekv6fRdbbXWJU9ndShs3OfCHTPHEV5ooYB3UujNOAQ== +"@react-types/progress@^3.5.4": + version "3.5.4" + resolved "https://registry.yarnpkg.com/@react-types/progress/-/progress-3.5.4.tgz#22032aa0a64a3ff99fcd6e6e4f22cbc09c9725f3" + integrity sha512-JNc246sTjasPyx5Dp7/s0rp3Bz4qlu4LrZTulZlxWyb53WgBNL7axc26CCi+I20rWL9+c7JjhrRxnLl/1cLN5g== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/radio@^3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@react-types/radio/-/radio-3.8.0.tgz#c843a973ce6d5cc63d6f51b7bbb6a170b5e61df6" - integrity sha512-0gvG74lgiaRo0DO46hoB5NxGFXhq5DsHaPZcCcb9VZ8cCzZMrO7U/B3JhF82TI2DndSx/AoiAMOQsc0v4ZwiGg== +"@react-types/radio@^3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@react-types/radio/-/radio-3.8.1.tgz#f12ddd21d88fa278baa8ddc237b778c70b67669f" + integrity sha512-bK0gio/qj1+0Ldu/3k/s9BaOZvnnRgvFtL3u5ky479+aLG5qf1CmYed3SKz8ErZ70JkpuCSrSwSCFf0t1IHovw== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/searchfield@^3.5.4": - version "3.5.4" - resolved "https://registry.yarnpkg.com/@react-types/searchfield/-/searchfield-3.5.4.tgz#16b035ee2b7313b6cf306e85de660f9c36094b95" - integrity sha512-D7tUwlbUxyTzxhMYWNMdY9lp/a/kdr9mIGB7K3j/QSQhTI2T9H3VPxEKXmYt33cE3T7Q1DDsII1SrChI/KEdxA== +"@react-types/searchfield@^3.5.5": + version "3.5.5" + resolved "https://registry.yarnpkg.com/@react-types/searchfield/-/searchfield-3.5.5.tgz#61b1c684039b1ff40d1a8da6c5172b4c8b90d530" + integrity sha512-T/NHg12+w23TxlXMdetogLDUldk1z5dDavzbnjKrLkajLb221bp8brlR/+O6C1CtFpuJGALqYHgTasU1qkQFSA== dependencies: - "@react-types/shared" "^3.23.0" - "@react-types/textfield" "^3.9.2" + "@react-types/shared" "^3.23.1" + "@react-types/textfield" "^3.9.3" -"@react-types/select@^3.9.3": - version "3.9.3" - resolved "https://registry.yarnpkg.com/@react-types/select/-/select-3.9.3.tgz#b92ef523ed74e9896a87b11c02767c2ab64c1d02" - integrity sha512-hK5RvA6frMbLdynRkegNW1lMOD0l9aFsW9X8WuTAg0zV6iZouU0hhSCT6JRDefJrv+m0X3fRdohMuVNZOhlA1g== +"@react-types/select@^3.9.4": + version "3.9.4" + resolved "https://registry.yarnpkg.com/@react-types/select/-/select-3.9.4.tgz#6283cdcb0583a87d23aa00fd118365f80fe68484" + integrity sha512-xI7dnOW2st91fPPcv6hdtrTdcfetYiqZuuVPZ5TRobY7Q10/Zqqe/KqtOw1zFKUj9xqNJe4Ov3xP5GSdcO60Eg== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/shared@^3.22.0", "@react-types/shared@^3.23.0": - version "3.23.0" - resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.23.0.tgz#59c9d2683d131b81a8f775b56408782fc70bc79b" - integrity sha512-GQm/iPiii3ikcaMNR4WdVkJ4w0mKtV3mLqeSfSqzdqbPr6vONkqXbh3RhPlPmAJs1b4QHnexd/wZQP3U9DHOwQ== +"@react-types/shared@^3.22.0", "@react-types/shared@^3.23.1": + version "3.23.1" + resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.23.1.tgz#2f23c81d819d0ef376df3cd4c944be4d6bce84c3" + integrity sha512-5d+3HbFDxGZjhbMBeFHRQhexMFt4pUce3okyRtUVKbbedQFUrtXSBg9VszgF2RTeQDKDkMCIQDtz5ccP/Lk1gw== -"@react-types/slider@^3.7.2": - version "3.7.2" - resolved "https://registry.yarnpkg.com/@react-types/slider/-/slider-3.7.2.tgz#4ba02cf626ecbaa077502ce42c9fd675590a877f" - integrity sha512-HvC/Mdt/z741xcU0ymeNxslnowQ5EAHOSzyf2JMgXmle+pEIbbepz5QUVaOmEveQHS3bjxE/+n2yBTKbxP8CJg== +"@react-types/slider@^3.7.3": + version "3.7.3" + resolved "https://registry.yarnpkg.com/@react-types/slider/-/slider-3.7.3.tgz#d6de0626c6977dd10faea2dba656193106ffbdb8" + integrity sha512-F8qFQaD2mqug2D0XeWMmjGBikiwbdERFlhFzdvNGbypPLz3AZICBKp1ZLPWdl0DMuy03G/jy6Gl4mDobl7RT2g== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/switch@^3.5.2": - version "3.5.2" - resolved "https://registry.yarnpkg.com/@react-types/switch/-/switch-3.5.2.tgz#49645a32366c44a02b16b196d31888ce84f7020d" - integrity sha512-4i35eZ5GtVDgu9KFhlyLyXanspcQp5WEnPyaBKn3pDRDcpzAL7yNP/Rwqc/JDdcJWngV080o7loJCgEfJ6UFaQ== +"@react-types/switch@^3.5.3": + version "3.5.3" + resolved "https://registry.yarnpkg.com/@react-types/switch/-/switch-3.5.3.tgz#2a5faaf513e03972df3077e4ff5ef21738239d7c" + integrity sha512-Nb6+J5MrPaFa8ZNFKGMzAsen/NNzl5UG/BbC65SLGPy7O0VDa/sUpn7dcu8V2xRpRwwIN/Oso4v63bt2sgdkgA== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/table@^3.9.4": - version "3.9.4" - resolved "https://registry.yarnpkg.com/@react-types/table/-/table-3.9.4.tgz#a2a35d313a629a5af1a2c294c5414565d202d875" - integrity sha512-31EI0KAHwX7TbgERLBLVuD3nvpZUo0Wie7S7FEARmirIRfzm1fIkdDk5hfIHry2Lp4mq2/aqXLCY+oDR+lC2pw== +"@react-types/table@^3.9.5": + version "3.9.5" + resolved "https://registry.yarnpkg.com/@react-types/table/-/table-3.9.5.tgz#7910debd618405598583a10588a75f97c7b15eeb" + integrity sha512-fgM2j9F/UR4Anmd28CueghCgBwOZoCVyN8fjaIFPd2MN4gCwUUfANwxLav65gZk4BpwUXGoQdsW+X50L3555mg== dependencies: - "@react-types/grid" "^3.2.5" - "@react-types/shared" "^3.23.0" + "@react-types/grid" "^3.2.6" + "@react-types/shared" "^3.23.1" -"@react-types/tabs@^3.3.6": - version "3.3.6" - resolved "https://registry.yarnpkg.com/@react-types/tabs/-/tabs-3.3.6.tgz#023e7fa885b5184dd14c1b6301cb5292ab7db8bd" - integrity sha512-ubvB7pB4+e5OpIuYR1CYip53iW9rJRIWvioHTYfcX0DnMabEcVP6Ymdqr5bDh/VsBEhiddsNgMduQwJm6bUTew== +"@react-types/tabs@^3.3.7": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@react-types/tabs/-/tabs-3.3.7.tgz#8bb7a65998395bad75576f5ce32c8ce61329497f" + integrity sha512-ZdLe5xOcFX6+/ni45Dl2jO0jFATpTnoSqj6kLIS/BYv8oh0n817OjJkLf+DS3CLfNjApJWrHqAk34xNh6nRnEg== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/textfield@^3.9.2": - version "3.9.2" - resolved "https://registry.yarnpkg.com/@react-types/textfield/-/textfield-3.9.2.tgz#447183f68a07d88b799dd6b0620af13114d59947" - integrity sha512-8UcabahYhKm3KTu9CQBhz745FioUWO6CWgYusBpxMDJ+HnlhCC2JWyQvqg5tT98sr5AeSek4Jt/XS3ovzrhCDg== +"@react-types/textfield@^3.9.3": + version "3.9.3" + resolved "https://registry.yarnpkg.com/@react-types/textfield/-/textfield-3.9.3.tgz#23db9d87ddadc4eddff3f85406af91e442f01dc9" + integrity sha512-DoAY6cYOL0pJhgNGI1Rosni7g72GAt4OVr2ltEx2S9ARmFZ0DBvdhA9lL2nywcnKMf27PEJcKMXzXc10qaHsJw== dependencies: - "@react-types/shared" "^3.23.0" + "@react-types/shared" "^3.23.1" -"@react-types/tooltip@^3.4.8": - version "3.4.8" - resolved "https://registry.yarnpkg.com/@react-types/tooltip/-/tooltip-3.4.8.tgz#4dbbe24f0a394e3b04efb77e4ab0f50fa1cbfcdc" - integrity sha512-6XVQ3cMaXVMif+F5PQCaVwxbgAL8HVRqVjt6DkHs8Xbae43hpEIwPrBYlWWMVpuZAcjXZLTGmmyPjYeORZZJ4A== +"@react-types/tooltip@^3.4.9": + version "3.4.9" + resolved "https://registry.yarnpkg.com/@react-types/tooltip/-/tooltip-3.4.9.tgz#fb2291bd0b915f7c7f5024ce146412405843ec9b" + integrity sha512-wZ+uF1+Zc43qG+cOJzioBmLUNjRa7ApdcT0LI1VvaYvH5GdfjzUJOorLX9V/vAci0XMJ50UZ+qsh79aUlw2yqg== dependencies: - "@react-types/overlays" "^3.8.6" - "@react-types/shared" "^3.23.0" - -"@remix-run/router@1.16.1": - version "1.16.1" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.16.1.tgz#73db3c48b975eeb06d0006481bde4f5f2d17d1cd" - integrity sha512-es2g3dq6Nb07iFxGk5GuHN20RwBZOsuDQN7izWIisUcv9r+d2C5jQxqmgkdebXgReWfiyUabcki6Fg77mSNrig== + "@react-types/overlays" "^3.8.7" + "@react-types/shared" "^3.23.1" -"@swc/helpers@^0.4.14": - version "0.4.36" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.36.tgz#fcfff76ed52c214f357e8e9d3f37b568908072d9" - integrity sha512-5lxnyLEYFskErRPenYItLRSge5DjrJngYKdVjRSrWfza9G6KkgHEXi0vUZiyUeMU5JfXH1YnvXZzSp8ul88o2Q== - dependencies: - legacy-swc-helpers "npm:@swc/helpers@=0.4.14" - tslib "^2.4.0" +"@remix-run/router@1.17.1": + version "1.17.1" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.17.1.tgz#bf93997beb81863fde042ebd05013a2618471362" + integrity sha512-mCOMec4BKd6BRGBZeSnGiIgwsbLGp3yhVqAD8H+PxiRNEHgDpZb8J1TnrSDlg97t0ySKMQJTHCWBCmBpSmkF6Q== "@swc/helpers@^0.5.0": version "0.5.11" @@ -2115,21 +2074,21 @@ resolved "https://registry.yarnpkg.com/@table-nav/react/-/react-0.0.7.tgz#a97699a490e31713fccd5f624ddb62e9fdc06a82" integrity sha512-S+DsD/qDqp50Z4dqt5tZFMWA3sRu0OOT/grMQuq/z/52jPEKJB+b9t+YSH8Ms55vCJOJ0DxuYldJpYrJLMG5ew== -"@tanstack/react-table@^8.9.3": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@tanstack/react-table/-/react-table-8.16.0.tgz#92151210ff99d6925353d7a2205735d9c31af48c" - integrity sha512-rKRjnt8ostqN2fercRVOIH/dq7MAmOENCMvVlKx6P9Iokhh6woBGnIZEkqsY/vEJf1jN3TqLOb34xQGLVRuhAg== +"@tanstack/react-table@8.11.8": + version "8.11.8" + resolved "https://registry.yarnpkg.com/@tanstack/react-table/-/react-table-8.11.8.tgz#4eef4a2d91116ca51c8c9b2f00b455d8d99886c7" + integrity sha512-NEwvIq4iSiDQozEyvbdiSdCOiLa+g5xHmdEnvwDb98FObcK6YkBOkRrs/CNqrKdDy+/lqoIllIWHk+M80GW6+g== dependencies: - "@tanstack/table-core" "8.16.0" + "@tanstack/table-core" "8.11.8" -"@tanstack/table-core@8.16.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.16.0.tgz#7b58018dd3cec8e0015fe22d6bb24d18d33c891f" - integrity sha512-dCG8vQGk4js5v88/k83tTedWOwjGnIyONrKpHpfmSJB8jwFHl8GSu1sBBxbtACVAPtAQgwNxl0rw1d3RqRM1Tg== +"@tanstack/table-core@8.11.8": + version "8.11.8" + resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.11.8.tgz#7f46c31894249dbb57e43ad95c80e891236a895f" + integrity sha512-DECHvtq4YW4U/gqg6etup7ydt/RB1Bi1pJaMpHUXl65ooW1d71Nv7BzD66rUdHrBSNdyiW3PLTPUQlpXjAgDeA== "@types/babel__core@^7.20.5": version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== dependencies: "@babel/parser" "^7.20.7" @@ -2140,29 +2099,29 @@ "@types/babel__generator@*": version "7.6.8" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.4.4" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*": - version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz" - integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== + version "7.20.6" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz#8dc9f0ae0f202c08d8d4dab648912c8d6038e3f7" + integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== dependencies: "@babel/types" "^7.20.7" "@types/chroma-js@2.1.4": version "2.1.4" - resolved "https://registry.npmjs.org/@types/chroma-js/-/chroma-js-2.1.4.tgz" + resolved "https://registry.yarnpkg.com/@types/chroma-js/-/chroma-js-2.1.4.tgz#52e3a8453000cdb9ad76357c2c47dbed702d136f" integrity sha512-l9hWzP7cp7yleJUI7P2acmpllTJNYf5uU6wh50JzSIZt3fFHe+w2FM6w9oZGBTYzjjm2qHdnQvI+fF/JF/E5jQ== "@types/debug@^4.0.0": @@ -2205,7 +2164,7 @@ "@types/json-schema@^7.0.12": version "7.0.15" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/mdast@^4.0.0": @@ -2221,54 +2180,48 @@ integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== "@types/node@^20.11.10": - version "20.11.10" - resolved "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz" - integrity sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg== + version "20.14.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.9.tgz#12e8e765ab27f8c421a1820c99f5f313a933b420" + integrity sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg== dependencies: undici-types "~5.26.4" "@types/parse-json@^4.0.0": version "4.0.2" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== "@types/prop-types@*", "@types/prop-types@^15.7.11": - version "15.7.11" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz" - integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== + version "15.7.12" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" + integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== "@types/react-dom@^18.2.7": - version "18.2.18" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz" - integrity sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw== + version "18.3.0" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.0.tgz#0cbc818755d87066ab6ca74fbedb2547d74a82b0" + integrity sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg== dependencies: "@types/react" "*" "@types/react-transition-group@^4.4.0", "@types/react-transition-group@^4.4.10": version "4.4.10" - resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.10.tgz#6ee71127bdab1f18f11ad8fb3322c6da27c327ac" integrity sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q== dependencies: "@types/react" "*" "@types/react@*", "@types/react@^18.2.15": - version "18.2.46" - resolved "https://registry.npmjs.org/@types/react/-/react-18.2.46.tgz" - integrity sha512-nNCvVBcZlvX4NU1nRRNV/mFl1nNRuTuslAJglQsq+8ldXe5Xv0Wd2f7WTE3jOxhLH2BFfiZGC6GCp+kHQbgG+w== + version "18.3.3" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.3.tgz#9679020895318b0915d7a3ab004d92d33375c45f" + integrity sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw== dependencies: "@types/prop-types" "*" - "@types/scheduler" "*" csstype "^3.0.2" -"@types/scheduler@*": - version "0.16.8" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz" - integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== - "@types/semver@^7.5.0": - version "7.5.6" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz" - integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== + version "7.5.8" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== "@types/unist@*", "@types/unist@^3.0.0": version "3.0.2" @@ -2281,20 +2234,20 @@ integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== "@types/uuid@^9.0.7": - version "9.0.7" - resolved "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.7.tgz" - integrity sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g== + version "9.0.8" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" + integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== "@typescript-eslint/eslint-plugin@^6.0.0": - version "6.17.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.17.0.tgz" - integrity sha512-Vih/4xLXmY7V490dGwBQJTpIZxH4ZFH6eCVmQ4RFkB+wmaCTDAx4dtgoWwMNGKLkqRY1L6rPqzEbjorRnDo4rQ== + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3" + integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== dependencies: "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.17.0" - "@typescript-eslint/type-utils" "6.17.0" - "@typescript-eslint/utils" "6.17.0" - "@typescript-eslint/visitor-keys" "6.17.0" + "@typescript-eslint/scope-manager" "6.21.0" + "@typescript-eslint/type-utils" "6.21.0" + "@typescript-eslint/utils" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" debug "^4.3.4" graphemer "^1.4.0" ignore "^5.2.4" @@ -2303,46 +2256,46 @@ ts-api-utils "^1.0.1" "@typescript-eslint/parser@^6.0.0": - version "6.17.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.17.0.tgz" - integrity sha512-C4bBaX2orvhK+LlwrY8oWGmSl4WolCfYm513gEccdWZj0CwGadbIADb0FtVEcI+WzUyjyoBj2JRP8g25E6IB8A== - dependencies: - "@typescript-eslint/scope-manager" "6.17.0" - "@typescript-eslint/types" "6.17.0" - "@typescript-eslint/typescript-estree" "6.17.0" - "@typescript-eslint/visitor-keys" "6.17.0" + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b" + integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== + dependencies: + "@typescript-eslint/scope-manager" "6.21.0" + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/typescript-estree" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@6.17.0": - version "6.17.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.17.0.tgz" - integrity sha512-RX7a8lwgOi7am0k17NUO0+ZmMOX4PpjLtLRgLmT1d3lBYdWH4ssBUbwdmc5pdRX8rXon8v9x8vaoOSpkHfcXGA== +"@typescript-eslint/scope-manager@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1" + integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== dependencies: - "@typescript-eslint/types" "6.17.0" - "@typescript-eslint/visitor-keys" "6.17.0" + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" -"@typescript-eslint/type-utils@6.17.0": - version "6.17.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.17.0.tgz" - integrity sha512-hDXcWmnbtn4P2B37ka3nil3yi3VCQO2QEB9gBiHJmQp5wmyQWqnjA85+ZcE8c4FqnaB6lBwMrPkgd4aBYz3iNg== +"@typescript-eslint/type-utils@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e" + integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== dependencies: - "@typescript-eslint/typescript-estree" "6.17.0" - "@typescript-eslint/utils" "6.17.0" + "@typescript-eslint/typescript-estree" "6.21.0" + "@typescript-eslint/utils" "6.21.0" debug "^4.3.4" ts-api-utils "^1.0.1" -"@typescript-eslint/types@6.17.0": - version "6.17.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.17.0.tgz" - integrity sha512-qRKs9tvc3a4RBcL/9PXtKSehI/q8wuU9xYJxe97WFxnzH8NWWtcW3ffNS+EWg8uPvIerhjsEZ+rHtDqOCiH57A== +"@typescript-eslint/types@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" + integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== -"@typescript-eslint/typescript-estree@6.17.0": - version "6.17.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.17.0.tgz" - integrity sha512-gVQe+SLdNPfjlJn5VNGhlOhrXz4cajwFd5kAgWtZ9dCZf4XJf8xmgCTLIqec7aha3JwgLI2CK6GY1043FRxZwg== +"@typescript-eslint/typescript-estree@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46" + integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== dependencies: - "@typescript-eslint/types" "6.17.0" - "@typescript-eslint/visitor-keys" "6.17.0" + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -2350,42 +2303,42 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/utils@6.17.0": - version "6.17.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.17.0.tgz" - integrity sha512-LofsSPjN/ITNkzV47hxas2JCsNCEnGhVvocfyOcLzT9c/tSZE7SfhS/iWtzP1lKNOEfLhRTZz6xqI8N2RzweSQ== +"@typescript-eslint/utils@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" + integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" "@types/json-schema" "^7.0.12" "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.17.0" - "@typescript-eslint/types" "6.17.0" - "@typescript-eslint/typescript-estree" "6.17.0" + "@typescript-eslint/scope-manager" "6.21.0" + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/typescript-estree" "6.21.0" semver "^7.5.4" -"@typescript-eslint/visitor-keys@6.17.0": - version "6.17.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.17.0.tgz" - integrity sha512-H6VwB/k3IuIeQOyYczyyKN8wH6ed8EwliaYHLxOIhyF0dYEIsN8+Bk3GE19qafeMKyZJJHP8+O1HiFhFLUNKSg== +"@typescript-eslint/visitor-keys@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47" + integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== dependencies: - "@typescript-eslint/types" "6.17.0" + "@typescript-eslint/types" "6.21.0" eslint-visitor-keys "^3.4.1" "@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0": version "1.2.0" - resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== "@vitejs/plugin-react@^4.0.3": - version "4.2.1" - resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz" - integrity sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ== + version "4.3.1" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.1.tgz#d0be6594051ded8957df555ff07a991fb618b48e" + integrity sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg== dependencies: - "@babel/core" "^7.23.5" - "@babel/plugin-transform-react-jsx-self" "^7.23.3" - "@babel/plugin-transform-react-jsx-source" "^7.23.3" + "@babel/core" "^7.24.5" + "@babel/plugin-transform-react-jsx-self" "^7.24.5" + "@babel/plugin-transform-react-jsx-source" "^7.24.1" "@types/babel__core" "^7.20.5" - react-refresh "^0.14.0" + react-refresh "^0.14.2" "@xobotyi/scrollbar-width@^1.9.5": version "1.9.5" @@ -2394,17 +2347,17 @@ acorn-jsx@^5.3.2: version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + version "8.12.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== ajv@^6.12.4: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -2414,31 +2367,31 @@ ajv@^6.12.4: ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" ansi-styles@^6.1.0: version "6.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== antlr4@4.10.1: @@ -2448,12 +2401,12 @@ antlr4@4.10.1: any-promise@^1.0.0: version "1.3.0" - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" @@ -2461,41 +2414,54 @@ anymatch@~3.1.2: arg@^5.0.2: version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" + call-bind "^1.0.5" + is-array-buffer "^3.0.4" -array-includes@^3.1.6: - version "3.1.7" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== +array-includes@^3.1.6, array-includes@^3.1.8: + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" is-string "^1.0.7" array-union@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +array.prototype.findlast@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" + integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + array.prototype.flat@^1.3.1: version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== dependencies: call-bind "^1.0.2" @@ -2503,9 +2469,9 @@ array.prototype.flat@^1.3.1: es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -array.prototype.flatmap@^1.3.1: +array.prototype.flatmap@^1.3.2: version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== dependencies: call-bind "^1.0.2" @@ -2513,76 +2479,82 @@ array.prototype.flatmap@^1.3.1: es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -array.prototype.tosorted@^1.1.1: +array.prototype.toreversed@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz" - integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== + resolved "https://registry.yarnpkg.com/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz#b989a6bf35c4c5051e1dc0325151bf8088954eba" + integrity sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA== dependencies: call-bind "^1.0.2" define-properties "^1.2.0" es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== +array.prototype.tosorted@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" + integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + es-errors "^1.3.0" + es-shim-unscopables "^1.0.2" -asynciterator.prototype@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz" - integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg== +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== dependencies: - has-symbols "^1.0.3" + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" + is-shared-array-buffer "^1.0.2" asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== attr-accept@^2.2.2: version "2.2.2" - resolved "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz" + resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== autoprefixer@^10.4.17: - version "10.4.17" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz" - integrity sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg== + version "10.4.19" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.19.tgz#ad25a856e82ee9d7898c59583c1afeb3fa65f89f" + integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== dependencies: - browserslist "^4.22.2" - caniuse-lite "^1.0.30001578" + browserslist "^4.23.0" + caniuse-lite "^1.0.30001599" fraction.js "^4.3.7" normalize-range "^0.1.2" picocolors "^1.0.0" postcss-value-parser "^4.2.0" -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" axios@^1.6.5: - version "1.6.5" - resolved "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz" - integrity sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg== + version "1.7.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.2.tgz#b625db8a7051fbea61c35a3cbb3a1daa7b9c7621" + integrity sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw== dependencies: - follow-redirects "^1.15.4" + follow-redirects "^1.15.6" form-data "^4.0.0" proxy-from-env "^1.1.0" babel-plugin-macros@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== dependencies: "@babel/runtime" "^7.12.5" @@ -2596,27 +2568,27 @@ bail@^2.0.0: balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base64-js@^1.3.1: version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== bin-pack@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/bin-pack/-/bin-pack-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/bin-pack/-/bin-pack-1.0.2.tgz#c2a014edbf0bed70a3292062ed46577b96120679" integrity sha512-aOk0SxEon5LF9cMxQFViSKb4qccG6rs7XKyMXIb1J8f8LA2acTIWnHdT0IOTe4gYBbqgjdbuTZ5f+UP+vlh4Mw== binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" @@ -2624,59 +2596,61 @@ brace-expansion@^1.1.7: brace-expansion@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== dependencies: balanced-match "^1.0.0" -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" -browserslist@^4.22.2: - version "4.22.2" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz" - integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== +browserslist@^4.22.2, browserslist@^4.23.0: + version "4.23.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.1.tgz#ce4af0534b3d37db5c1a4ca98b9080f985041e96" + integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw== dependencies: - caniuse-lite "^1.0.30001565" - electron-to-chromium "^1.4.601" + caniuse-lite "^1.0.30001629" + electron-to-chromium "^1.4.796" node-releases "^2.0.14" - update-browserslist-db "^1.0.13" + update-browserslist-db "^1.0.16" buffer@^6.0.3: version "6.0.3" - resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== dependencies: base64-js "^1.3.1" ieee754 "^1.2.1" -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase-css@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== -caniuse-lite@^1.0.30001565, caniuse-lite@^1.0.30001578: - version "1.0.30001582" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001582.tgz" - integrity sha512-vsJG3V5vgfduaQGVxL53uSX/HUzxyr2eA8xCo36OLal7sRcSZbibJtLeh0qja4sFOr/QQGt4opB4tOy+eOgAxg== +caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001629: + version "1.0.30001640" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz#32c467d4bf1f1a0faa63fc793c2ba81169e7652f" + integrity sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA== ccount@^2.0.0: version "2.0.1" @@ -2685,7 +2659,7 @@ ccount@^2.0.0: chalk@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -2694,7 +2668,7 @@ chalk@^2.4.2: chalk@^4.0.0: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -2736,9 +2710,9 @@ character-reference-invalid@^2.0.0: integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" braces "~3.0.2" @@ -2752,7 +2726,7 @@ chokidar@^3.5.3: chroma-js@2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/chroma-js/-/chroma-js-2.4.2.tgz#dffc214ed0c11fa8eefca2c36651d8e57cbfb2b0" integrity sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A== classnames@^2.2.6, classnames@^2.3.1: @@ -2760,43 +2734,38 @@ classnames@^2.2.6, classnames@^2.3.1: resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== -clsx@^2.0.0, clsx@^2.1.1: +clsx@^2.0.0, clsx@^2.1.0, clsx@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== -clsx@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz" - integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== - color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" -color-name@1.1.3, color-name@^1.0.0: +color-name@1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== -color-name@~1.1.4: +color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== color-string@^1.9.1: version "1.9.1" - resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== dependencies: color-name "^1.0.0" @@ -2804,7 +2773,7 @@ color-string@^1.9.1: combined-stream@^1.0.8: version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" @@ -2821,17 +2790,17 @@ comma-separated-tokens@^2.0.0: commander@^4.0.0: version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concaveman@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/concaveman/-/concaveman-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/concaveman/-/concaveman-1.2.1.tgz#47d20b4521125c15fabf453653c2696d9ee41e0b" integrity sha512-PwZYKaM/ckQSa8peP5JpVr7IMJ4Nn/MHIaWUjP4be+KoZ7Botgs8seAZGpmaOM+UZXawcdYRao/px9ycrCihHw== dependencies: point-in-polygon "^1.1.0" @@ -2841,19 +2810,19 @@ concaveman@^1.2.1: contrast@1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/contrast/-/contrast-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/contrast/-/contrast-1.0.1.tgz#839c66d8852269d33f4eb0a1b92d994bdd16385e" integrity sha512-cJvPtJOPXxFtkppBYqk1A1+ZtPT7neKmgjBKMtjnwSAZ5k+5GNdJHeDmIjCTLEItLcqna+K7GTtaGjQtDJcF4A== dependencies: hex-to-rgb "^1.0.0" convert-source-map@^1.5.0: version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== convert-source-map@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== copy-to-clipboard@^3.3.1: @@ -2865,19 +2834,19 @@ copy-to-clipboard@^3.3.1: core-util-is@~1.0.0: version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cose-base@^1.0.0: version "1.0.3" - resolved "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/cose-base/-/cose-base-1.0.3.tgz#650334b41b869578a543358b80cda7e0abe0a60a" integrity sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg== dependencies: layout-base "^1.0.0" cosmiconfig@^7.0.0: version "7.1.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" @@ -2893,7 +2862,7 @@ crelt@^1.0.5: cross-spawn@^7.0.0, cross-spawn@^7.0.2: version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -2917,34 +2886,34 @@ css-tree@^1.1.2: cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== csstype@^3.0.2, csstype@^3.1.2, csstype@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== cytoscape-cose-bilkent@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz#762fa121df9930ffeb51a495d87917c570ac209b" integrity sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ== dependencies: cose-base "^1.0.0" cytoscape@^3.23.0: - version "3.29.2" - resolved "https://registry.npmjs.org/cytoscape/-/cytoscape-3.29.2.tgz" - integrity sha512-2G1ycU28Nh7OHT9rkXRLpCDP30MKH1dXJORZuBhtEhEW7pKwgPi77ImqlCWinouyE1PNepIOGZBOrE84DG7LyQ== + version "3.30.0" + resolved "https://registry.yarnpkg.com/cytoscape/-/cytoscape-3.30.0.tgz#5b0c13f7bb305481e2c70414d4c5f149d92eda82" + integrity sha512-l590mjTHT6/Cbxp13dGPC2Y7VXdgc+rUeF8AnF/JPzhjNevbDJfObnJgaSjlldOgBQZbue+X6IUZ7r5GAgvauQ== "d3-dispatch@1 - 3": version "3.0.1" - resolved "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== d3-force@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-3.0.0.tgz#3e2ba1a61e70888fe3d9194e30d6d14eece155c4" integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== dependencies: d3-dispatch "1 - 3" @@ -2953,14 +2922,41 @@ d3-force@^3.0.0: "d3-quadtree@1 - 3": version "3.0.1" - resolved "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== "d3-timer@1 - 3": version "3.0.1" - resolved "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + date-fns@^2.30.0: version "2.30.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" @@ -2968,20 +2964,13 @@ date-fns@^2.30.0: dependencies: "@babel/runtime" "^7.21.0" -debug@^4.0.0: +debug@^4.0.0, debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: version "4.3.5" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== dependencies: ms "2.1.2" -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - decode-named-character-reference@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" @@ -2991,21 +2980,21 @@ decode-named-character-reference@^1.0.0: deep-is@^0.1.3: version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== dependencies: - get-intrinsic "^1.2.1" + es-define-property "^1.0.0" + es-errors "^1.3.0" gopd "^1.0.1" - has-property-descriptors "^1.0.0" -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: +define-properties@^1.2.0, define-properties@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: define-data-property "^1.0.1" @@ -3014,7 +3003,7 @@ define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== dequal@^2.0.0: @@ -3041,38 +3030,38 @@ devlop@^1.0.0, devlop@^1.1.0: didyoumean@^1.2.2: version "1.2.2" - resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" dlv@^1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" dom-helpers@^5.0.1: version "5.2.1" - resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== dependencies: "@babel/runtime" "^7.8.7" @@ -3080,27 +3069,27 @@ dom-helpers@^5.0.1: eastasianwidth@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== -electron-to-chromium@^1.4.601: - version "1.4.622" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.622.tgz" - integrity sha512-GZ47DEy0Gm2Z8RVG092CkFvX7SdotG57c4YZOe8W8qD4rOmk3plgeNmiLVRHP/Liqj1wRiY3uUUod9vb9hnxZA== +electron-to-chromium@^1.4.796: + version "1.4.816" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.816.tgz#3624649d1e7fde5cdbadf59d31a524245d8ee85f" + integrity sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.2.2: version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" @@ -3112,90 +3101,116 @@ error-stack-parser@^2.0.6: dependencies: stackframe "^1.3.4" -es-abstract@^1.22.1: - version "1.22.3" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz" - integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.5" - es-set-tostringtag "^2.0.1" +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2, es-abstract@^1.23.3: + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" es-to-primitive "^1.2.1" function.prototype.name "^1.1.6" - get-intrinsic "^1.2.2" - get-symbol-description "^1.0.0" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" globalthis "^1.0.3" gopd "^1.0.1" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" has-symbols "^1.0.3" - hasown "^2.0.0" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" is-callable "^1.2.7" - is-negative-zero "^2.0.2" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" + is-shared-array-buffer "^1.0.3" is-string "^1.0.7" - is-typed-array "^1.1.12" + is-typed-array "^1.1.13" is-weakref "^1.0.2" object-inspect "^1.13.1" object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" unbox-primitive "^1.0.2" - which-typed-array "^1.1.13" + which-typed-array "^1.1.15" -es-iterator-helpers@^1.0.12: - version "1.0.15" - resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz" - integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g== +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== dependencies: - asynciterator.prototype "^1.0.0" - call-bind "^1.0.2" + get-intrinsic "^1.2.4" + +es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-iterator-helpers@^1.0.19: + version "1.0.19" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz#117003d0e5fec237b4b5c08aded722e0c6d50ca8" + integrity sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw== + dependencies: + call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.22.1" - es-set-tostringtag "^2.0.1" - function-bind "^1.1.1" - get-intrinsic "^1.2.1" + es-abstract "^1.23.3" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.3" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" globalthis "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" has-symbols "^1.0.3" - internal-slot "^1.0.5" + internal-slot "^1.0.7" iterator.prototype "^1.1.2" - safe-array-concat "^1.0.1" + safe-array-concat "^1.1.2" -es-set-tostringtag@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz" - integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== dependencies: - get-intrinsic "^1.2.2" - has-tostringtag "^1.0.0" - hasown "^2.0.0" + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" -es-shim-unscopables@^1.0.0: +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== dependencies: hasown "^2.0.0" es-to-primitive@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" @@ -3204,7 +3219,7 @@ es-to-primitive@^1.2.1: esbuild@^0.18.10: version "0.18.20" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== optionalDependencies: "@esbuild/android-arm" "0.18.20" @@ -3230,19 +3245,19 @@ esbuild@^0.18.10: "@esbuild/win32-ia32" "0.18.20" "@esbuild/win32-x64" "0.18.20" -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escalade@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escape-string-regexp@^5.0.0: @@ -3252,44 +3267,46 @@ escape-string-regexp@^5.0.0: eslint-config-prettier@^8.5.0: version "8.10.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== eslint-plugin-react-hooks@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + version "4.6.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" + integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== eslint-plugin-react-refresh@^0.4.3: - version "0.4.5" - resolved "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.5.tgz" - integrity sha512-D53FYKJa+fDmZMtriODxvhwrO+IOqrxoEo21gMA0sjHdU6dPVH4OhyFip9ypl8HOF5RV5KdTo+rBQLvnY2cO8w== + version "0.4.7" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz#1f597f9093b254f10ee0961c139a749acb19af7d" + integrity sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw== eslint-plugin-react@^7.33.2: - version "7.33.2" - resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz" - integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== - dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" + version "7.34.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.34.3.tgz#9965f27bd1250a787b5d4cfcc765e5a5d58dcb7b" + integrity sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA== + dependencies: + array-includes "^3.1.8" + array.prototype.findlast "^1.2.5" + array.prototype.flatmap "^1.3.2" + array.prototype.toreversed "^1.1.2" + array.prototype.tosorted "^1.1.4" doctrine "^2.1.0" - es-iterator-helpers "^1.0.12" + es-iterator-helpers "^1.0.19" estraverse "^5.3.0" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" + object.entries "^1.1.8" + object.fromentries "^2.0.8" + object.hasown "^1.1.4" + object.values "^1.2.0" prop-types "^15.8.1" - resolve "^2.0.0-next.4" + resolve "^2.0.0-next.5" semver "^6.3.1" - string.prototype.matchall "^4.0.8" + string.prototype.matchall "^4.0.11" eslint-scope@^7.2.2: version "7.2.2" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" @@ -3297,19 +3314,19 @@ eslint-scope@^7.2.2: eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint@^8.45.0: - version "8.56.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz" - integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== + version "8.57.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" + integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.56.0" - "@humanwhocodes/config-array" "^0.11.13" + "@eslint/js" "8.57.0" + "@humanwhocodes/config-array" "^0.11.14" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" "@ungap/structured-clone" "^1.2.0" @@ -3346,7 +3363,7 @@ eslint@^8.45.0: espree@^9.6.0, espree@^9.6.1: version "9.6.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: acorn "^8.9.0" @@ -3355,21 +3372,21 @@ espree@^9.6.0, espree@^9.6.1: esquery@^1.4.2: version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== estree-util-is-identifier-name@^3.0.0: @@ -3379,7 +3396,7 @@ estree-util-is-identifier-name@^3.0.0: esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== extend@^3.0.0: @@ -3389,12 +3406,12 @@ extend@^3.0.0: fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.2.9, fast-glob@^3.3.0: version "3.3.2" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -3405,19 +3422,14 @@ fast-glob@^3.2.9, fast-glob@^3.3.0: fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fast-loops@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/fast-loops/-/fast-loops-1.1.3.tgz#ce96adb86d07e7bf9b4822ab9c6fac9964981f75" - integrity sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g== - fast-shallow-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz#d4dcaf6472440dcefa6f88b98e3251e27f25628b" @@ -3429,9 +3441,9 @@ fastest-stable-stringify@^2.0.2: integrity sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q== fastq@^1.6.0: - version "1.16.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz" - integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== dependencies: reusify "^1.0.4" @@ -3444,33 +3456,33 @@ fault@^1.0.0: file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" file-selector@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== dependencies: tslib "^2.4.0" -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" find-root@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== find-up@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" @@ -3478,7 +3490,7 @@ find-up@^5.0.0: flat-cache@^3.0.4: version "3.2.0" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: flatted "^3.2.9" @@ -3486,9 +3498,9 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.2.9: - version "3.2.9" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz" - integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== + version "3.3.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== focus-lock@^1.3.2: version "1.3.5" @@ -3497,29 +3509,29 @@ focus-lock@^1.3.2: dependencies: tslib "^2.0.3" -follow-redirects@^1.15.4: - version "1.15.5" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz" - integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== +follow-redirects@^1.15.6: + version "1.15.6" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" + integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== for-each@^0.3.3: version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== dependencies: is-callable "^1.1.3" foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + version "3.2.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.2.1.tgz#767004ccf3a5b30df39bed90718bab43fe0a59f7" + integrity sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA== dependencies: cross-spawn "^7.0.0" signal-exit "^4.0.1" form-data@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== dependencies: asynckit "^0.4.0" @@ -3533,27 +3545,27 @@ format@^0.2.0: fraction.js@^4.3.7: version "4.3.7" - resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@~2.3.2: version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -function-bind@^1.1.1, function-bind@^1.1.2: +function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: version "1.1.6" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== dependencies: call-bind "^1.0.2" @@ -3563,7 +3575,7 @@ function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: functions-have-names@^1.2.3: version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== fuse.js@^6.6.2: @@ -3573,60 +3585,63 @@ fuse.js@^6.6.2: gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== dependencies: + es-errors "^1.3.0" function-bind "^1.1.2" has-proto "^1.0.1" has-symbols "^1.0.3" hasown "^2.0.0" -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" gl-matrix@^3.3.0: version "3.4.3" - resolved "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz" + resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.4.3.tgz#fc1191e8320009fd4d20e9339595c6041ddc22c9" integrity sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA== glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-parent@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" glob@^10.3.10: - version "10.3.10" - resolved "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + version "10.4.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.2.tgz#bed6b95dade5c1f80b4434daced233aee76160e5" + integrity sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w== dependencies: foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" glob@^7.1.3: version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -3638,26 +3653,27 @@ glob@^7.1.3: globals@^11.1.0: version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0: version "13.24.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== dependencies: - define-properties "^1.1.3" + define-properties "^1.2.1" + gopd "^1.0.1" globby@^11.1.0: version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -3669,7 +3685,7 @@ globby@^11.1.0: glsl-inject-defines@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz#dd1aacc2c17fcb2bd3fc32411c6633d0d7b60fd4" integrity sha512-W49jIhuDtF6w+7wCMcClk27a2hq8znvHtlGnrYkSWEr8tHe9eA2dcnohlcAmxLYBSpSSdzOkRdyPTrx9fw49+A== dependencies: glsl-token-inject-block "^1.0.0" @@ -3678,83 +3694,83 @@ glsl-inject-defines@^1.0.3: glsl-token-inject-block@^1.0.0: version "1.1.0" - resolved "https://registry.npmjs.org/glsl-token-inject-block/-/glsl-token-inject-block-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/glsl-token-inject-block/-/glsl-token-inject-block-1.1.0.tgz#e1015f5980c1091824adaa2625f1dfde8bd00034" integrity sha512-q/m+ukdUBuHCOtLhSr0uFb/qYQr4/oKrPSdIK2C4TD+qLaJvqM9wfXIF/OOBjuSA3pUoYHurVRNao6LTVVUPWA== glsl-token-string@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/glsl-token-string/-/glsl-token-string-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/glsl-token-string/-/glsl-token-string-1.0.1.tgz#59441d2f857de7c3449c945666021ece358e48ec" integrity sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg== glsl-tokenizer@^2.0.2: version "2.1.5" - resolved "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz" + resolved "https://registry.yarnpkg.com/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz#1c2e78c16589933c274ba278d0a63b370c5fee1a" integrity sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA== dependencies: through2 "^0.6.3" gopd@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== dependencies: get-intrinsic "^1.1.3" graphemer@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== graphlib@2.1.8, graphlib@^2.1.8: version "2.1.8" - resolved "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz" + resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.8.tgz#5761d414737870084c92ec7b5dbcb0592c9d35da" integrity sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A== dependencies: lodash "^4.17.15" has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: - get-intrinsic "^1.2.2" + es-define-property "^1.0.0" -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: - has-symbols "^1.0.2" + has-symbols "^1.0.3" -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" @@ -3804,7 +3820,7 @@ hastscript@^6.0.0: hex-to-rgb@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/hex-to-rgb/-/hex-to-rgb-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/hex-to-rgb/-/hex-to-rgb-1.0.1.tgz#100b9df126b32f2762adf8486be68c65ef8ed2a4" integrity sha512-2GsESdjpJIrRL8I7iPOp0r0wczJBk++Q/zFrviNaTRPWMIgk5bPqDmKPUvRHN0SZrYT9N1e+xZU1niYJ6QxzMg== highlight.js@^10.4.1, highlight.js@~10.7.0: @@ -3825,23 +3841,23 @@ html-url-attributes@^3.0.0: integrity sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow== hyphenate-style-name@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" - integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz#1797bf50369588b47b72ca6d5e65374607cf4436" + integrity sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw== ieee754@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore@^5.2.0, ignore@^5.2.4: - version "5.3.0" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz" - integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== + version "5.3.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== import-fresh@^3.2.1: version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" @@ -3849,12 +3865,12 @@ import-fresh@^3.2.1: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" @@ -3862,7 +3878,7 @@ inflight@^1.0.4: inherits@2, inherits@~2.0.1: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inline-style-parser@0.2.3: @@ -3871,30 +3887,29 @@ inline-style-parser@0.2.3: integrity sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g== inline-style-prefixer@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-7.0.0.tgz#991d550735d42069f528ac1bcdacd378d1305442" - integrity sha512-I7GEdScunP1dQ6IM2mQWh6v0mOYdYmH3Bp31UecKdrcUgcURTcctSe1IECdUznSHKSmsHtjrT3CwCPI1pyxfUQ== + version "7.0.1" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-7.0.1.tgz#9310f3cfa2c6f3901d1480f373981c02691781e8" + integrity sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw== dependencies: css-in-js-utils "^3.1.0" - fast-loops "^1.1.3" -internal-slot@^1.0.5: - version "1.0.6" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== +internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== dependencies: - get-intrinsic "^1.2.2" + es-errors "^1.3.0" hasown "^2.0.0" side-channel "^1.0.4" intl-messageformat@^10.1.0: - version "10.5.12" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.5.12.tgz#a0c1a20da896b7a1f4ba1b59c8ba5d9943c29c3f" - integrity sha512-izl0uxhy/melhw8gP2r8pGiVieviZmM4v5Oqx3c1/R7g9cwER2smmGfSjcIsp8Y3Q53bfciL/gkxacJRx/dUvg== + version "10.5.14" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.5.14.tgz#e5bb373f8a37b88fbe647d7b941f3ab2a37ed00a" + integrity sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w== dependencies: - "@formatjs/ecma402-abstract" "1.18.2" + "@formatjs/ecma402-abstract" "2.0.0" "@formatjs/fast-memoize" "2.2.0" - "@formatjs/icu-messageformat-parser" "2.7.6" + "@formatjs/icu-messageformat-parser" "2.7.8" tslib "^2.4.0" is-alphabetical@^1.0.0: @@ -3923,49 +3938,48 @@ is-alphanumerical@^2.0.0: is-alphabetical "^2.0.0" is-decimal "^2.0.0" -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== dependencies: call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" + get-intrinsic "^1.2.1" is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-arrayish@^0.3.1: version "0.3.2" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== is-async-function@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== dependencies: has-tostringtag "^1.0.0" is-bigint@^1.0.1: version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== dependencies: has-bigints "^1.0.1" is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: call-bind "^1.0.2" @@ -3973,19 +3987,26 @@ is-boolean-object@^1.1.0: is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + version "2.14.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.14.0.tgz#43b8ef9f46a6a08888db67b1ffd4ec9e3dfd59d1" + integrity sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A== dependencies: - hasown "^2.0.0" + hasown "^2.0.2" + +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: has-tostringtag "^1.0.0" @@ -4002,31 +4023,31 @@ is-decimal@^2.0.0: is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-finalizationregistry@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== dependencies: call-bind "^1.0.2" is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-generator-function@^1.0.10: version "1.0.10" - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== dependencies: has-tostringtag "^1.0.0" is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" @@ -4041,31 +4062,31 @@ is-hexadecimal@^2.0.0: resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== -is-map@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz" - integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== +is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== is-number-object@^1.0.4: version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== dependencies: has-tostringtag "^1.0.0" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-path-inside@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-plain-obj@^4.0.0: @@ -4075,83 +4096,83 @@ is-plain-obj@^4.0.0: is-regex@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-set@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz" - integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== +is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: has-symbols "^1.0.2" -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== +is-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== dependencies: - which-typed-array "^1.1.11" + which-typed-array "^1.1.14" -is-weakmap@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz" - integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== is-weakref@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: call-bind "^1.0.2" -is-weakset@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz" - integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== +is-weakset@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.3.tgz#e801519df8c0c43e12ff2834eead84ec9e624007" + integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" + call-bind "^1.0.7" + get-intrinsic "^1.2.4" isarray@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== isarray@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== iterator.prototype@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== dependencies: define-properties "^1.2.1" @@ -4160,19 +4181,19 @@ iterator.prototype@^1.1.2: reflect.getprototypeof "^1.0.4" set-function-name "^2.0.1" -jackspeak@^2.3.5: - version "2.3.6" - resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== +jackspeak@^3.1.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.0.tgz#a75763ff36ad778ede6a156d8ee8b124de445b4a" + integrity sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw== dependencies: "@isaacs/cliui" "^8.0.2" optionalDependencies: "@pkgjs/parseargs" "^0.11.0" -jiti@^1.19.1: - version "1.21.0" - resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== +jiti@^1.21.0: + version "1.21.6" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" + integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== js-cookie@^2.2.1: version "2.2.1" @@ -4181,49 +4202,49 @@ js-cookie@^2.2.1: "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== json-buffer@3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-parse-even-better-errors@^2.3.0: version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json5@^2.2.3: version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== "jsx-ast-utils@^2.4.1 || ^3.0.0": version "3.3.5" - resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== dependencies: array-includes "^3.1.6" @@ -4233,26 +4254,19 @@ json5@^2.2.3: keyv@^4.5.3: version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" layout-base@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/layout-base/-/layout-base-1.0.2.tgz#1291e296883c322a9dd4c5dd82063721b53e26e2" integrity sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg== -"legacy-swc-helpers@npm:@swc/helpers@=0.4.14": - version "0.4.14" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.14.tgz#1352ac6d95e3617ccb7c1498ff019654f1e12a74" - integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw== - dependencies: - tslib "^2.4.0" - levn@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" @@ -4260,22 +4274,22 @@ levn@^0.4.1: lilconfig@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== lilconfig@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz" - integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== + version "3.1.2" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" + integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" @@ -4292,17 +4306,17 @@ lodash.includes@^4.3.0: lodash.merge@^4.6.2: version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== lodash@4.17.21, lodash@^4.17.15, lodash@^4.17.19: version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== loglevel@^1.8.0: version "1.9.1" - resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.9.1.tgz#d63976ac9bcd03c7c873116d41c2a85bafff1be7" integrity sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg== longest-streak@^3.0.0: @@ -4312,7 +4326,7 @@ longest-streak@^3.0.0: loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" @@ -4325,25 +4339,18 @@ lowlight@^1.17.0: fault "^1.0.0" highlight.js "~10.7.0" +lru-cache@^10.2.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.3.0.tgz#4a4aaf10c84658ab70f79a85a9a3f1e1fb11196b" + integrity sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ== + lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -"lru-cache@^9.1.1 || ^10.0.0": - version "10.2.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== - markdown-table@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" @@ -4494,9 +4501,9 @@ mdast-util-phrasing@^4.0.0: unist-util-is "^6.0.0" mdast-util-to-hast@^13.0.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz#1ae54d903150a10fe04d59f03b2b95fd210b2124" - integrity sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA== + version "13.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz#5ca58e5b921cc0a3ded1bc02eed79a4fe4fe41f4" + integrity sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA== dependencies: "@types/hast" "^3.0.0" "@types/mdast" "^4.0.0" @@ -4541,7 +4548,7 @@ memoize-one@^6.0.0: merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromark-core-commonmark@^2.0.0: @@ -4591,9 +4598,9 @@ micromark-extension-gfm-footnote@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-strikethrough@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz#6917db8e320da70e39ffbf97abdbff83e6783e61" - integrity sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz#86106df8b3a692b5f6a92280d3879be6be46d923" + integrity sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw== dependencies: devlop "^1.0.0" micromark-util-chunked "^2.0.0" @@ -4603,9 +4610,9 @@ micromark-extension-gfm-strikethrough@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-table@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz#2cf3fe352d9e089b7ef5fff003bdfe0da29649b7" - integrity sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz#5cadedfbb29fca7abf752447967003dc3b6583c9" + integrity sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g== dependencies: devlop "^1.0.0" micromark-factory-space "^2.0.0" @@ -4621,9 +4628,9 @@ micromark-extension-gfm-tagfilter@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-task-list-item@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz#ee8b208f1ced1eb9fb11c19a23666e59d86d4838" - integrity sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz#bcc34d805639829990ec175c3eea12bb5b781f2c" + integrity sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw== dependencies: devlop "^1.0.0" micromark-factory-space "^2.0.0" @@ -4818,57 +4825,64 @@ micromark@^4.0.0: micromark-util-types "^2.0.0" micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + version "4.0.7" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" + integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== dependencies: - braces "^3.0.2" + braces "^3.0.3" picomatch "^2.3.1" mime-db@1.52.0: version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.1.12: version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" -minimatch@9.0.3, minimatch@^9.0.1: +minimatch@9.0.3: version "9.0.3" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== dependencies: brace-expansion "^2.0.1" minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": - version "7.0.4" - resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== mobx@^3.2.2: version "3.6.2" - resolved "https://registry.npmjs.org/mobx/-/mobx-3.6.2.tgz" + resolved "https://registry.yarnpkg.com/mobx/-/mobx-3.6.2.tgz#fb9f5ff5090539a1ad54e75dc4c098b602693320" integrity sha512-Dq3boJFLpZEvuh5a/MbHLUIyN9XobKWIb0dBfkNOJffNkE3vtuY0C9kSDVpfH8BB0BPkVw8g22qCv7d05LEhKg== ms@2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== mz@^2.7.0: version "2.7.0" - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== dependencies: any-promise "^1.0.0" @@ -4891,80 +4905,80 @@ nano-css@^5.6.1: nanoid@^3.3.7: version "3.3.7" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -neo4j-driver-bolt-connection@5.16.0: - version "5.16.0" - resolved "https://registry.npmjs.org/neo4j-driver-bolt-connection/-/neo4j-driver-bolt-connection-5.16.0.tgz" - integrity sha512-AdJHid31UQPwisQL8v9ivKy+d3f4Dt1oNTSa3HmGn/qtHWtfyyu+RKP8cwW0Pr/6Hf/xXh6Oy76DhRQyaPNiFQ== +neo4j-driver-bolt-connection@5.22.0: + version "5.22.0" + resolved "https://registry.yarnpkg.com/neo4j-driver-bolt-connection/-/neo4j-driver-bolt-connection-5.22.0.tgz#a6d9b2b52248e533afd73ffa7e5adf8c83f7b74b" + integrity sha512-tpw4URUn8AkpIPaUnz79B3X9hypZYnTKlm7IPrThKNIEOM8U2hUV7/mLoNcaqX39ebiWbuFy4EKK0DOQ+fdd+g== dependencies: buffer "^6.0.3" - neo4j-driver-core "5.16.0" + neo4j-driver-core "5.22.0" string_decoder "^1.3.0" -neo4j-driver-core@5.16.0: - version "5.16.0" - resolved "https://registry.npmjs.org/neo4j-driver-core/-/neo4j-driver-core-5.16.0.tgz" - integrity sha512-Fbxy8V9TQCyDIYDxYXISU19XRGOBsAX4zheAu19Pcq2SV1lOMd9ITNUhQCAOWCKI+BLAen5cAPAGywGOXMJ8iQ== +neo4j-driver-core@5.22.0: + version "5.22.0" + resolved "https://registry.yarnpkg.com/neo4j-driver-core/-/neo4j-driver-core-5.22.0.tgz#abd9237556fa534a82c72341095c9dcef804259a" + integrity sha512-tta/zBfbjm24uGgumckYgVxqnTDenPNo2BQwy+eOD7H2tn9oP3U/OikzOvQuRzfRkRtag0ynrTjXw0JsAXZJkw== neo4j-driver@^5.14.0: - version "5.16.0" - resolved "https://registry.npmjs.org/neo4j-driver/-/neo4j-driver-5.16.0.tgz" - integrity sha512-SKCP08BxMPzXv1WuGkIyGabweRe/klQkUXuTNFW8CZrCjgeTxSfKDeKgb7IrTaxZ0wCjSUwQ4IxzmT5wC9nw9Q== + version "5.22.0" + resolved "https://registry.yarnpkg.com/neo4j-driver/-/neo4j-driver-5.22.0.tgz#6c537ddb1555c05a153069b6c731e827de70fce1" + integrity sha512-DmyUBUMZWOGYIJCYNdze3pCqJE7ZcK3wGORt+WG+yfWnhWUwLS8tT8N4I8FboSl7i7i3X710h6vhWh333n7CNQ== dependencies: - neo4j-driver-bolt-connection "5.16.0" - neo4j-driver-core "5.16.0" + neo4j-driver-bolt-connection "5.22.0" + neo4j-driver-core "5.22.0" rxjs "^7.8.1" node-pid-controller@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/node-pid-controller/-/node-pid-controller-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/node-pid-controller/-/node-pid-controller-1.0.1.tgz#779d1a19c4a3a54284ed0d50da83bf4125f2abf5" integrity sha512-36gdeRz2emhIsznLpXksJSqmR13NU3vR+rkRlfHWCGGlZu9fK+dcTPRpud0FiH6b2Nhwm0kbcVk7vXFlg8Sw1w== node-releases@^2.0.14: version "2.0.14" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-range@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-hash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== -object-inspect@^1.13.1, object-inspect@^1.9.0: - version "1.13.1" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== +object-inspect@^1.13.1: + version "1.13.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" + integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.4: +object.assign@^4.1.4, object.assign@^4.1.5: version "4.1.5" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== dependencies: call-bind "^1.0.5" @@ -4972,77 +4986,84 @@ object.assign@^4.1.4: has-symbols "^1.0.3" object-keys "^1.1.1" -object.entries@^1.1.6: - version "1.1.7" - resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz" - integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== +object.entries@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" + integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -object.fromentries@^2.0.6: - version "2.0.7" - resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== +object.fromentries@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" -object.hasown@^1.1.2: - version "1.1.3" - resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz" - integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== +object.hasown@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.4.tgz#e270ae377e4c120cdcb7656ce66884a6218283dc" + integrity sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg== dependencies: - define-properties "^1.2.0" - es-abstract "^1.22.1" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" -object.values@^1.1.6: - version "1.1.7" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== +object.values@^1.1.6, object.values@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" + integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" once@^1.3.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" + word-wrap "^1.2.5" p-limit@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" +package-json-from-dist@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00" + integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== + parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" @@ -5075,7 +5096,7 @@ parse-entities@^4.0.0: parse-json@^5.0.0: version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -5085,65 +5106,70 @@ parse-json@^5.0.0: path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-scurry@^1.10.1: - version "1.10.1" - resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz" - integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== dependencies: - lru-cache "^9.1.1 || ^10.0.0" + lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.0, picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pify@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pirates@^4.0.1: version "4.0.6" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== point-in-polygon@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/point-in-polygon/-/point-in-polygon-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/point-in-polygon/-/point-in-polygon-1.1.0.tgz#b0af2616c01bdee341cbf2894df643387ca03357" integrity sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw== +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + postcss-import@^15.1.0: version "15.1.0" - resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== dependencies: postcss-value-parser "^4.0.0" @@ -5152,14 +5178,14 @@ postcss-import@^15.1.0: postcss-js@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== dependencies: camelcase-css "^2.0.1" postcss-load-config@^4.0.1: version "4.0.2" - resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== dependencies: lilconfig "^3.0.0" @@ -5167,41 +5193,41 @@ postcss-load-config@^4.0.1: postcss-nested@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== dependencies: postcss-selector-parser "^6.0.11" postcss-selector-parser@^6.0.11: - version "6.0.15" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz" - integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz#49694cb4e7c649299fea510a29fa6577104bcf53" + integrity sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@^8.4.23, postcss@^8.4.27, postcss@^8.4.33: - version "8.4.33" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz" - integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg== + version "8.4.39" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.39.tgz#aa3c94998b61d3a9c259efa51db4b392e1bde0e3" + integrity sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw== dependencies: nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" + picocolors "^1.0.1" + source-map-js "^1.2.0" prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prettier@^2.7.1: version "2.8.8" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== prismjs@^1.27.0: @@ -5216,7 +5242,7 @@ prismjs@~1.27.0: prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" @@ -5237,35 +5263,35 @@ property-information@^6.0.0: proxy-from-env@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== punycode@^2.1.0: version "2.3.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== quickselect@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018" integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw== rbush@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf" integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w== dependencies: quickselect "^2.0.0" re-resizable@^6.9.11, re-resizable@^6.9.16: - version "6.9.16" - resolved "https://registry.yarnpkg.com/re-resizable/-/re-resizable-6.9.16.tgz#d040a3ba9ccb25a3cc85b7622d4eafdee48cf2c2" - integrity sha512-D9+ofwgPQRC6PL6cwavCZO9MUR8TKKxV1nHjbutSdNaFHK9v5k8m6DcESMXrw1+mRJn7fBHJRhZpa7EQ1ZWEEA== + version "6.9.17" + resolved "https://registry.yarnpkg.com/re-resizable/-/re-resizable-6.9.17.tgz#78e4349934ff24a8fcb4b6b5a43ff9ed5f319d2a" + integrity sha512-OBqd1BwVXpEJJn/yYROG+CbeqIDBWIp6wathlpB0kzZWWZIY1gPTsgK2yJEui5hOvkCdC2mcexF2V3DZVfLq2g== react-aria@3.31.0: version "3.31.0" @@ -5329,17 +5355,17 @@ react-datepicker@^4.14.1: react-onclickoutside "^6.13.0" react-popper "^2.3.0" -react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== +react-dom@^18.2.0, react-dom@^18.3.1: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== dependencies: loose-envify "^1.1.0" - scheduler "^0.23.0" + scheduler "^0.23.2" react-dropzone@^14.0.0, react-dropzone@^14.2.3: version "14.2.3" - resolved "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz" + resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.3.tgz#0acab68308fda2d54d1273a1e626264e13d4e84b" integrity sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== dependencies: attr-accept "^2.2.2" @@ -5363,15 +5389,20 @@ react-focus-lock@2.11.2: use-callback-ref "^1.3.0" use-sidecar "^1.1.2" +react-icons@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-5.2.1.tgz#28c2040917b2a2eda639b0f797bff1888e018e4a" + integrity sha512-zdbW5GstTzXaVKvGSyTaBalt7HSfuK5ovrzlpyiWHAFXndXTdd/1hdDHI4xBM1Mn7YriT6aqESucFl9kEXzrdw== + react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== react-is@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== react-markdown@^9.0.1: version "9.0.1" @@ -5390,9 +5421,9 @@ react-markdown@^9.0.1: vfile "^6.0.0" react-onclickoutside@^6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/react-onclickoutside/-/react-onclickoutside-6.13.0.tgz#e165ea4e5157f3da94f4376a3ab3e22a565f4ffc" - integrity sha512-ty8So6tcUpIb+ZE+1HAhbLROvAIJYyJe/1vRrrcmW+jLsaM+/powDRqxzo6hSh9CuRZGSL1Q8mvcF5WRD93a0A== + version "6.13.1" + resolved "https://registry.yarnpkg.com/react-onclickoutside/-/react-onclickoutside-6.13.1.tgz#1f5e0241c08784b6e65745d91aca0d700c548a89" + integrity sha512-LdrrxK/Yh9zbBQdFbMTXPp3dTSN9B+9YJQucdDu3JNKRrbdU+H+/TVONJoWtOwy4II8Sqf1y/DTI6w/vGPYW0w== react-popper@^2.3.0: version "2.3.0" @@ -5402,25 +5433,25 @@ react-popper@^2.3.0: react-fast-compare "^3.0.1" warning "^4.0.2" -react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== +react-refresh@^0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" + integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== react-router-dom@^6.23.1: - version "6.23.1" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.23.1.tgz#30cbf266669693e9492aa4fc0dde2541ab02322f" - integrity sha512-utP+K+aSTtEdbWpC+4gxhdlPFwuEfDKq8ZrPFU65bbRJY+l706qjR7yaidBpo3MSeA/fzwbXWbKBI6ftOnP3OQ== + version "6.24.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.24.1.tgz#b1a22f7d6c5a1bfce30732bd370713f991ab4de4" + integrity sha512-U19KtXqooqw967Vw0Qcn5cOvrX5Ejo9ORmOtJMzYWtCT4/WOfFLIZGGsVLxcd9UkBO0mSTZtXqhZBsWlHr7+Sg== dependencies: - "@remix-run/router" "1.16.1" - react-router "6.23.1" + "@remix-run/router" "1.17.1" + react-router "6.24.1" -react-router@6.23.1, react-router@^6.23.1: - version "6.23.1" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.23.1.tgz#d08cbdbd9d6aedc13eea6e94bc6d9b29cb1c4be9" - integrity sha512-fzcOaRF69uvqbbM7OhvQyBTFDVrrGlsFdS3AL+1KfIBtGETibHzi3FkoTRyiDJnWNc2VxrfvR+657ROHjaNjqQ== +react-router@6.24.1, react-router@^6.23.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.24.1.tgz#5a3bbba0000afba68d42915456ca4c806f37a7de" + integrity sha512-PTXFXGK2pyXpHzVo3rR9H7ip4lSPZZc0bHG5CARmj65fTT6qG7sTngmb6lcYu1gf3y/8KxORoy9yn59pGpCnpg== dependencies: - "@remix-run/router" "1.16.1" + "@remix-run/router" "1.17.1" react-select@5.7.0: version "5.7.0" @@ -5484,7 +5515,7 @@ react-table@^7.7.0: react-transition-group@^4.3.0, react-transition-group@^4.4.5: version "4.4.5" - resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== dependencies: "@babel/runtime" "^7.5.5" @@ -5517,23 +5548,23 @@ react-use@^17.4.0: ts-easing "^0.2.0" tslib "^2.1.0" -react@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== +react@^18.2.0, react@^18.3.1: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== dependencies: loose-envify "^1.1.0" read-cache@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== dependencies: pify "^2.3.0" "readable-stream@>=1.0.33-1 <1.1.0-0": version "1.0.34" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== dependencies: core-util-is "~1.0.0" @@ -5543,20 +5574,21 @@ read-cache@^1.0.0: readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" reflect.getprototypeof@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz" - integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw== + version "1.0.6" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859" + integrity sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.1" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" globalthis "^1.0.3" which-builtin-type "^1.1.3" @@ -5571,17 +5603,18 @@ refractor@^3.6.0: regenerator-runtime@^0.14.0: version "0.14.1" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== -regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== +regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" remark-gfm@^4.0.0: version "4.0.0" @@ -5632,26 +5665,26 @@ resize-observer-polyfill@^1.5.1: resizelistener@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/resizelistener/-/resizelistener-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/resizelistener/-/resizelistener-1.1.0.tgz#17ae50ce66f725b60c7297573a29926796867e87" integrity sha512-PFRj7BEEXpTBi/QJr1dO9NBgRFg83W5JHzCAVkqJ/XlaDBPqBNZKR5lCKqLxIuObbykvdfYcLrQESwaV4qwL9w== resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve@^1.1.7, resolve@^1.19.0, resolve@^1.22.2: version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^2.0.0-next.4: +resolve@^2.0.0-next.5: version "2.0.0-next.5" - resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== dependencies: is-core-module "^2.13.0" @@ -5660,24 +5693,24 @@ resolve@^2.0.0-next.4: reusify@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" robust-predicates@^2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/robust-predicates/-/robust-predicates-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-2.0.4.tgz#0a2367a93abd99676d075981707f29cfb402248b" integrity sha512-l4NwboJM74Ilm4VKfbAtFeGq7aEjWL+5kVFcmgFA2MrdnQWx9iE/tUGvxY5HyMI7o/WpSIUFLbC5fbeaHgSCYg== rollup@^3.27.1: version "3.29.4" - resolved "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981" integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== optionalDependencies: fsevents "~2.3.2" @@ -5691,46 +5724,46 @@ rtl-css-js@^1.16.1: run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" rxjs@^7.8.1: version "7.8.1" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== dependencies: tslib "^2.1.0" -safe-array-concat@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz" - integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + get-intrinsic "^1.2.4" has-symbols "^1.0.3" isarray "^2.0.5" safe-buffer@~5.2.0: version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" + call-bind "^1.0.6" + es-errors "^1.3.0" is-regex "^1.1.4" -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== dependencies: loose-envify "^1.1.0" @@ -5741,34 +5774,35 @@ screenfull@^5.1.0: semver@^6.3.1: version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.5.4: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" + version "7.6.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== -set-function-length@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz" - integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== dependencies: - define-data-property "^1.1.1" - get-intrinsic "^1.2.1" + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" gopd "^1.0.1" - has-property-descriptors "^1.0.0" + has-property-descriptors "^1.0.2" -set-function-name@^2.0.0, set-function-name@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== +set-function-name@^2.0.1, set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== dependencies: - define-data-property "^1.0.1" + define-data-property "^1.1.4" + es-errors "^1.3.0" functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" + has-property-descriptors "^1.0.2" set-harmonic-interval@^1.0.1: version "1.0.1" @@ -5777,46 +5811,52 @@ set-harmonic-interval@^1.0.1: shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== +side-channel@^1.0.4, side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" signal-exit@^4.0.1: version "4.1.0" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== simple-swizzle@^0.2.2: version "0.2.2" - resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== dependencies: is-arrayish "^0.3.1" slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +sonner@1.4.41: + version "1.4.41" + resolved "https://registry.yarnpkg.com/sonner/-/sonner-1.4.41.tgz#ff085ae4f4244713daf294959beaa3e90f842d2c" + integrity sha512-uG511ggnnsw6gcn/X+YKkWPo5ep9il9wYi3QJxHsYe7yTZ4+cOd1wuodOUmOpFuXL+/RE3R04LczdNCDygTDgQ== + +source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== source-map@0.5.6: version "0.5.6" @@ -5825,7 +5865,7 @@ source-map@0.5.6: source-map@^0.5.7: version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== source-map@^0.6.1: @@ -5872,10 +5912,18 @@ stacktrace-js@^2.0.2: stack-generator "^2.0.5" stacktrace-gps "^3.0.4" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0: - name string-width-cjs +"string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -5884,65 +5932,69 @@ stacktrace-js@^2.0.2: string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: eastasianwidth "^0.2.0" emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string.prototype.matchall@^4.0.8: - version "4.0.10" - resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz" - integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== +string.prototype.matchall@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" + integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + gopd "^1.0.1" has-symbols "^1.0.3" - internal-slot "^1.0.5" - regexp.prototype.flags "^1.5.0" - set-function-name "^2.0.0" - side-channel "^1.0.4" + internal-slot "^1.0.7" + regexp.prototype.flags "^1.5.2" + set-function-name "^2.0.2" + side-channel "^1.0.6" -string.prototype.trim@^1.2.8: - version "1.2.8" - resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" string_decoder@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" string_decoder@~0.10.x: version "0.10.31" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== stringify-entities@^4.0.0: @@ -5953,23 +6005,30 @@ stringify-entities@^4.0.0: character-entities-html4 "^2.0.0" character-entities-legacy "^3.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-ansi@^7.0.1: version "7.1.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: ansi-regex "^6.0.1" strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== style-mod@^4.0.0, style-mod@^4.1.0: @@ -5986,7 +6045,7 @@ style-to-object@^1.0.0: stylis@4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== stylis@^4.3.0: @@ -5996,7 +6055,7 @@ stylis@^4.3.0: sucrase@^3.32.0: version "3.35.0" - resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== dependencies: "@jridgewell/gen-mapping" "^0.3.2" @@ -6009,21 +6068,21 @@ sucrase@^3.32.0: supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== tabbable@^6.0.1: @@ -6039,9 +6098,9 @@ tailwind-merge@^2.3.0: "@babel/runtime" "^7.24.1" tailwindcss@^3.4.1: - version "3.4.1" - resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz" - integrity sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA== + version "3.4.4" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.4.tgz#351d932273e6abfa75ce7d226b5bf3a6cb257c05" + integrity sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A== dependencies: "@alloc/quick-lru" "^5.2.0" arg "^5.0.2" @@ -6051,7 +6110,7 @@ tailwindcss@^3.4.1: fast-glob "^3.3.0" glob-parent "^6.0.2" is-glob "^4.0.3" - jiti "^1.19.1" + jiti "^1.21.0" lilconfig "^2.1.0" micromatch "^4.0.5" normalize-path "^3.0.0" @@ -6068,19 +6127,19 @@ tailwindcss@^3.4.1: text-table@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== thenify-all@^1.0.0: version "1.6.0" - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== dependencies: thenify ">= 3.1.0 < 4" "thenify@>= 3.1.0 < 4": version "3.3.1" - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== dependencies: any-promise "^1.0.0" @@ -6092,7 +6151,7 @@ throttle-debounce@^3.0.1: through2@^0.6.3: version "0.6.5" - resolved "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" integrity sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg== dependencies: readable-stream ">=1.0.33-1 <1.1.0-0" @@ -6105,17 +6164,17 @@ tinycolor2@^1.4.2: tinyqueue@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/tinyqueue/-/tinyqueue-2.0.3.tgz#64d8492ebf39e7801d7bd34062e29b45b2035f08" integrity sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA== to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" @@ -6136,9 +6195,9 @@ trough@^2.0.0: integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== ts-api-utils@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz" - integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== + version "1.3.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== ts-easing@^0.2.0: version "0.2.0" @@ -6147,73 +6206,78 @@ ts-easing@^0.2.0: ts-interface-checker@^0.1.9: version "0.1.13" - resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" + resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0: - version "2.6.2" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + version "2.6.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" + integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - is-typed-array "^1.1.9" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" typescript@^5.0.2: - version "5.3.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz" - integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== + version "5.5.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.3.tgz#e1b0a3c394190838a0b168e771b0ad56a0af0faa" + integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ== unbox-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== dependencies: call-bind "^1.0.2" @@ -6223,13 +6287,13 @@ unbox-primitive@^1.0.2: undici-types@~5.26.4: version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== unified@^11.0.0: - version "11.0.4" - resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.4.tgz#f4be0ac0fe4c88cb873687c07c64c49ed5969015" - integrity sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ== + version "11.0.5" + resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.5.tgz#f66677610a5c0a9ee90cab2b8d4d66037026d9e1" + integrity sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA== dependencies: "@types/unist" "^3.0.0" bail "^2.0.0" @@ -6285,17 +6349,17 @@ unist-util-visit@^5.0.0: unist-util-is "^6.0.0" unist-util-visit-parents "^6.0.0" -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== +update-browserslist-db@^1.0.16: + version "1.1.0" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" + integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" + escalade "^3.1.2" + picocolors "^1.0.1" uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" @@ -6327,12 +6391,12 @@ usehooks-ts@2.9.1: util-deprecate@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== uuid@^9.0.1: version "9.0.1" - resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== vfile-message@^4.0.0: @@ -6377,7 +6441,7 @@ warning@^4.0.2: which-boxed-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== dependencies: is-bigint "^1.0.1" @@ -6388,7 +6452,7 @@ which-boxed-primitive@^1.0.2: which-builtin-type@^1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== dependencies: function.prototype.name "^1.1.5" @@ -6405,36 +6469,41 @@ which-builtin-type@^1.1.3: which-typed-array "^1.1.9" which-collection@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz" - integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== dependencies: - is-map "^2.0.1" - is-set "^2.0.1" - is-weakmap "^2.0.1" - is-weakset "^2.0.1" + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" -which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.9: - version "1.1.13" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== +which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.9: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" for-each "^0.3.3" gopd "^1.0.1" - has-tostringtag "^1.0.0" + has-tostringtag "^1.0.2" which@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -6443,7 +6512,7 @@ which@^2.0.1: wrap-ansi@^8.1.0: version "8.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== dependencies: ansi-styles "^6.1.0" @@ -6452,37 +6521,32 @@ wrap-ansi@^8.1.0: wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0: version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== yallist@^3.0.2: version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - yaml@^1.10.0: version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yaml@^2.3.4: - version "2.3.4" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz" - integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== + version "2.4.5" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.5.tgz#60630b206dd6d84df97003d33fc1ddf6296cca5e" + integrity sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg== yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== zwitch@^2.0.0: