mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 20:29:06 +00:00
Merge branch 'main' of github.com:Monadical-SAS/reflector into sara/loading-states
This commit is contained in:
2
.github/workflows/deploy.yml
vendored
2
.github/workflows/deploy.yml
vendored
@@ -3,7 +3,7 @@ name: Deploy to Amazon ECS
|
|||||||
on: [workflow_dispatch]
|
on: [workflow_dispatch]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
# 384658522150.dkr.ecr.us-east-1.amazonaws.com/reflector
|
# 950402358378.dkr.ecr.us-east-1.amazonaws.com/reflector
|
||||||
AWS_REGION: us-east-1
|
AWS_REGION: us-east-1
|
||||||
ECR_REPOSITORY: reflector
|
ECR_REPOSITORY: reflector
|
||||||
|
|
||||||
|
|||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -2,3 +2,5 @@
|
|||||||
server/.env
|
server/.env
|
||||||
.env
|
.env
|
||||||
server/exportdanswer
|
server/exportdanswer
|
||||||
|
.vercel
|
||||||
|
.env*.local
|
||||||
|
|||||||
@@ -51,17 +51,6 @@
|
|||||||
#TRANSLATE_URL=https://xxxxx--reflector-translator-web.modal.run
|
#TRANSLATE_URL=https://xxxxx--reflector-translator-web.modal.run
|
||||||
#TRANSCRIPT_MODAL_API_KEY=xxxxx
|
#TRANSCRIPT_MODAL_API_KEY=xxxxx
|
||||||
|
|
||||||
## Using serverless banana.dev (require reflector-gpu-banana deployed)
|
|
||||||
## XXX this service is buggy do not use at the moment
|
|
||||||
## XXX it also require the audio to be saved to S3
|
|
||||||
#TRANSCRIPT_BACKEND=banana
|
|
||||||
#TRANSCRIPT_URL=https://reflector-gpu-banana-xxxxx.run.banana.dev
|
|
||||||
#TRANSCRIPT_BANANA_API_KEY=xxx
|
|
||||||
#TRANSCRIPT_BANANA_MODEL_KEY=xxx
|
|
||||||
#TRANSCRIPT_STORAGE_AWS_ACCESS_KEY_ID=xxx
|
|
||||||
#TRANSCRIPT_STORAGE_AWS_SECRET_ACCESS_KEY=xxx
|
|
||||||
#TRANSCRIPT_STORAGE_AWS_BUCKET_NAME="reflector-bucket/chunks"
|
|
||||||
|
|
||||||
## =======================================================
|
## =======================================================
|
||||||
## LLM backend
|
## LLM backend
|
||||||
##
|
##
|
||||||
@@ -78,13 +67,6 @@
|
|||||||
#LLM_URL=https://xxxxxx--reflector-llm-web.modal.run
|
#LLM_URL=https://xxxxxx--reflector-llm-web.modal.run
|
||||||
#LLM_MODAL_API_KEY=xxx
|
#LLM_MODAL_API_KEY=xxx
|
||||||
|
|
||||||
## Using serverless banana.dev (require reflector-gpu-banana deployed)
|
|
||||||
## XXX this service is buggy do not use at the moment
|
|
||||||
#LLM_BACKEND=banana
|
|
||||||
#LLM_URL=https://reflector-gpu-banana-xxxxx.run.banana.dev
|
|
||||||
#LLM_BANANA_API_KEY=xxxxx
|
|
||||||
#LLM_BANANA_MODEL_KEY=xxxxx
|
|
||||||
|
|
||||||
## Using OpenAI
|
## Using OpenAI
|
||||||
#LLM_BACKEND=openai
|
#LLM_BACKEND=openai
|
||||||
#LLM_OPENAI_KEY=xxx
|
#LLM_OPENAI_KEY=xxx
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
import httpx
|
|
||||||
|
|
||||||
from reflector.llm.base import LLM
|
|
||||||
from reflector.settings import settings
|
|
||||||
from reflector.utils.retry import retry
|
|
||||||
|
|
||||||
|
|
||||||
class BananaLLM(LLM):
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.timeout = settings.LLM_TIMEOUT
|
|
||||||
self.headers = {
|
|
||||||
"X-Banana-API-Key": settings.LLM_BANANA_API_KEY,
|
|
||||||
"X-Banana-Model-Key": settings.LLM_BANANA_MODEL_KEY,
|
|
||||||
}
|
|
||||||
|
|
||||||
async def _generate(
|
|
||||||
self, prompt: str, gen_schema: dict | None, gen_cfg: dict | None, **kwargs
|
|
||||||
):
|
|
||||||
json_payload = {"prompt": prompt}
|
|
||||||
if gen_schema:
|
|
||||||
json_payload["gen_schema"] = gen_schema
|
|
||||||
if gen_cfg:
|
|
||||||
json_payload["gen_cfg"] = gen_cfg
|
|
||||||
async with httpx.AsyncClient() as client:
|
|
||||||
response = await retry(client.post)(
|
|
||||||
settings.LLM_URL,
|
|
||||||
headers=self.headers,
|
|
||||||
json=json_payload,
|
|
||||||
timeout=self.timeout,
|
|
||||||
retry_timeout=300, # as per their sdk
|
|
||||||
)
|
|
||||||
response.raise_for_status()
|
|
||||||
text = response.json()["text"]
|
|
||||||
return text
|
|
||||||
|
|
||||||
|
|
||||||
LLM.register("banana", BananaLLM)
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
from reflector.logger import logger
|
|
||||||
|
|
||||||
async def main():
|
|
||||||
llm = BananaLLM()
|
|
||||||
prompt = llm.create_prompt(
|
|
||||||
instruct="Complete the following task",
|
|
||||||
text="Tell me a joke about programming.",
|
|
||||||
)
|
|
||||||
result = await llm.generate(prompt=prompt, logger=logger)
|
|
||||||
print(result)
|
|
||||||
|
|
||||||
import asyncio
|
|
||||||
|
|
||||||
asyncio.run(main())
|
|
||||||
@@ -323,8 +323,13 @@ class PipelineMainDiarization(PipelineMainBase):
|
|||||||
# create a context for the whole rtc transaction
|
# create a context for the whole rtc transaction
|
||||||
# add a customised logger to the context
|
# add a customised logger to the context
|
||||||
self.prepare()
|
self.prepare()
|
||||||
processors = [
|
processors = []
|
||||||
AudioDiarizationAutoProcessor(callback=self.on_topic),
|
if settings.DIARIZATION_ENABLED:
|
||||||
|
processors += [
|
||||||
|
AudioDiarizationAutoProcessor(callback=self.on_topic),
|
||||||
|
]
|
||||||
|
|
||||||
|
processors += [
|
||||||
BroadcastProcessor(
|
BroadcastProcessor(
|
||||||
processors=[
|
processors=[
|
||||||
TranscriptFinalLongSummaryProcessor.as_threaded(
|
TranscriptFinalLongSummaryProcessor.as_threaded(
|
||||||
|
|||||||
@@ -1,86 +0,0 @@
|
|||||||
"""
|
|
||||||
Implementation using the GPU service from banana.
|
|
||||||
|
|
||||||
API will be a POST request to TRANSCRIPT_URL:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"audio_url": "https://...",
|
|
||||||
"audio_ext": "wav",
|
|
||||||
"timestamp": 123.456
|
|
||||||
"language": "en"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
import httpx
|
|
||||||
from reflector.processors.audio_transcript import AudioTranscriptProcessor
|
|
||||||
from reflector.processors.audio_transcript_auto import AudioTranscriptAutoProcessor
|
|
||||||
from reflector.processors.types import AudioFile, Transcript, Word
|
|
||||||
from reflector.settings import settings
|
|
||||||
from reflector.storage import Storage
|
|
||||||
from reflector.utils.retry import retry
|
|
||||||
|
|
||||||
|
|
||||||
class AudioTranscriptBananaProcessor(AudioTranscriptProcessor):
|
|
||||||
def __init__(self, banana_api_key: str, banana_model_key: str):
|
|
||||||
super().__init__()
|
|
||||||
self.transcript_url = settings.TRANSCRIPT_URL
|
|
||||||
self.timeout = settings.TRANSCRIPT_TIMEOUT
|
|
||||||
self.storage = Storage.get_instance(
|
|
||||||
settings.TRANSCRIPT_STORAGE_BACKEND, "TRANSCRIPT_STORAGE_"
|
|
||||||
)
|
|
||||||
self.headers = {
|
|
||||||
"X-Banana-API-Key": banana_api_key,
|
|
||||||
"X-Banana-Model-Key": banana_model_key,
|
|
||||||
}
|
|
||||||
|
|
||||||
async def _transcript(self, data: AudioFile):
|
|
||||||
async with httpx.AsyncClient() as client:
|
|
||||||
print(f"Uploading audio {data.path.name} to S3")
|
|
||||||
url = await self._upload_file(data.path)
|
|
||||||
|
|
||||||
print(f"Try to transcribe audio {data.path.name}")
|
|
||||||
request_data = {
|
|
||||||
"audio_url": url,
|
|
||||||
"audio_ext": data.path.suffix[1:],
|
|
||||||
"timestamp": float(round(data.timestamp, 2)),
|
|
||||||
}
|
|
||||||
response = await retry(client.post)(
|
|
||||||
self.transcript_url,
|
|
||||||
json=request_data,
|
|
||||||
headers=self.headers,
|
|
||||||
timeout=self.timeout,
|
|
||||||
)
|
|
||||||
|
|
||||||
print(f"Transcript response: {response.status_code} {response.content}")
|
|
||||||
response.raise_for_status()
|
|
||||||
result = response.json()
|
|
||||||
transcript = Transcript(
|
|
||||||
text=result["text"],
|
|
||||||
words=[
|
|
||||||
Word(text=word["text"], start=word["start"], end=word["end"])
|
|
||||||
for word in result["words"]
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
# remove audio file from S3
|
|
||||||
await self._delete_file(data.path)
|
|
||||||
|
|
||||||
return transcript
|
|
||||||
|
|
||||||
@retry
|
|
||||||
async def _upload_file(self, path: Path) -> str:
|
|
||||||
upload_result = await self.storage.put_file(path.name, open(path, "rb"))
|
|
||||||
return upload_result.url
|
|
||||||
|
|
||||||
@retry
|
|
||||||
async def _delete_file(self, path: Path):
|
|
||||||
await self.storage.delete_file(path.name)
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
AudioTranscriptAutoProcessor.register("banana", AudioTranscriptBananaProcessor)
|
|
||||||
@@ -41,7 +41,7 @@ class Settings(BaseSettings):
|
|||||||
AUDIO_BUFFER_SIZE: int = 256 * 960
|
AUDIO_BUFFER_SIZE: int = 256 * 960
|
||||||
|
|
||||||
# Audio Transcription
|
# Audio Transcription
|
||||||
# backends: whisper, banana, modal
|
# backends: whisper, modal
|
||||||
TRANSCRIPT_BACKEND: str = "whisper"
|
TRANSCRIPT_BACKEND: str = "whisper"
|
||||||
TRANSCRIPT_URL: str | None = None
|
TRANSCRIPT_URL: str | None = None
|
||||||
TRANSCRIPT_TIMEOUT: int = 90
|
TRANSCRIPT_TIMEOUT: int = 90
|
||||||
@@ -50,10 +50,6 @@ class Settings(BaseSettings):
|
|||||||
TRANSLATE_URL: str | None = None
|
TRANSLATE_URL: str | None = None
|
||||||
TRANSLATE_TIMEOUT: int = 90
|
TRANSLATE_TIMEOUT: int = 90
|
||||||
|
|
||||||
# Audio transcription banana.dev configuration
|
|
||||||
TRANSCRIPT_BANANA_API_KEY: str | None = None
|
|
||||||
TRANSCRIPT_BANANA_MODEL_KEY: str | None = None
|
|
||||||
|
|
||||||
# Audio transcription modal.com configuration
|
# Audio transcription modal.com configuration
|
||||||
TRANSCRIPT_MODAL_API_KEY: str | None = None
|
TRANSCRIPT_MODAL_API_KEY: str | None = None
|
||||||
|
|
||||||
@@ -61,13 +57,16 @@ class Settings(BaseSettings):
|
|||||||
TRANSCRIPT_STORAGE_BACKEND: str = "aws"
|
TRANSCRIPT_STORAGE_BACKEND: str = "aws"
|
||||||
|
|
||||||
# Storage configuration for AWS
|
# Storage configuration for AWS
|
||||||
TRANSCRIPT_STORAGE_AWS_BUCKET_NAME: str = "reflector-bucket/chunks"
|
TRANSCRIPT_STORAGE_AWS_BUCKET_NAME: str = "reflector-bucket"
|
||||||
TRANSCRIPT_STORAGE_AWS_REGION: str = "us-east-1"
|
TRANSCRIPT_STORAGE_AWS_REGION: str = "us-east-1"
|
||||||
TRANSCRIPT_STORAGE_AWS_ACCESS_KEY_ID: str | None = None
|
TRANSCRIPT_STORAGE_AWS_ACCESS_KEY_ID: str | None = None
|
||||||
TRANSCRIPT_STORAGE_AWS_SECRET_ACCESS_KEY: str | None = None
|
TRANSCRIPT_STORAGE_AWS_SECRET_ACCESS_KEY: str | None = None
|
||||||
|
|
||||||
|
# Transcript MP3 storage
|
||||||
|
TRANSCRIPT_MP3_STORAGE_BACKEND: str = "aws"
|
||||||
|
|
||||||
# LLM
|
# LLM
|
||||||
# available backend: openai, banana, modal, oobabooga
|
# available backend: openai, modal, oobabooga
|
||||||
LLM_BACKEND: str = "oobabooga"
|
LLM_BACKEND: str = "oobabooga"
|
||||||
|
|
||||||
# LLM common configuration
|
# LLM common configuration
|
||||||
@@ -82,14 +81,11 @@ class Settings(BaseSettings):
|
|||||||
LLM_TEMPERATURE: float = 0.7
|
LLM_TEMPERATURE: float = 0.7
|
||||||
ZEPHYR_LLM_URL: str | None = None
|
ZEPHYR_LLM_URL: str | None = None
|
||||||
|
|
||||||
# LLM Banana configuration
|
|
||||||
LLM_BANANA_API_KEY: str | None = None
|
|
||||||
LLM_BANANA_MODEL_KEY: str | None = None
|
|
||||||
|
|
||||||
# LLM Modal configuration
|
# LLM Modal configuration
|
||||||
LLM_MODAL_API_KEY: str | None = None
|
LLM_MODAL_API_KEY: str | None = None
|
||||||
|
|
||||||
# Diarization
|
# Diarization
|
||||||
|
DIARIZATION_ENABLED: bool = True
|
||||||
DIARIZATION_BACKEND: str = "modal"
|
DIARIZATION_BACKEND: str = "modal"
|
||||||
DIARIZATION_URL: str | None = None
|
DIARIZATION_URL: str | None = None
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
"@fortawesome/fontawesome-svg-core": "^6.4.0",
|
"@fortawesome/fontawesome-svg-core": "^6.4.0",
|
||||||
"@fortawesome/free-solid-svg-icons": "^6.4.0",
|
"@fortawesome/free-solid-svg-icons": "^6.4.0",
|
||||||
"@fortawesome/react-fontawesome": "^0.2.0",
|
"@fortawesome/react-fontawesome": "^0.2.0",
|
||||||
"@sentry/nextjs": "^7.64.0",
|
"@sentry/nextjs": "^7.77.0",
|
||||||
"@vercel/edge-config": "^0.4.1",
|
"@vercel/edge-config": "^0.4.1",
|
||||||
"autoprefixer": "10.4.14",
|
"autoprefixer": "10.4.14",
|
||||||
"axios": "^1.4.0",
|
"axios": "^1.4.0",
|
||||||
|
|||||||
205
www/yarn.lock
205
www/yarn.lock
@@ -262,27 +262,25 @@
|
|||||||
estree-walker "^2.0.2"
|
estree-walker "^2.0.2"
|
||||||
picomatch "^2.3.1"
|
picomatch "^2.3.1"
|
||||||
|
|
||||||
"@sentry-internal/tracing@7.64.0":
|
"@sentry-internal/tracing@7.77.0":
|
||||||
version "7.64.0"
|
version "7.77.0"
|
||||||
resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.64.0.tgz#3e110473b8edf805b799cc91d6ee592830237bb4"
|
resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.77.0.tgz#f3d82486f8934a955b3dd2aa54c8d29586e42a37"
|
||||||
integrity sha512-1XE8W6ki7hHyBvX9hfirnGkKDBKNq3bDJyXS86E0bYVDl94nvbRM9BD9DHsCFetqYkVm1yDGEK+6aUVs4CztoQ==
|
integrity sha512-8HRF1rdqWwtINqGEdx8Iqs9UOP/n8E0vXUu3Nmbqj4p5sQPA7vvCfq+4Y4rTqZFc7sNdFpDsRION5iQEh8zfZw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@sentry/core" "7.64.0"
|
"@sentry/core" "7.77.0"
|
||||||
"@sentry/types" "7.64.0"
|
"@sentry/types" "7.77.0"
|
||||||
"@sentry/utils" "7.64.0"
|
"@sentry/utils" "7.77.0"
|
||||||
tslib "^2.4.1 || ^1.9.3"
|
|
||||||
|
|
||||||
"@sentry/browser@7.64.0":
|
"@sentry/browser@7.77.0":
|
||||||
version "7.64.0"
|
version "7.77.0"
|
||||||
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.64.0.tgz#76db08a5d32ffe7c5aa907f258e6c845ce7f10d7"
|
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.77.0.tgz#155440f1a0d3a1bbd5d564c28d6b0c9853a51d72"
|
||||||
integrity sha512-lB2IWUkZavEDclxfLBp554dY10ZNIEvlDZUWWathW+Ws2wRb6PNLtuPUNu12R7Q7z0xpkOLrM1kRNN0OdldgKA==
|
integrity sha512-nJ2KDZD90H8jcPx9BysQLiQW+w7k7kISCWeRjrEMJzjtge32dmHA8G4stlUTRIQugy5F+73cOayWShceFP7QJQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@sentry-internal/tracing" "7.64.0"
|
"@sentry-internal/tracing" "7.77.0"
|
||||||
"@sentry/core" "7.64.0"
|
"@sentry/core" "7.77.0"
|
||||||
"@sentry/replay" "7.64.0"
|
"@sentry/replay" "7.77.0"
|
||||||
"@sentry/types" "7.64.0"
|
"@sentry/types" "7.77.0"
|
||||||
"@sentry/utils" "7.64.0"
|
"@sentry/utils" "7.77.0"
|
||||||
tslib "^2.4.1 || ^1.9.3"
|
|
||||||
|
|
||||||
"@sentry/cli@^1.74.6":
|
"@sentry/cli@^1.74.6":
|
||||||
version "1.75.2"
|
version "1.75.2"
|
||||||
@@ -296,89 +294,94 @@
|
|||||||
proxy-from-env "^1.1.0"
|
proxy-from-env "^1.1.0"
|
||||||
which "^2.0.2"
|
which "^2.0.2"
|
||||||
|
|
||||||
"@sentry/core@7.64.0":
|
"@sentry/core@7.77.0":
|
||||||
version "7.64.0"
|
version "7.77.0"
|
||||||
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.64.0.tgz#9d61cdc29ba299dedbdcbe01cfadf94bd0b7df48"
|
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.77.0.tgz#21100843132beeeff42296c8370cdcc7aa1d8510"
|
||||||
integrity sha512-IzmEyl5sNG7NyEFiyFHEHC+sizsZp9MEw1+RJRLX6U5RITvcsEgcajSkHQFafaBPzRrcxZMdm47Cwhl212LXcw==
|
integrity sha512-Tj8oTYFZ/ZD+xW8IGIsU6gcFXD/gfE+FUxUaeSosd9KHwBQNOLhZSsYo/tTVf/rnQI/dQnsd4onPZLiL+27aTg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@sentry/types" "7.64.0"
|
"@sentry/types" "7.77.0"
|
||||||
"@sentry/utils" "7.64.0"
|
"@sentry/utils" "7.77.0"
|
||||||
tslib "^2.4.1 || ^1.9.3"
|
|
||||||
|
|
||||||
"@sentry/integrations@7.64.0":
|
"@sentry/integrations@7.77.0":
|
||||||
version "7.64.0"
|
version "7.77.0"
|
||||||
resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.64.0.tgz#a392ddeebeec0c08ae5ca1f544c80ab15977fe10"
|
resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.77.0.tgz#f2717e05cb7c69363316ccd34096b2ea07ae4c59"
|
||||||
integrity sha512-6gbSGiruOifAmLtXw//Za19GWiL5qugDMEFxSvc5WrBWb+A8UK+foPn3K495OcivLS68AmqAQCUGb+6nlVowwA==
|
integrity sha512-P055qXgBHeZNKnnVEs5eZYLdy6P49Zr77A1aWJuNih/EenzMy922GOeGy2mF6XYrn1YJSjEwsNMNsQkcvMTK8Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@sentry/types" "7.64.0"
|
"@sentry/core" "7.77.0"
|
||||||
"@sentry/utils" "7.64.0"
|
"@sentry/types" "7.77.0"
|
||||||
|
"@sentry/utils" "7.77.0"
|
||||||
localforage "^1.8.1"
|
localforage "^1.8.1"
|
||||||
tslib "^2.4.1 || ^1.9.3"
|
|
||||||
|
|
||||||
"@sentry/nextjs@^7.64.0":
|
"@sentry/nextjs@^7.77.0":
|
||||||
version "7.64.0"
|
version "7.77.0"
|
||||||
resolved "https://registry.yarnpkg.com/@sentry/nextjs/-/nextjs-7.64.0.tgz#5c0bd7ccc6637e0b925dec25ca247dcb8476663c"
|
resolved "https://registry.yarnpkg.com/@sentry/nextjs/-/nextjs-7.77.0.tgz#036b1c45dd106e01d44967c97985464e108922be"
|
||||||
integrity sha512-hKlIQpFugdRlWj0wcEG9I8JyVm/osdsE72zwMBGnmCw/jf7U63vjOjfxMe/gRuvllCf/AvoGHEkR5jPufcO+bw==
|
integrity sha512-8tYPBt5luFjrng1sAMJqNjM9sq80q0jbt6yariADU9hEr7Zk8YqFaOI2/Q6yn9dZ6XyytIRtLEo54kk2AO94xw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@rollup/plugin-commonjs" "24.0.0"
|
"@rollup/plugin-commonjs" "24.0.0"
|
||||||
"@sentry/core" "7.64.0"
|
"@sentry/core" "7.77.0"
|
||||||
"@sentry/integrations" "7.64.0"
|
"@sentry/integrations" "7.77.0"
|
||||||
"@sentry/node" "7.64.0"
|
"@sentry/node" "7.77.0"
|
||||||
"@sentry/react" "7.64.0"
|
"@sentry/react" "7.77.0"
|
||||||
"@sentry/types" "7.64.0"
|
"@sentry/types" "7.77.0"
|
||||||
"@sentry/utils" "7.64.0"
|
"@sentry/utils" "7.77.0"
|
||||||
|
"@sentry/vercel-edge" "7.77.0"
|
||||||
"@sentry/webpack-plugin" "1.20.0"
|
"@sentry/webpack-plugin" "1.20.0"
|
||||||
chalk "3.0.0"
|
chalk "3.0.0"
|
||||||
|
resolve "1.22.8"
|
||||||
rollup "2.78.0"
|
rollup "2.78.0"
|
||||||
stacktrace-parser "^0.1.10"
|
stacktrace-parser "^0.1.10"
|
||||||
tslib "^2.4.1 || ^1.9.3"
|
|
||||||
|
|
||||||
"@sentry/node@7.64.0":
|
"@sentry/node@7.77.0":
|
||||||
version "7.64.0"
|
version "7.77.0"
|
||||||
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.64.0.tgz#c6f7a67c1442324298f0525e7191bc18572ee1ce"
|
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.77.0.tgz#a247452779a5bcb55724457707286e3e4a29dbbe"
|
||||||
integrity sha512-wRi0uTnp1WSa83X2yLD49tV9QPzGh5e42IKdIDBiQ7lV9JhLILlyb34BZY1pq6p4dp35yDasDrP3C7ubn7wo6A==
|
integrity sha512-Ob5tgaJOj0OYMwnocc6G/CDLWC7hXfVvKX/ofkF98+BbN/tQa5poL+OwgFn9BA8ud8xKzyGPxGU6LdZ8Oh3z/g==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@sentry-internal/tracing" "7.64.0"
|
"@sentry-internal/tracing" "7.77.0"
|
||||||
"@sentry/core" "7.64.0"
|
"@sentry/core" "7.77.0"
|
||||||
"@sentry/types" "7.64.0"
|
"@sentry/types" "7.77.0"
|
||||||
"@sentry/utils" "7.64.0"
|
"@sentry/utils" "7.77.0"
|
||||||
cookie "^0.4.1"
|
|
||||||
https-proxy-agent "^5.0.0"
|
https-proxy-agent "^5.0.0"
|
||||||
lru_map "^0.3.3"
|
|
||||||
tslib "^2.4.1 || ^1.9.3"
|
|
||||||
|
|
||||||
"@sentry/react@7.64.0":
|
"@sentry/react@7.77.0":
|
||||||
version "7.64.0"
|
version "7.77.0"
|
||||||
resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.64.0.tgz#edee24ac232990204e0fb43dd83994642d4b0f54"
|
resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.77.0.tgz#9da14e4b21eae4b5a6306d39bb7c42ef0827d2c2"
|
||||||
integrity sha512-wOyJUQi7OoT1q+F/fVVv1fzbyO4OYbTu6m1DliLOGQPGEHPBsgPc722smPIExd1/rAMK/FxOuNN5oNhubH8nhg==
|
integrity sha512-Q+htKzib5em0MdaQZMmPomaswaU3xhcVqmLi2CxqQypSjbYgBPPd+DuhrXKoWYLDDkkbY2uyfe4Lp3yLRWeXYw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@sentry/browser" "7.64.0"
|
"@sentry/browser" "7.77.0"
|
||||||
"@sentry/types" "7.64.0"
|
"@sentry/types" "7.77.0"
|
||||||
"@sentry/utils" "7.64.0"
|
"@sentry/utils" "7.77.0"
|
||||||
hoist-non-react-statics "^3.3.2"
|
hoist-non-react-statics "^3.3.2"
|
||||||
tslib "^2.4.1 || ^1.9.3"
|
|
||||||
|
|
||||||
"@sentry/replay@7.64.0":
|
"@sentry/replay@7.77.0":
|
||||||
version "7.64.0"
|
version "7.77.0"
|
||||||
resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.64.0.tgz#bdf09b0c4712f9dc6b24b3ebefa55a4ac76708e6"
|
resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.77.0.tgz#21d242c9cd70a7235237216174873fd140b6eb80"
|
||||||
integrity sha512-alaMCZDZhaAVmEyiUnszZnvfdbiZx5MmtMTGrlDd7tYq3K5OA9prdLqqlmfIJYBfYtXF3lD0iZFphOZQD+4CIw==
|
integrity sha512-M9Ik2J5ekl+C1Och3wzLRZVaRGK33BlnBwfwf3qKjgLDwfKW+1YkwDfTHbc2b74RowkJbOVNcp4m8ptlehlSaQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@sentry/core" "7.64.0"
|
"@sentry-internal/tracing" "7.77.0"
|
||||||
"@sentry/types" "7.64.0"
|
"@sentry/core" "7.77.0"
|
||||||
"@sentry/utils" "7.64.0"
|
"@sentry/types" "7.77.0"
|
||||||
|
"@sentry/utils" "7.77.0"
|
||||||
|
|
||||||
"@sentry/types@7.64.0":
|
"@sentry/types@7.77.0":
|
||||||
version "7.64.0"
|
version "7.77.0"
|
||||||
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.64.0.tgz#21fc545ea05c3c8c4c3e518583eca1a8c5429506"
|
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.77.0.tgz#c5d00fe547b89ccde59cdea59143bf145cee3144"
|
||||||
integrity sha512-LqjQprWXjUFRmzIlUjyA+KL+38elgIYmAeoDrdyNVh8MK5IC1W2Lh1Q87b4yOiZeMiIhIVNBd7Ecoh2rodGrGA==
|
integrity sha512-nfb00XRJVi0QpDHg+JkqrmEBHsqBnxJu191Ded+Cs1OJ5oPXEW6F59LVcBScGvMqe+WEk1a73eH8XezwfgrTsA==
|
||||||
|
|
||||||
"@sentry/utils@7.64.0":
|
"@sentry/utils@7.77.0":
|
||||||
version "7.64.0"
|
version "7.77.0"
|
||||||
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.64.0.tgz#6fe3ce9a56d3433ed32119f914907361a54cc184"
|
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.77.0.tgz#1f88501f0b8777de31b371cf859d13c82ebe1379"
|
||||||
integrity sha512-HRlM1INzK66Gt+F4vCItiwGKAng4gqzCR4C5marsL3qv6SrKH98dQnCGYgXluSWaaa56h97FRQu7TxCk6jkSvQ==
|
integrity sha512-NmM2kDOqVchrey3N5WSzdQoCsyDkQkiRxExPaNI2oKQ/jMWHs9yt0tSy7otPBcXs0AP59ihl75Bvm1tDRcsp5g==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@sentry/types" "7.64.0"
|
"@sentry/types" "7.77.0"
|
||||||
tslib "^2.4.1 || ^1.9.3"
|
|
||||||
|
"@sentry/vercel-edge@7.77.0":
|
||||||
|
version "7.77.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@sentry/vercel-edge/-/vercel-edge-7.77.0.tgz#6a90a869878e4e78803c4331c30aea841fcc6a73"
|
||||||
|
integrity sha512-ffddPCgxVeAccPYuH5sooZeHBqDuJ9OIhIRYKoDi4TvmwAzWo58zzZWhRpkHqHgIQdQvhLVZ5F+FSQVWnYSOkw==
|
||||||
|
dependencies:
|
||||||
|
"@sentry/core" "7.77.0"
|
||||||
|
"@sentry/types" "7.77.0"
|
||||||
|
"@sentry/utils" "7.77.0"
|
||||||
|
|
||||||
"@sentry/webpack-plugin@1.20.0":
|
"@sentry/webpack-plugin@1.20.0":
|
||||||
version "1.20.0"
|
version "1.20.0"
|
||||||
@@ -860,11 +863,6 @@ console.table@0.10.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
easy-table "1.1.0"
|
easy-table "1.1.0"
|
||||||
|
|
||||||
cookie@^0.4.1:
|
|
||||||
version "0.4.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
|
|
||||||
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
|
|
||||||
|
|
||||||
cookiejar@^2.1.4:
|
cookiejar@^2.1.4:
|
||||||
version "2.1.4"
|
version "2.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b"
|
resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b"
|
||||||
@@ -1096,6 +1094,11 @@ function-bind@^1.1.1:
|
|||||||
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
|
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
|
||||||
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
|
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
|
||||||
|
|
||||||
|
function-bind@^1.1.2:
|
||||||
|
version "1.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
|
||||||
|
integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
|
||||||
|
|
||||||
get-browser-rtc@^1.1.0:
|
get-browser-rtc@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.npmjs.org/get-browser-rtc/-/get-browser-rtc-1.1.0.tgz"
|
resolved "https://registry.npmjs.org/get-browser-rtc/-/get-browser-rtc-1.1.0.tgz"
|
||||||
@@ -1185,6 +1188,13 @@ has@^1.0.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
function-bind "^1.1.1"
|
function-bind "^1.1.1"
|
||||||
|
|
||||||
|
hasown@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c"
|
||||||
|
integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==
|
||||||
|
dependencies:
|
||||||
|
function-bind "^1.1.2"
|
||||||
|
|
||||||
hast-util-to-jsx-runtime@^2.0.0:
|
hast-util-to-jsx-runtime@^2.0.0:
|
||||||
version "2.2.0"
|
version "2.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.2.0.tgz#ffd59bfcf0eb8321c6ed511bfc4b399ac3404bc2"
|
resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.2.0.tgz#ffd59bfcf0eb8321c6ed511bfc4b399ac3404bc2"
|
||||||
@@ -1307,12 +1317,12 @@ is-binary-path@~2.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
binary-extensions "^2.0.0"
|
binary-extensions "^2.0.0"
|
||||||
|
|
||||||
is-core-module@^2.11.0:
|
is-core-module@^2.13.0:
|
||||||
version "2.12.1"
|
version "2.13.1"
|
||||||
resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz"
|
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384"
|
||||||
integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==
|
integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==
|
||||||
dependencies:
|
dependencies:
|
||||||
has "^1.0.3"
|
hasown "^2.0.0"
|
||||||
|
|
||||||
is-extglob@^2.1.1:
|
is-extglob@^2.1.1:
|
||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
@@ -1465,11 +1475,6 @@ lru-cache@^6.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
yallist "^4.0.0"
|
yallist "^4.0.0"
|
||||||
|
|
||||||
lru_map@^0.3.3:
|
|
||||||
version "0.3.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd"
|
|
||||||
integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==
|
|
||||||
|
|
||||||
magic-string@^0.27.0:
|
magic-string@^0.27.0:
|
||||||
version "0.27.0"
|
version "0.27.0"
|
||||||
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3"
|
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3"
|
||||||
@@ -2171,12 +2176,12 @@ require-directory@^2.1.1:
|
|||||||
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
||||||
integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
|
integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
|
||||||
|
|
||||||
resolve@^1.1.7, resolve@^1.22.2:
|
resolve@1.22.8, resolve@^1.1.7, resolve@^1.22.2:
|
||||||
version "1.22.2"
|
version "1.22.8"
|
||||||
resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz"
|
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
|
||||||
integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==
|
integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
|
||||||
dependencies:
|
dependencies:
|
||||||
is-core-module "^2.11.0"
|
is-core-module "^2.13.0"
|
||||||
path-parse "^1.0.7"
|
path-parse "^1.0.7"
|
||||||
supports-preserve-symlinks-flag "^1.0.0"
|
supports-preserve-symlinks-flag "^1.0.0"
|
||||||
|
|
||||||
@@ -2512,7 +2517,7 @@ tslib@^1.9.0:
|
|||||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
|
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
|
||||||
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
|
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
|
||||||
|
|
||||||
tslib@^2.1.0, "tslib@^2.4.1 || ^1.9.3":
|
tslib@^2.1.0:
|
||||||
version "2.6.1"
|
version "2.6.1"
|
||||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.1.tgz#fd8c9a0ff42590b25703c0acb3de3d3f4ede0410"
|
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.1.tgz#fd8c9a0ff42590b25703c0acb3de3d3f4ede0410"
|
||||||
integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==
|
integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==
|
||||||
|
|||||||
Reference in New Issue
Block a user