From 3d9cbe5cea0813140b19dd32efcd7d6da303415f Mon Sep 17 00:00:00 2001 From: Stan Girard Date: Sat, 5 Oct 2024 10:55:40 +0200 Subject: [PATCH] feat: update sentry (#3326) # Description Please include a summary of the changes and the related issue. Please also include relevant motivation and context. ## Checklist before requesting a review Please delete options that are not relevant. - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my code - [ ] I have commented hard-to-understand areas - [ ] I have ideally added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged ## Screenshots (if appropriate): --- frontend/.gitignore | 3 + frontend/Dockerfile | 5 +- frontend/Porter.yaml | 25 +- .../AzureLogin/hooks/useAzureLogin.ts | 6 +- frontend/app/(auth)/login/page.module.scss | 2 +- .../components/ChatEditor/Editor/styles.css | 18 +- .../MenuControlButton/MenuControlButton.tsx | 23 +- .../FromConnections/FileLine/FileLine.tsx | 4 +- .../components/ChatItem/QADisplay/styles.css | 4 +- frontend/app/chat/[chatId]/page.module.scss | 2 +- frontend/app/colors.css | 118 +- frontend/app/globals.css | 22 +- frontend/app/invitation/[brainId]/page.tsx | 14 +- frontend/app/search/page.tsx | 5 +- .../ManageBrains/ManageBrains.module.scss | 2 +- .../UserToInvite/UserToInvite.module.scss | 2 +- .../GeneralInformation.module.scss | 2 +- .../components/Prompt/Prompt.module.scss | 1 - .../PublicPrompts/PublicPrompts.module.scss | 2 +- .../app/user/components/BrainConsumption.tsx | 4 +- .../ApiKeyConfig/ApiKeyConfig.module.scss | 2 +- frontend/app/user/page.module.scss | 2 +- frontend/instrumentation.ts | 13 + frontend/lib/api/sync/sync.ts | 2 +- frontend/lib/api/sync/useSync.ts | 2 +- .../ConnectionCards/ConnectionCards.tsx | 8 +- frontend/lib/components/Menu/Menu.tsx | 11 +- .../DiscussionButton.module.scss | 2 +- .../MenuButton/MenuButton.module.scss | 2 +- .../NotificationsButton.tsx | 1 + .../ProfileButton/ProfileButton.module.scss | 2 +- .../ThreadItem/ThreadItem.module.scss | 2 +- .../ThreadsSection/ThreadsSection.module.scss | 2 +- .../SearchModal/SearchModal.module.scss | 2 +- .../PricingTable/PricingTable.module.scss | 2 +- .../components/PricingTable/PricingTable.tsx | 6 +- .../UploadDocumentModal.module.scss | 2 +- .../InfoDisplayer/InfoDisplayer.module.scss | 2 +- .../ui/LoaderIcon/LoaderIcon.module.scss | 2 +- .../ui/TextButton/TextButton.module.scss | 2 +- .../BrainProvider/mocks/BrainProviderMock.tsx | 2 +- frontend/lib/helpers/acceptedFormats.ts | 2 +- frontend/lib/helpers/updateMetadata.ts | 4 +- frontend/lib/types/SupportedFileExtensions.ts | 2 +- frontend/next-sitemap.config.js | 6 +- frontend/next.config.js | 44 + frontend/package.json | 5 +- frontend/pages/blog/[slug]/index.tsx | 61 +- frontend/pages/blog/index.tsx | 40 +- .../microsoft-identity-association.json | 12 +- frontend/public/locales/en/config.json | 57 +- frontend/public/locales/en/contact.json | 26 +- .../en/deleteOrUnsubscribeFromBrain.json | 20 +- frontend/public/locales/en/explore.json | 16 +- .../locales/en/external_api_definition.json | 15 +- frontend/public/locales/en/home.json | 70 +- frontend/public/locales/en/invitation.json | 14 +- frontend/public/locales/en/login.json | 2 +- frontend/public/locales/en/logout.json | 9 +- frontend/public/locales/en/translation.json | 39 +- frontend/public/locales/en/user.json | 11 +- frontend/public/locales/es/config.json | 110 +- frontend/public/locales/es/contact.json | 26 +- .../es/deleteOrUnsubscribeFromBrain.json | 20 +- frontend/public/locales/es/explore.json | 16 +- .../locales/es/external_api_definition.json | 15 +- frontend/public/locales/es/home.json | 70 +- frontend/public/locales/es/invitation.json | 14 +- frontend/public/locales/es/login.json | 36 +- frontend/public/locales/es/logout.json | 9 +- frontend/public/locales/es/translation.json | 39 +- frontend/public/locales/es/user.json | 11 +- frontend/public/locales/fr/config.json | 57 +- frontend/public/locales/fr/contact.json | 26 +- .../fr/deleteOrUnsubscribeFromBrain.json | 20 +- frontend/public/locales/fr/explore.json | 16 +- .../locales/fr/external_api_definition.json | 15 +- frontend/public/locales/fr/home.json | 70 +- frontend/public/locales/fr/invitation.json | 14 +- frontend/public/locales/fr/login.json | 36 +- frontend/public/locales/fr/logout.json | 9 +- frontend/public/locales/fr/translation.json | 39 +- frontend/public/locales/fr/user.json | 11 +- frontend/public/locales/pt-br/config.json | 57 +- frontend/public/locales/pt-br/contact.json | 26 +- .../pt-br/deleteOrUnsubscribeFromBrain.json | 20 +- frontend/public/locales/pt-br/explore.json | 16 +- .../pt-br/external_api_definition.json | 15 +- frontend/public/locales/pt-br/home.json | 70 +- frontend/public/locales/pt-br/invitation.json | 14 +- frontend/public/locales/pt-br/login.json | 36 +- frontend/public/locales/pt-br/logout.json | 9 +- .../public/locales/pt-br/translation.json | 39 +- frontend/public/locales/pt-br/user.json | 11 +- frontend/public/locales/ru/config.json | 57 +- frontend/public/locales/ru/contact.json | 26 +- .../ru/deleteOrUnsubscribeFromBrain.json | 18 +- frontend/public/locales/ru/explore.json | 16 +- .../locales/ru/external_api_definition.json | 15 +- frontend/public/locales/ru/home.json | 70 +- frontend/public/locales/ru/invitation.json | 14 +- frontend/public/locales/ru/login.json | 36 +- frontend/public/locales/ru/logout.json | 9 +- frontend/public/locales/ru/translation.json | 39 +- frontend/public/locales/ru/user.json | 11 +- frontend/public/locales/zh-cn/config.json | 54 +- frontend/public/locales/zh-cn/contact.json | 26 +- .../zh-cn/deleteOrUnsubscribeFromBrain.json | 2 +- frontend/public/locales/zh-cn/explore.json | 16 +- .../zh-cn/external_api_definition.json | 15 +- frontend/public/locales/zh-cn/home.json | 70 +- frontend/public/locales/zh-cn/invitation.json | 14 +- frontend/public/locales/zh-cn/login.json | 36 +- frontend/public/locales/zh-cn/logout.json | 9 +- .../public/locales/zh-cn/translation.json | 39 +- frontend/public/locales/zh-cn/user.json | 11 +- frontend/sentry.client.config.ts | 38 +- frontend/sentry.edge.config.ts | 31 +- frontend/sentry.server.config.ts | 30 +- frontend/styles/_Spacings.module.scss | 2 +- frontend/tsconfig.eslint.json | 4 +- frontend/tsconfig.json | 27 +- frontend/yarn.lock | 1268 ++++++++++++++--- 123 files changed, 2772 insertions(+), 1013 deletions(-) create mode 100644 frontend/instrumentation.ts diff --git a/frontend/.gitignore b/frontend/.gitignore index 51c123875300..a63b84b2da2c 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -45,3 +45,6 @@ next-env.d.ts # Sentry Config File .sentryclirc + +# Sentry Config File +.env.sentry-build-plugin diff --git a/frontend/Dockerfile b/frontend/Dockerfile index d1def09e8ce3..e20e20de0bf0 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -34,6 +34,7 @@ ARG NEXT_PUBLIC_SHOW_TOKENS ARG NEXT_PUBLIC_PROJECT_NAME ARG NEXT_PUBLIC_POSTHOG_KEY ARG NEXT_PUBLIC_POSTHOG_HOST +ARG SENTRY_AUTH_TOKEN ENV NEXT_PUBLIC_ENV=$NEXT_PUBLIC_ENV ENV NEXT_PUBLIC_BACKEND_URL=$NEXT_PUBLIC_BACKEND_URL @@ -46,7 +47,7 @@ ENV NEXT_PUBLIC_SHOW_TOKENS=$NEXT_PUBLIC_SHOW_TOKENS ENV NEXT_PUBLIC_PROJECT_NAME=$NEXT_PUBLIC_PROJECT_NAME ENV NEXT_PUBLIC_POSTHOG_KEY=$NEXT_PUBLIC_POSTHOG_KEY ENV NEXT_PUBLIC_POSTHOG_HOST=$NEXT_PUBLIC_POSTHOG_HOST - +ENV SENTRY_AUTH_TOKEN=$SENTRY_AUTH_TOKEN # Next.js collects completely anonymous telemetry data about general usage. # Learn more here: https://nextjs.org/telemetry @@ -98,6 +99,8 @@ ARG NEXT_PUBLIC_POSTHOG_KEY ENV NEXT_PUBLIC_POSTHOG_KEY=$NEXT_PUBLIC_POSTHOG_KEY ARG NEXT_PUBLIC_POSTHOG_HOST ENV NEXT_PUBLIC_POSTHOG_HOST=$NEXT_PUBLIC_POSTHOG_HOST +ARG SENTRY_AUTH_TOKEN +ENV SENTRY_AUTH_TOKEN=$SENTRY_AUTH_TOKEN # server.js is created by next build from the standalone output # https://nextjs.org/docs/pages/api-reference/next-config-js/output diff --git a/frontend/Porter.yaml b/frontend/Porter.yaml index 90d8e5a390bb..0343c17c6cad 100644 --- a/frontend/Porter.yaml +++ b/frontend/Porter.yaml @@ -1,23 +1,22 @@ version: v2 name: quivr-demo-front services: -- name: quivr-frontend - run: "" - type: web - instances: 1 - cpuCores: 0.2 - ramMegabytes: 240 - terminationGracePeriodSeconds: 30 - port: 3000 - domains: - - name: demo.quivr.app - sleep: false + - name: quivr-frontend + run: "" + type: web + instances: 1 + cpuCores: 0.2 + ramMegabytes: 240 + terminationGracePeriodSeconds: 30 + port: 3000 + domains: + - name: demo.quivr.app + sleep: false build: context: ./frontend method: docker dockerfile: ./frontend/Dockerfile envGroups: -- preview-frontend + - preview-frontend autoRollback: enabled: false - diff --git a/frontend/app/(auth)/login/components/AzureLogin/hooks/useAzureLogin.ts b/frontend/app/(auth)/login/components/AzureLogin/hooks/useAzureLogin.ts index 6bdf2e663a5c..fddddeb58b05 100644 --- a/frontend/app/(auth)/login/components/AzureLogin/hooks/useAzureLogin.ts +++ b/frontend/app/(auth)/login/components/AzureLogin/hooks/useAzureLogin.ts @@ -14,9 +14,9 @@ export const useAzureLogin = (): { const signInWithAzure = async () => { setIsPending(true); const { error } = await supabase.auth.signInWithOAuth({ - provider: 'azure', + provider: "azure", options: { - scopes: 'email', + scopes: "email", }, }); setIsPending(false); @@ -32,4 +32,4 @@ export const useAzureLogin = (): { signInWithAzure, isPending, }; -}; \ No newline at end of file +}; diff --git a/frontend/app/(auth)/login/page.module.scss b/frontend/app/(auth)/login/page.module.scss index 34c03a5b8cc9..abc53443862c 100644 --- a/frontend/app/(auth)/login/page.module.scss +++ b/frontend/app/(auth)/login/page.module.scss @@ -43,4 +43,4 @@ font-size: Typography.$tiny; } } -} \ No newline at end of file +} diff --git a/frontend/app/chat/[chatId]/components/ActionsBar/components/ChatInput/components/ChatEditor/Editor/styles.css b/frontend/app/chat/[chatId]/components/ActionsBar/components/ChatInput/components/ChatEditor/Editor/styles.css index 524fde1858c8..e35f0d6c56b5 100644 --- a/frontend/app/chat/[chatId]/components/ActionsBar/components/ChatInput/components/ChatEditor/Editor/styles.css +++ b/frontend/app/chat/[chatId]/components/ActionsBar/components/ChatInput/components/ChatEditor/Editor/styles.css @@ -1,16 +1,16 @@ .ProseMirror p.is-editor-empty:first-child::before { - content: attr(data-placeholder); - float: left; - color: #adb5bd; - pointer-events: none; - height: 0; + content: attr(data-placeholder); + float: left; + color: #adb5bd; + pointer-events: none; + height: 0; } .ProseMirror * { - white-space: pre-wrap; - word-wrap: break-word; + white-space: pre-wrap; + word-wrap: break-word; } .mention { - display: none; -} \ No newline at end of file + display: none; +} diff --git a/frontend/app/chat/[chatId]/components/ActionsBar/components/ChatInput/components/MenuControlButton/MenuControlButton.tsx b/frontend/app/chat/[chatId]/components/ActionsBar/components/ChatInput/components/MenuControlButton/MenuControlButton.tsx index a21d258386e4..588ca79fa1df 100644 --- a/frontend/app/chat/[chatId]/components/ActionsBar/components/ChatInput/components/MenuControlButton/MenuControlButton.tsx +++ b/frontend/app/chat/[chatId]/components/ActionsBar/components/ChatInput/components/MenuControlButton/MenuControlButton.tsx @@ -4,21 +4,18 @@ import { LuArrowLeftFromLine } from "react-icons/lu"; import { useMenuContext } from "@/lib/context/MenuProvider/hooks/useMenuContext"; import { useDevice } from "@/lib/hooks/useDevice"; -import styles from './MenuControlButton.module.scss'; +import styles from "./MenuControlButton.module.scss"; export const MenuControlButton = (): JSX.Element => { - const { isOpened, setIsOpened } = useMenuContext(); - const { isMobile } = useDevice(); - const Icon = isOpened ? LuArrowLeftFromLine : GiHamburgerMenu; + const { isOpened, setIsOpened } = useMenuContext(); + const { isMobile } = useDevice(); + const Icon = isOpened ? LuArrowLeftFromLine : GiHamburgerMenu; - if (isOpened && isMobile) { - return <>; - } + if (isOpened && isMobile) { + return <>; + } - return ( - setIsOpened(!isOpened)} - /> - ); + return ( + setIsOpened(!isOpened)} /> + ); }; diff --git a/frontend/app/chat/[chatId]/components/ActionsBar/components/KnowledgeToFeed/components/FromConnections/FileLine/FileLine.tsx b/frontend/app/chat/[chatId]/components/ActionsBar/components/KnowledgeToFeed/components/FromConnections/FileLine/FileLine.tsx index 6073a7cf9de2..e3386d187692 100644 --- a/frontend/app/chat/[chatId]/components/ActionsBar/components/KnowledgeToFeed/components/FromConnections/FileLine/FileLine.tsx +++ b/frontend/app/chat/[chatId]/components/ActionsBar/components/KnowledgeToFeed/components/FromConnections/FileLine/FileLine.tsx @@ -11,7 +11,7 @@ export const FileLine = ({ name, selectable, id, - icon + icon, }: FileLineProps): JSX.Element => { return ( ); }; diff --git a/frontend/app/chat/[chatId]/components/ChatDialogueArea/components/ChatDialogue/components/ChatItem/QADisplay/styles.css b/frontend/app/chat/[chatId]/components/ChatDialogueArea/components/ChatDialogue/components/ChatItem/QADisplay/styles.css index 1b7d6a898271..f2ab941f5dfd 100644 --- a/frontend/app/chat/[chatId]/components/ChatDialogueArea/components/ChatDialogue/components/ChatItem/QADisplay/styles.css +++ b/frontend/app/chat/[chatId]/components/ChatDialogueArea/components/ChatDialogue/components/ChatItem/QADisplay/styles.css @@ -1,3 +1,3 @@ * { - white-space: pre-line; -} \ No newline at end of file + white-space: pre-line; +} diff --git a/frontend/app/chat/[chatId]/page.module.scss b/frontend/app/chat/[chatId]/page.module.scss index 712af319647d..c9af8c139f9e 100644 --- a/frontend/app/chat/[chatId]/page.module.scss +++ b/frontend/app/chat/[chatId]/page.module.scss @@ -27,4 +27,4 @@ } } } -} \ No newline at end of file +} diff --git a/frontend/app/colors.css b/frontend/app/colors.css index c45c1f388ddc..86dcc7d70c69 100644 --- a/frontend/app/colors.css +++ b/frontend/app/colors.css @@ -1,60 +1,60 @@ :root { - --white-0: #fcfcfc; - --white-1: #f8f8f8; - --white-2: #f4f4f4; - - /* Black */ - --black-0: #1f1f1f; - --black-1: #252525; - --black-2: #2b2b2b; - --black-3: #313131; - --black-4: #373737; - --black-5: #3d3d3d; - --black-6: #434343; - --black-7: #494949; - - /* Grey */ - --grey-O: #707070; - --grey-1: #818080; - --grey-2: #c8c8c8; - --grey-3: #cbcbcb; - --grey-4: #e7e9ec; - --grey-5: #d3d3d3; - --grey-6: #f5f5f5; - - /* Primary */ - --primary-0: #6142d4; - --primary-1: #d0c6f2; - --primary-2: #f5f3fd; - - /* Accent */ - --accent: #13abba; - - /* Gold */ - --gold: #b8860b; - --gold-lightest: #f0ebdd;; - - /* Error */ - --dangerous-dark: #e30c17; - --dangerous: #9b373c; - --dangerous-lightest: #eedddd; - - /* Warning */ - --warning: #c77d33; - --warning-lightest: #f2e9e0; - - /* Success */ - --success: #47a455; - --success-lightest: #d0edd4; - - /* Code */ - --code-yellow: #e6db74; - --code-grey: #f8f8f2; - --code-green: #a6e22e; - --code-purple: #ae81ff; - --code-red: #f92672; - --code-dark-grey: #f8f8f2; - --code-very-dark-grey: #75715e; - --code-blue: #66d9ef; - --code-orange: #fd971f; -} \ No newline at end of file + --white-0: #fcfcfc; + --white-1: #f8f8f8; + --white-2: #f4f4f4; + + /* Black */ + --black-0: #1f1f1f; + --black-1: #252525; + --black-2: #2b2b2b; + --black-3: #313131; + --black-4: #373737; + --black-5: #3d3d3d; + --black-6: #434343; + --black-7: #494949; + + /* Grey */ + --grey-O: #707070; + --grey-1: #818080; + --grey-2: #c8c8c8; + --grey-3: #cbcbcb; + --grey-4: #e7e9ec; + --grey-5: #d3d3d3; + --grey-6: #f5f5f5; + + /* Primary */ + --primary-0: #6142d4; + --primary-1: #d0c6f2; + --primary-2: #f5f3fd; + + /* Accent */ + --accent: #13abba; + + /* Gold */ + --gold: #b8860b; + --gold-lightest: #f0ebdd; + + /* Error */ + --dangerous-dark: #e30c17; + --dangerous: #9b373c; + --dangerous-lightest: #eedddd; + + /* Warning */ + --warning: #c77d33; + --warning-lightest: #f2e9e0; + + /* Success */ + --success: #47a455; + --success-lightest: #d0edd4; + + /* Code */ + --code-yellow: #e6db74; + --code-grey: #f8f8f2; + --code-green: #a6e22e; + --code-purple: #ae81ff; + --code-red: #f92672; + --code-dark-grey: #f8f8f2; + --code-very-dark-grey: #75715e; + --code-blue: #66d9ef; + --code-orange: #fd971f; +} diff --git a/frontend/app/globals.css b/frontend/app/globals.css index 5fa74f1c5a44..fac6485323b7 100644 --- a/frontend/app/globals.css +++ b/frontend/app/globals.css @@ -1,9 +1,7 @@ @import "tailwindcss/base"; @import "tailwindcss/components"; @import "tailwindcss/utilities"; -@import './colors.css'; - - +@import "./colors.css"; main { @apply max-w-screen-xl mx-auto flex flex-col; @@ -101,18 +99,18 @@ body.dark_mode { --background-success: var(--black-5); --background-error: var(--black-5); --background-pending: var(--black-5); - + /* Borders */ --border-0: var(--black-5); --border-1: var(--black-6); --border-2: var(--black-7); - + /* Icons */ --icon-0: var(--black-0); --icon-1: var(--grey-0); --icon-2: var(--grey-2); --icon-3: var(--white-0); - + /* Text */ --text-0: var(--black-0); --text-1: var(--grey-0); @@ -142,7 +140,7 @@ body.dark_mode { .token.constant, .token.symbol, .token.deleted { - color: var(--code-red); + color: var(--code-red); } .token.boolean, @@ -156,7 +154,7 @@ body.dark_mode { .token.char, .token.builtin, .token.inserted { - color: var(--code-green); + color: var(--code-green); } .token.operator, @@ -165,7 +163,7 @@ body.dark_mode { .language-css .token.string, .style .token.string, .token.variable { - color: var(--code-grey); + color: var(--code-grey); } .token.atrule, @@ -176,7 +174,7 @@ body.dark_mode { } .token.keyword { - color: var(--code-blue); + color: var(--code-blue); } .token.regex, @@ -206,7 +204,7 @@ body.dark_mode { } .EmojiPickerReact.epr-dark-theme { - --epr-emoji-size: 20px !important; + --epr-emoji-size: 20px !important; --epr-hover-bg-color: var(--primary-1) !important; --epr-category-navigation-button-size: 24px !important; --epr-category-label-bg-color: var(--background-0) !important; @@ -231,4 +229,4 @@ body.dark_mode { .react-colorful__saturation { border-radius: 0 !important; -} \ No newline at end of file +} diff --git a/frontend/app/invitation/[brainId]/page.tsx b/frontend/app/invitation/[brainId]/page.tsx index 7a137d782f83..50d0ffedfcc1 100644 --- a/frontend/app/invitation/[brainId]/page.tsx +++ b/frontend/app/invitation/[brainId]/page.tsx @@ -11,7 +11,7 @@ import { redirectToLogin } from "@/lib/router/redirectToLogin"; import { useInvitation } from "./hooks/useInvitation"; const InvitationPage = (): JSX.Element => { - const { t } = useTranslation('invitation'); + const { t } = useTranslation("invitation"); const { handleAccept, isProcessingRequest, @@ -40,13 +40,15 @@ const InvitationPage = (): JSX.Element => { return (
{isProcessingRequest ? (
-

{t("processingRequest",{ns: "invitation"})}

+

+ {t("processingRequest", { ns: "invitation" })} +

) : (
@@ -55,14 +57,14 @@ const InvitationPage = (): JSX.Element => { variant={"secondary"} className="py-3" > - {t("accept",{ns: "invitation"})} + {t("accept", { ns: "invitation" })}
)} diff --git a/frontend/app/search/page.tsx b/frontend/app/search/page.tsx index 256ec4c95963..cf0334b1761a 100644 --- a/frontend/app/search/page.tsx +++ b/frontend/app/search/page.tsx @@ -23,7 +23,6 @@ import styles from "./page.module.scss"; const projectName = process.env.NEXT_PUBLIC_PROJECT_NAME; - const Search = (): JSX.Element => { const [selectedTab, setSelectedTab] = useState("Models"); const [isNewBrain, setIsNewBrain] = useState(false); @@ -113,7 +112,9 @@ const Search = (): JSX.Element => {
Talk to - {projectName ? projectName : "Quivr"} + + {projectName ? projectName : "Quivr"} +
diff --git a/frontend/app/studio/BrainsTabs/components/ManageBrains/ManageBrains.module.scss b/frontend/app/studio/BrainsTabs/components/ManageBrains/ManageBrains.module.scss index c98d6eccada9..222b29214c2c 100644 --- a/frontend/app/studio/BrainsTabs/components/ManageBrains/ManageBrains.module.scss +++ b/frontend/app/studio/BrainsTabs/components/ManageBrains/ManageBrains.module.scss @@ -10,4 +10,4 @@ .search_brain { width: 250px; } -} \ No newline at end of file +} diff --git a/frontend/app/studio/[brainId]/BrainManagementTabs/components/PeopleTab/BrainUsers/components/UserToInvite/UserToInvite.module.scss b/frontend/app/studio/[brainId]/BrainManagementTabs/components/PeopleTab/BrainUsers/components/UserToInvite/UserToInvite.module.scss index 7201fdf2a94d..49d7dde9328b 100644 --- a/frontend/app/studio/[brainId]/BrainManagementTabs/components/PeopleTab/BrainUsers/components/UserToInvite/UserToInvite.module.scss +++ b/frontend/app/studio/[brainId]/BrainManagementTabs/components/PeopleTab/BrainUsers/components/UserToInvite/UserToInvite.module.scss @@ -20,4 +20,4 @@ width: 100%; } } -} \ No newline at end of file +} diff --git a/frontend/app/studio/[brainId]/BrainManagementTabs/components/SettingsTab/components/GeneralInformation/GeneralInformation.module.scss b/frontend/app/studio/[brainId]/BrainManagementTabs/components/SettingsTab/components/GeneralInformation/GeneralInformation.module.scss index 6ef83e182501..1a4688df8c46 100644 --- a/frontend/app/studio/[brainId]/BrainManagementTabs/components/SettingsTab/components/GeneralInformation/GeneralInformation.module.scss +++ b/frontend/app/studio/[brainId]/BrainManagementTabs/components/SettingsTab/components/GeneralInformation/GeneralInformation.module.scss @@ -21,4 +21,4 @@ width: 100%; } } -} \ No newline at end of file +} diff --git a/frontend/app/studio/[brainId]/BrainManagementTabs/components/SettingsTab/components/Prompt/Prompt.module.scss b/frontend/app/studio/[brainId]/BrainManagementTabs/components/SettingsTab/components/Prompt/Prompt.module.scss index 8b137891791f..e69de29bb2d1 100644 --- a/frontend/app/studio/[brainId]/BrainManagementTabs/components/SettingsTab/components/Prompt/Prompt.module.scss +++ b/frontend/app/studio/[brainId]/BrainManagementTabs/components/SettingsTab/components/Prompt/Prompt.module.scss @@ -1 +0,0 @@ - diff --git a/frontend/app/studio/[brainId]/BrainManagementTabs/components/SettingsTab/components/PublicPrompts/PublicPrompts.module.scss b/frontend/app/studio/[brainId]/BrainManagementTabs/components/SettingsTab/components/PublicPrompts/PublicPrompts.module.scss index 8a2ef8e0485d..7b050f096197 100644 --- a/frontend/app/studio/[brainId]/BrainManagementTabs/components/SettingsTab/components/PublicPrompts/PublicPrompts.module.scss +++ b/frontend/app/studio/[brainId]/BrainManagementTabs/components/SettingsTab/components/PublicPrompts/PublicPrompts.module.scss @@ -6,4 +6,4 @@ @media (max-width: ScreenSizes.$small) { width: 100%; } -} \ No newline at end of file +} diff --git a/frontend/app/user/components/BrainConsumption.tsx b/frontend/app/user/components/BrainConsumption.tsx index c7e7c6df98b9..ba05acf6170d 100644 --- a/frontend/app/user/components/BrainConsumption.tsx +++ b/frontend/app/user/components/BrainConsumption.tsx @@ -6,7 +6,7 @@ import { UserStats } from "../../../lib/types/User"; export const BrainConsumption = (userStats: UserStats): JSX.Element => { const { current_brain_size, max_brain_size } = userStats; const brainFilling = current_brain_size / max_brain_size; - const { t } = useTranslation(["translation","user"]); + const { t } = useTranslation(["translation", "user"]); const backgroundIcon = ( { {/* Percentage of brain space left */} {(100 - brainFilling * 100).toFixed(2)}%{" "} - {t("empty", {ns: "user"})} + {t("empty", { ns: "user" })}
); diff --git a/frontend/app/user/components/Settings/ApiKeyConfig/ApiKeyConfig.module.scss b/frontend/app/user/components/Settings/ApiKeyConfig/ApiKeyConfig.module.scss index 5ae0fa5ca4c9..32eb377c55d9 100644 --- a/frontend/app/user/components/Settings/ApiKeyConfig/ApiKeyConfig.module.scss +++ b/frontend/app/user/components/Settings/ApiKeyConfig/ApiKeyConfig.module.scss @@ -3,4 +3,4 @@ .response_wrapper { display: flex; gap: Spacings.$spacing03; -} \ No newline at end of file +} diff --git a/frontend/app/user/page.module.scss b/frontend/app/user/page.module.scss index f208195a38ef..1a47cadfc0d1 100644 --- a/frontend/app/user/page.module.scss +++ b/frontend/app/user/page.module.scss @@ -30,4 +30,4 @@ display: flex; justify-content: space-between; } -} \ No newline at end of file +} diff --git a/frontend/instrumentation.ts b/frontend/instrumentation.ts new file mode 100644 index 000000000000..7cbe93c13233 --- /dev/null +++ b/frontend/instrumentation.ts @@ -0,0 +1,13 @@ +import * as Sentry from "@sentry/nextjs"; + +export async function register() { + if (process.env.NEXT_RUNTIME === "nodejs") { + await import("./sentry.server.config"); + } + + if (process.env.NEXT_RUNTIME === "edge") { + await import("./sentry.edge.config"); + } +} + +export const onRequestError = Sentry.captureRequestError; diff --git a/frontend/lib/api/sync/sync.ts b/frontend/lib/api/sync/sync.ts index c2a16004772e..a85829d01381 100644 --- a/frontend/lib/api/sync/sync.ts +++ b/frontend/lib/api/sync/sync.ts @@ -57,7 +57,7 @@ export const syncNotion = async ( `/sync/notion/authorize?name=${name}` ) ).data; -} +}; export const getUserSyncs = async ( axiosInstance: AxiosInstance diff --git a/frontend/lib/api/sync/useSync.ts b/frontend/lib/api/sync/useSync.ts index 141ce71c97d3..94903fbf1660 100644 --- a/frontend/lib/api/sync/useSync.ts +++ b/frontend/lib/api/sync/useSync.ts @@ -13,7 +13,7 @@ import { syncGoogleDrive, syncNotion, syncSharepoint, - updateActiveSync + updateActiveSync, } from "./sync"; import { Integration, OpenedConnection, Provider } from "./types"; diff --git a/frontend/lib/components/ConnectionCards/ConnectionCards.tsx b/frontend/lib/components/ConnectionCards/ConnectionCards.tsx index ae81175a8302..82c75ec1b9df 100644 --- a/frontend/lib/components/ConnectionCards/ConnectionCards.tsx +++ b/frontend/lib/components/ConnectionCards/ConnectionCards.tsx @@ -10,13 +10,13 @@ interface ConnectionCardsProps { export const ConnectionCards = ({ fromAddKnowledge, }: ConnectionCardsProps): JSX.Element => { - const { syncGoogleDrive, syncSharepoint, syncDropbox } = - useSync(); + const { syncGoogleDrive, syncSharepoint, syncDropbox } = useSync(); return (
{ @@ -34,8 +33,7 @@ export const Menu = (): JSX.Element => { const pathname = usePathname() ?? ""; const [isLogoHovered, setIsLogoHovered] = useState(false); const { isDarkMode } = useUserSettingsContext(); - const flagEnabled = useFeatureFlagEnabled('show-quality-assistant') - + const flagEnabled = useFeatureFlagEnabled("show-quality-assistant"); useChatsList(); @@ -65,8 +63,9 @@ export const Menu = (): JSX.Element => {
diff --git a/frontend/lib/components/Menu/components/DiscussionButton/DiscussionButton.module.scss b/frontend/lib/components/Menu/components/DiscussionButton/DiscussionButton.module.scss index 3549d2718d3c..72f5242de6ed 100644 --- a/frontend/lib/components/Menu/components/DiscussionButton/DiscussionButton.module.scss +++ b/frontend/lib/components/Menu/components/DiscussionButton/DiscussionButton.module.scss @@ -42,4 +42,4 @@ border-color: var(--primary-0); box-shadow: BoxShadow.$primary; } -} \ No newline at end of file +} diff --git a/frontend/lib/components/Menu/components/MenuButton/MenuButton.module.scss b/frontend/lib/components/Menu/components/MenuButton/MenuButton.module.scss index ba4b03877e0c..9daee1d13d51 100644 --- a/frontend/lib/components/Menu/components/MenuButton/MenuButton.module.scss +++ b/frontend/lib/components/Menu/components/MenuButton/MenuButton.module.scss @@ -41,4 +41,4 @@ &:hover { background-color: var(--background-3); } -} \ No newline at end of file +} diff --git a/frontend/lib/components/Menu/components/NotificationsButton/NotificationsButton.tsx b/frontend/lib/components/Menu/components/NotificationsButton/NotificationsButton.tsx index 72a946b95042..ff3259daec02 100644 --- a/frontend/lib/components/Menu/components/NotificationsButton/NotificationsButton.tsx +++ b/frontend/lib/components/Menu/components/NotificationsButton/NotificationsButton.tsx @@ -12,6 +12,7 @@ export const NotificationsButton = (): JSX.Element => { const { supabase } = useSupabase(); useEffect(() => { + console.log("NotificationsButton"); const channel = supabase .channel("notifications") .on( diff --git a/frontend/lib/components/Menu/components/ProfileButton/ProfileButton.module.scss b/frontend/lib/components/Menu/components/ProfileButton/ProfileButton.module.scss index f29976b6e88c..74d16754ed93 100644 --- a/frontend/lib/components/Menu/components/ProfileButton/ProfileButton.module.scss +++ b/frontend/lib/components/Menu/components/ProfileButton/ProfileButton.module.scss @@ -22,4 +22,4 @@ &:hover { background-color: var(--background-3); } -} \ No newline at end of file +} diff --git a/frontend/lib/components/Menu/components/ThreadsButton/ThreadsSection/ThreadItem/ThreadItem.module.scss b/frontend/lib/components/Menu/components/ThreadsButton/ThreadsSection/ThreadItem/ThreadItem.module.scss index 0833abc8e55a..342688dccedc 100644 --- a/frontend/lib/components/Menu/components/ThreadsButton/ThreadsSection/ThreadItem/ThreadItem.module.scss +++ b/frontend/lib/components/Menu/components/ThreadsButton/ThreadsSection/ThreadItem/ThreadItem.module.scss @@ -51,4 +51,4 @@ visibility: visible; } } -} \ No newline at end of file +} diff --git a/frontend/lib/components/Menu/components/ThreadsButton/ThreadsSection/ThreadsSection.module.scss b/frontend/lib/components/Menu/components/ThreadsButton/ThreadsSection/ThreadsSection.module.scss index 9112d5ddf54b..275db40748ee 100644 --- a/frontend/lib/components/Menu/components/ThreadsButton/ThreadsSection/ThreadsSection.module.scss +++ b/frontend/lib/components/Menu/components/ThreadsButton/ThreadsSection/ThreadsSection.module.scss @@ -8,4 +8,4 @@ flex-direction: column; gap: calc(#{Spacings.$spacing01} + #{Spacings.$spacing02}); position: relative; -} \ No newline at end of file +} diff --git a/frontend/lib/components/SearchModal/SearchModal.module.scss b/frontend/lib/components/SearchModal/SearchModal.module.scss index 8c5031352f63..5b3eac58e5d4 100644 --- a/frontend/lib/components/SearchModal/SearchModal.module.scss +++ b/frontend/lib/components/SearchModal/SearchModal.module.scss @@ -20,4 +20,4 @@ margin-inline: Spacings.$spacing07; } } -} \ No newline at end of file +} diff --git a/frontend/lib/components/Stripe/PricingModal/components/PricingTable/PricingTable.module.scss b/frontend/lib/components/Stripe/PricingModal/components/PricingTable/PricingTable.module.scss index e4a95270b0c3..e2bc40cb6d4b 100644 --- a/frontend/lib/components/Stripe/PricingModal/components/PricingTable/PricingTable.module.scss +++ b/frontend/lib/components/Stripe/PricingModal/components/PricingTable/PricingTable.module.scss @@ -6,4 +6,4 @@ .bold { font-weight: 800; } -} \ No newline at end of file +} diff --git a/frontend/lib/components/Stripe/PricingModal/components/PricingTable/PricingTable.tsx b/frontend/lib/components/Stripe/PricingModal/components/PricingTable/PricingTable.tsx index e53bd1e17a13..6aafa4f851bd 100644 --- a/frontend/lib/components/Stripe/PricingModal/components/PricingTable/PricingTable.tsx +++ b/frontend/lib/components/Stripe/PricingModal/components/PricingTable/PricingTable.tsx @@ -5,7 +5,11 @@ import styles from "./PricingTable.module.scss"; const PRICING_TABLE_ID = process.env.NEXT_PUBLIC_STRIPE_PRICING_TABLE_ID; const PUBLISHABLE_KEY = process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY; -export const StripePricingTable = ({ user_email }: { user_email: string }): JSX.Element => { +export const StripePricingTable = ({ + user_email, +}: { + user_email: string; +}): JSX.Element => { return ( <>
diff --git a/frontend/lib/components/UploadDocumentModal/UploadDocumentModal.module.scss b/frontend/lib/components/UploadDocumentModal/UploadDocumentModal.module.scss index 15e78a1a08b7..2ba506a7b6cf 100644 --- a/frontend/lib/components/UploadDocumentModal/UploadDocumentModal.module.scss +++ b/frontend/lib/components/UploadDocumentModal/UploadDocumentModal.module.scss @@ -19,4 +19,4 @@ justify-content: flex-end; } } -} \ No newline at end of file +} diff --git a/frontend/lib/components/ui/InfoDisplayer/InfoDisplayer.module.scss b/frontend/lib/components/ui/InfoDisplayer/InfoDisplayer.module.scss index 364434d0b16e..46cead10c4be 100644 --- a/frontend/lib/components/ui/InfoDisplayer/InfoDisplayer.module.scss +++ b/frontend/lib/components/ui/InfoDisplayer/InfoDisplayer.module.scss @@ -3,4 +3,4 @@ .info_displayer_container { display: flex; flex-direction: column; -} \ No newline at end of file +} diff --git a/frontend/lib/components/ui/LoaderIcon/LoaderIcon.module.scss b/frontend/lib/components/ui/LoaderIcon/LoaderIcon.module.scss index 6f83fa81b9e4..fcaccca08943 100644 --- a/frontend/lib/components/ui/LoaderIcon/LoaderIcon.module.scss +++ b/frontend/lib/components/ui/LoaderIcon/LoaderIcon.module.scss @@ -12,4 +12,4 @@ transform: rotate(360deg); } } -} \ No newline at end of file +} diff --git a/frontend/lib/components/ui/TextButton/TextButton.module.scss b/frontend/lib/components/ui/TextButton/TextButton.module.scss index 475b6bd50056..74c425182a33 100644 --- a/frontend/lib/components/ui/TextButton/TextButton.module.scss +++ b/frontend/lib/components/ui/TextButton/TextButton.module.scss @@ -33,4 +33,4 @@ color: var(--dangerous-0); } } -} \ No newline at end of file +} diff --git a/frontend/lib/context/BrainProvider/mocks/BrainProviderMock.tsx b/frontend/lib/context/BrainProvider/mocks/BrainProviderMock.tsx index 7224e02aa452..f13a9c793315 100644 --- a/frontend/lib/context/BrainProvider/mocks/BrainProviderMock.tsx +++ b/frontend/lib/context/BrainProvider/mocks/BrainProviderMock.tsx @@ -13,7 +13,7 @@ export const BrainProviderMock = ({ void 0, diff --git a/frontend/lib/helpers/acceptedFormats.ts b/frontend/lib/helpers/acceptedFormats.ts index 474de4b023d8..c7a39b94487f 100644 --- a/frontend/lib/helpers/acceptedFormats.ts +++ b/frontend/lib/helpers/acceptedFormats.ts @@ -27,5 +27,5 @@ export const acceptedFormats: Record = "application/epub+zip": [".epub"], "application/x-ipynb+json": [".ipynb"], "text/x-python": [".py"], - "text/bib": [".bib"] + "text/bib": [".bib"], }; diff --git a/frontend/lib/helpers/updateMetadata.ts b/frontend/lib/helpers/updateMetadata.ts index b321e5dfce08..34ec73522b4f 100644 --- a/frontend/lib/helpers/updateMetadata.ts +++ b/frontend/lib/helpers/updateMetadata.ts @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { useEffect } from 'react'; +import { useEffect } from "react"; import { useTranslation } from "react-i18next"; export const UpdateMetadata = () => { @@ -13,7 +13,7 @@ export const UpdateMetadata = () => { if (metaDescription instanceof HTMLMetaElement) { metaDescription.content = description; } - }, [t]); + }, [t]); return null; }; diff --git a/frontend/lib/types/SupportedFileExtensions.ts b/frontend/lib/types/SupportedFileExtensions.ts index 540bb6e036c1..b733cf561246 100644 --- a/frontend/lib/types/SupportedFileExtensions.ts +++ b/frontend/lib/types/SupportedFileExtensions.ts @@ -21,7 +21,7 @@ export const supportedFileExtensions = [ "ipynb", "py", "telegram", - "bib" + "bib", ] as const; export type SupportedFileExtensions = (typeof supportedFileExtensions)[number]; diff --git a/frontend/next-sitemap.config.js b/frontend/next-sitemap.config.js index 7f33fbb38602..adf872a05418 100644 --- a/frontend/next-sitemap.config.js +++ b/frontend/next-sitemap.config.js @@ -1,5 +1,5 @@ /** @type {import('next-sitemap').IConfig} */ module.exports = { - siteUrl: process.env.SITE_URL || 'https://quivr.app', - generateRobotsTxt: true, // (optional) - } \ No newline at end of file + siteUrl: process.env.SITE_URL || "https://quivr.app", + generateRobotsTxt: true, // (optional) +}; diff --git a/frontend/next.config.js b/frontend/next.config.js index f0f920171feb..9a5158b6f996 100644 --- a/frontend/next.config.js +++ b/frontend/next.config.js @@ -201,3 +201,47 @@ if (process.env.SENTRY_DSN) { // SENTRY_DSN does not exist, export nextConfig without Sentry module.exports = nextConfig; } + +// Injected content via Sentry wizard below + +const { withSentryConfig } = require("@sentry/nextjs"); + +module.exports = withSentryConfig(module.exports, { + // For all available options, see: + // https://github.com/getsentry/sentry-webpack-plugin#options + + org: "quivr-brain", + project: "frontend", + + // Only print logs for uploading source maps in CI + silent: !process.env.CI, + + // For all available options, see: + // https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/ + + // Upload a larger set of source maps for prettier stack traces (increases build time) + widenClientFileUpload: true, + + // Automatically annotate React components to show their full name in breadcrumbs and session replay + reactComponentAnnotation: { + enabled: true, + }, + + // Route browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers. + // This can increase your server load as well as your hosting bill. + // Note: Check that the configured route will not match with your Next.js middleware, otherwise reporting of client- + // side errors will fail. + tunnelRoute: "/monitoring", + + // Hides source maps from generated client bundles + hideSourceMaps: true, + + // Automatically tree-shake Sentry logger statements to reduce bundle size + disableLogger: true, + + // Enables automatic instrumentation of Vercel Cron Monitors. (Does not yet work with App Router route handlers.) + // See the following for more information: + // https://docs.sentry.io/product/crons/ + // https://vercel.com/docs/cron-jobs + automaticVercelMonitors: true, +}); diff --git a/frontend/package.json b/frontend/package.json index 6eb729f700e2..80cae8076971 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -4,6 +4,7 @@ "private": true, "scripts": { "dev": "next dev --turbo", + "dev-sentry": "next dev", "build": "next build", "postbuild": "next-sitemap", "start": "next start", @@ -33,7 +34,7 @@ "@radix-ui/react-tabs": "1.0.4", "@radix-ui/react-toast": "1.1.4", "@radix-ui/react-tooltip": "1.0.6", - "@sentry/nextjs": "^7.102.1", + "@sentry/nextjs": "^8", "@supabase/auth-helpers-nextjs": "0.6.1", "@supabase/auth-ui-react": "0.4.2", "@supabase/auth-ui-shared": "0.1.6", @@ -130,4 +131,4 @@ "react-icons": "4.11.0", "vitest": "0.32.4" } -} +} \ No newline at end of file diff --git a/frontend/pages/blog/[slug]/index.tsx b/frontend/pages/blog/[slug]/index.tsx index cf4c3dab9f4a..c98c0088fd48 100644 --- a/frontend/pages/blog/[slug]/index.tsx +++ b/frontend/pages/blog/[slug]/index.tsx @@ -1,14 +1,13 @@ /* eslint-disable */ -'use client'; -import type { GetStaticPaths, InferGetStaticPropsType } from 'next'; -import Head from 'next/head'; +"use client"; +import type { GetStaticPaths, InferGetStaticPropsType } from "next"; +import Head from "next/head"; import Image from "next/image"; -import Link from 'next/link'; -import { useEffect, useState } from 'react'; +import Link from "next/link"; +import { useEffect, useState } from "react"; import "@/globals.css"; - type SeoAttributes = { id: number; metaTitle: string; @@ -54,10 +53,12 @@ export const getStaticPaths: GetStaticPaths = async () => { try { const response = await fetch("https://cms.quivr.app/api/blogs"); if (!response.ok) { - throw new Error('Network response was not ok'); + throw new Error("Network response was not ok"); } const data: { data: BlogPost[] } = await response.json(); - const paths = data.data.map(post => ({ params: { slug: post.attributes.slug } })); + const paths = data.data.map((post) => ({ + params: { slug: post.attributes.slug }, + })); return { paths, @@ -74,14 +75,18 @@ export const getStaticPaths: GetStaticPaths = async () => { export const getStaticProps = async (context: { params: { slug: string } }) => { try { - const response = await fetch(`https://cms.quivr.app/api/blogs?slug=${context.params.slug}&populate=seo,seo.metaImage`); + const response = await fetch( + `https://cms.quivr.app/api/blogs?slug=${context.params.slug}&populate=seo,seo.metaImage` + ); const data: { data: BlogPost[] } = await response.json(); // Find the blog post with the exact slug match - const blogPost = data.data.find(post => post.attributes.slug === context.params.slug); + const blogPost = data.data.find( + (post) => post.attributes.slug === context.params.slug + ); if (!blogPost) { - throw new Error('No blog post found for the provided slug'); + throw new Error("No blog post found for the provided slug"); } return { @@ -97,11 +102,15 @@ export const getStaticProps = async (context: { params: { slug: string } }) => { } }; -const BlogPostDetail = ({ post }: InferGetStaticPropsType) => { - const { metaTitle, metaDescription, keywords, canonicalURL } = post.attributes.seo; +const BlogPostDetail = ({ + post, +}: InferGetStaticPropsType) => { + const { metaTitle, metaDescription, keywords, canonicalURL } = + post.attributes.seo; // Extract different image formats - const { large, medium } = post.attributes.seo.metaImage.data.attributes.formats; + const { large, medium } = + post.attributes.seo.metaImage.data.attributes.formats; const [imageUrl, setImageUrl] = useState(medium.url); @@ -119,7 +128,12 @@ const BlogPostDetail = ({ post }: InferGetStaticPropsType
Quivr
- Try Quivr + + Try Quivr +
@@ -137,11 +151,11 @@ const BlogPostDetail = ({ post }: InferGetStaticPropsType

{metaTitle}

-

Posted on {post.attributes.publishedAt}

+

+ Posted on {post.attributes.publishedAt} +

-

- {metaDescription} -

+

{metaDescription}

{metaTitle} width={1250} height={340} /> -
+
); -} +}; -export default BlogPostDetail; \ No newline at end of file +export default BlogPostDetail; diff --git a/frontend/pages/blog/index.tsx b/frontend/pages/blog/index.tsx index 97dc69145905..c0f34793cdcf 100644 --- a/frontend/pages/blog/index.tsx +++ b/frontend/pages/blog/index.tsx @@ -1,6 +1,6 @@ /* eslint-disable */ /* https://strapi.io/blog/how-to-create-an-ssg-static-site-generation-application-with-strapi-webhooks-and-nextjs */ -import type { InferGetStaticPropsType } from 'next'; +import type { InferGetStaticPropsType } from "next"; import Head from "next/head"; import Image from "next/image"; import Link from "next/link"; @@ -38,11 +38,17 @@ type BlogPost = { // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types export const getStaticProps = async () => { try { - const resulting = await fetch("https://cms.quivr.app/api/blogs?populate=seo,seo.metaImage,slug"); + const resulting = await fetch( + "https://cms.quivr.app/api/blogs?populate=seo,seo.metaImage,slug" + ); const data: { data: BlogPost[] } = await resulting.json(); // Sort blogs by publishedAt in descending order - const sortedBlogs = data.data.sort((a, b) => new Date(b.attributes.publishedAt).getTime() - new Date(a.attributes.publishedAt).getTime()); + const sortedBlogs = data.data.sort( + (a, b) => + new Date(b.attributes.publishedAt).getTime() - + new Date(a.attributes.publishedAt).getTime() + ); return { props: { @@ -65,7 +71,10 @@ const Blog = ({ result }: InferGetStaticPropsType) => {
Quivr - Blog - +
@@ -75,7 +84,9 @@ const Blog = ({ result }: InferGetStaticPropsType) => {
Quivr
- Try Quivr + + Try Quivr +
@@ -84,7 +95,7 @@ const Blog = ({ result }: InferGetStaticPropsType) => {
- {result.map(post => ( + {result.map((post) => (
) => { className="w-full rounded-lg object-cover cursor-pointer" /> -

{post.attributes.seo.metaTitle}

-

{post.attributes.seo.metaDescription}

- +

+ {post.attributes.seo.metaTitle} +

+

+ {post.attributes.seo.metaDescription} +

+ Read More
@@ -108,6 +126,6 @@ const Blog = ({ result }: InferGetStaticPropsType) => {
); -} +}; -export default Blog; \ No newline at end of file +export default Blog; diff --git a/frontend/public/.well-known/microsoft-identity-association.json b/frontend/public/.well-known/microsoft-identity-association.json index f45e803cde86..0024b3aa0f72 100644 --- a/frontend/public/.well-known/microsoft-identity-association.json +++ b/frontend/public/.well-known/microsoft-identity-association.json @@ -1,7 +1,7 @@ { - "associatedApplications": [ - { - "applicationId": "511dce23-02f3-4724-8684-05da226df5f3" - } - ] -} \ No newline at end of file + "associatedApplications": [ + { + "applicationId": "511dce23-02f3-4724-8684-05da226df5f3" + } + ] +} diff --git a/frontend/public/locales/en/config.json b/frontend/public/locales/en/config.json index 9b2781e799dd..16c9890b8946 100644 --- a/frontend/public/locales/en/config.json +++ b/frontend/public/locales/en/config.json @@ -1 +1,56 @@ -{"accountSection":"Your Account","anthropicKeyLabel":"Anthropic API Key","anthropicKeyPlaceholder":"Anthropic API Key","apiKey":"API Key","backendSection":"Backend config","backendUrlLabel":"Backend URL","backendUrlPlaceHolder":"Backend URL","brainUpdated":"Brain updated successfully","configReset":"Config reseted","configSaved":"Config saved","customPromptSection":"Custom prompt","defaultBrainSet":"Brain set as default successfully","descriptionRequired":"Description is required","error":{"copy":"Failed to copy","createApiKey":"Error creating API Key"},"errorRemovingPrompt":"Error while removing prompt","incorrectApiKey":"Incorrect API Key","invalidApiKeyError":"Invalid API Key","invalidOpenAiKey":"Invalid OpenAI Key","keepInLocal":"Keep in local","knowledge":"Knowledge","maxTokens":"Maximum Words per Response","modelLabel":"Model","modelSection":"Model configuration of the brain","nameRequired":"Name is required","newAPIKey":"Create New Key","noUser":"No user","ohno":"Oh no!","openAiKeyLabel":"Open AI Key","openAiKeyPlaceholder":"sk-xxx","people":"People","promptContent":"Prompt content","promptContentPlaceholder":"As an AI, your...","promptFieldsRequired":"Prompt title and content are required","promptName":"Prompt title","promptNamePlaceholder":"My awesome prompt name","promptRemoved":"Prompt removed successfully","publicPrompts":"Pick in public prompts","removePrompt":"Remove prompt","requireAccess":"Please require access from the owner.","roleRequired":"You don't have the necessary role to access this tab 🧠💡🥲.","selectQuivrPersonalityBtn":"Select a Quivr Personality","settings":"Settings","signedInAs":"Signed In as","subtitle":"Manage your brain","supabaseKeyLabel":"Supabase key","supabaseKeyPlaceHolder":"Supabase key","supabaseURLLabel":"Supabase URL","supabaseURLPlaceHolder":"Supabase URL","temperature":"Temperature","title":"Configuration","updatingBrainSettings":"Updating brain settings..."} +{ + "accountSection": "Your Account", + "anthropicKeyLabel": "Anthropic API Key", + "anthropicKeyPlaceholder": "Anthropic API Key", + "apiKey": "API Key", + "backendSection": "Backend config", + "backendUrlLabel": "Backend URL", + "backendUrlPlaceHolder": "Backend URL", + "brainUpdated": "Brain updated successfully", + "configReset": "Config reseted", + "configSaved": "Config saved", + "customPromptSection": "Custom prompt", + "defaultBrainSet": "Brain set as default successfully", + "descriptionRequired": "Description is required", + "error": { + "copy": "Failed to copy", + "createApiKey": "Error creating API Key" + }, + "errorRemovingPrompt": "Error while removing prompt", + "incorrectApiKey": "Incorrect API Key", + "invalidApiKeyError": "Invalid API Key", + "invalidOpenAiKey": "Invalid OpenAI Key", + "keepInLocal": "Keep in local", + "knowledge": "Knowledge", + "maxTokens": "Maximum Words per Response", + "modelLabel": "Model", + "modelSection": "Model configuration of the brain", + "nameRequired": "Name is required", + "newAPIKey": "Create New Key", + "noUser": "No user", + "ohno": "Oh no!", + "openAiKeyLabel": "Open AI Key", + "openAiKeyPlaceholder": "sk-xxx", + "people": "People", + "promptContent": "Prompt content", + "promptContentPlaceholder": "As an AI, your...", + "promptFieldsRequired": "Prompt title and content are required", + "promptName": "Prompt title", + "promptNamePlaceholder": "My awesome prompt name", + "promptRemoved": "Prompt removed successfully", + "publicPrompts": "Pick in public prompts", + "removePrompt": "Remove prompt", + "requireAccess": "Please require access from the owner.", + "roleRequired": "You don't have the necessary role to access this tab 🧠💡🥲.", + "selectQuivrPersonalityBtn": "Select a Quivr Personality", + "settings": "Settings", + "signedInAs": "Signed In as", + "subtitle": "Manage your brain", + "supabaseKeyLabel": "Supabase key", + "supabaseKeyPlaceHolder": "Supabase key", + "supabaseURLLabel": "Supabase URL", + "supabaseURLPlaceHolder": "Supabase URL", + "temperature": "Temperature", + "title": "Configuration", + "updatingBrainSettings": "Updating brain settings..." +} diff --git a/frontend/public/locales/en/contact.json b/frontend/public/locales/en/contact.json index cb2a49b57d83..fbba0b40d272 100644 --- a/frontend/public/locales/en/contact.json +++ b/frontend/public/locales/en/contact.json @@ -1,14 +1,14 @@ { - "speak_to": "Speak to our", - "sales_team": "Sales team", - "pricing": "Pricing", - "form": { - "email": "Work Email", - "question": "Question", - "submit": "Contact", - "placeholder_question": "How can we help you?", - "thank_you": "Thank you!", - "thank_you_text": "We will get back to you as soon as possible.", - "sending_mail_error": "There was an error sending your message. Please try again later." - } -} \ No newline at end of file + "speak_to": "Speak to our", + "sales_team": "Sales team", + "pricing": "Pricing", + "form": { + "email": "Work Email", + "question": "Question", + "submit": "Contact", + "placeholder_question": "How can we help you?", + "thank_you": "Thank you!", + "thank_you_text": "We will get back to you as soon as possible.", + "sending_mail_error": "There was an error sending your message. Please try again later." + } +} diff --git a/frontend/public/locales/en/deleteOrUnsubscribeFromBrain.json b/frontend/public/locales/en/deleteOrUnsubscribeFromBrain.json index 587546988d1c..6ad97990fbfb 100644 --- a/frontend/public/locales/en/deleteOrUnsubscribeFromBrain.json +++ b/frontend/public/locales/en/deleteOrUnsubscribeFromBrain.json @@ -1,11 +1,11 @@ { - "deleteButton": "Delete Brain", - "deleteConfirmQuestion": "Are you sure you want to delete this brain? This action cannot be undone.", - "deleteConfirmYes": "Yes, delete this brain", - "returnButton": "Return", - "unsubscribeButton": "Unsubscribe from brain", - "unsubscribeConfirmQuestion": "Are you sure you want to unsubscribe from this brain?", - "unsubscribeConfirmYes": "Yes, unsubscribe from this brain", - "successfully_deleted": "Brain successfully deleted.", - "successfully_unsubscribed": "You have successfully unsubscribed from this brain." -} \ No newline at end of file + "deleteButton": "Delete Brain", + "deleteConfirmQuestion": "Are you sure you want to delete this brain? This action cannot be undone.", + "deleteConfirmYes": "Yes, delete this brain", + "returnButton": "Return", + "unsubscribeButton": "Unsubscribe from brain", + "unsubscribeConfirmQuestion": "Are you sure you want to unsubscribe from this brain?", + "unsubscribeConfirmYes": "Yes, unsubscribe from this brain", + "successfully_deleted": "Brain successfully deleted.", + "successfully_unsubscribed": "You have successfully unsubscribed from this brain." +} diff --git a/frontend/public/locales/en/explore.json b/frontend/public/locales/en/explore.json index 69311eb6aab7..e78d2d5535ec 100644 --- a/frontend/public/locales/en/explore.json +++ b/frontend/public/locales/en/explore.json @@ -1 +1,15 @@ -{"title":"Explore uploaded data","subtitle":"View, download or delete knowledge used by your brain","empty":"Oh No, Your Brain is empty.","noBrain":"Brain id not found","sessionNotFound":"User session not found","deleted":"{{fileName}} deleted from brain {{brain}}","errorDeleting":"Error deleting {{fileName}}","view":"View","chunkNumber":"No. of chunks: {{quantity}}","notAvailable":"Not Available","deleteConfirmTitle":"Confirm","deleteConfirmText":"Do you really want to delete?","feed_brain_instructions":"To add knowledge to a brain, go to chat page then click on plus button on the left of the chat input"} +{ + "title": "Explore uploaded data", + "subtitle": "View, download or delete knowledge used by your brain", + "empty": "Oh No, Your Brain is empty.", + "noBrain": "Brain id not found", + "sessionNotFound": "User session not found", + "deleted": "{{fileName}} deleted from brain {{brain}}", + "errorDeleting": "Error deleting {{fileName}}", + "view": "View", + "chunkNumber": "No. of chunks: {{quantity}}", + "notAvailable": "Not Available", + "deleteConfirmTitle": "Confirm", + "deleteConfirmText": "Do you really want to delete?", + "feed_brain_instructions": "To add knowledge to a brain, go to chat page then click on plus button on the left of the chat input" +} diff --git a/frontend/public/locales/en/external_api_definition.json b/frontend/public/locales/en/external_api_definition.json index 7336601cb7be..55e212061ccb 100644 --- a/frontend/public/locales/en/external_api_definition.json +++ b/frontend/public/locales/en/external_api_definition.json @@ -1 +1,14 @@ -{"method_label":"Method","url_placeholder":"URL","searchParams":"Search Params","headers":"Headers","params":"Params","key":"Key","type":"Type (string or number)","description":"Description","secrets":"Secrets","paramsTabDescription":"These values are sent as the request body.","searchParamsTabDescription":"These values are sent as the query string.","secretsTabDescription":"These values are sent as header keys"} +{ + "method_label": "Method", + "url_placeholder": "URL", + "searchParams": "Search Params", + "headers": "Headers", + "params": "Params", + "key": "Key", + "type": "Type (string or number)", + "description": "Description", + "secrets": "Secrets", + "paramsTabDescription": "These values are sent as the request body.", + "searchParamsTabDescription": "These values are sent as the query string.", + "secretsTabDescription": "These values are sent as header keys" +} diff --git a/frontend/public/locales/en/home.json b/frontend/public/locales/en/home.json index 31d1b408bdb1..5aebfcadbf6e 100644 --- a/frontend/public/locales/en/home.json +++ b/frontend/public/locales/en/home.json @@ -1,36 +1,36 @@ { - "sign_in": "Sign in", - "docs": "Docs", - "pricing": "Pricing", - "sign_up": "Sign up", - "star_us": "Star us on Github", - "blog": "Blog", - "sponsored_by": "Sponsored by", - "useCases": { - "title": "Experience it now.", - "subtitle": "Check our example on using Quivr" - }, - "intro": { - "title": "Get a Second Brain with", - "subtitle": "Your productivity assistant connected to your files & favorite applications", - "try_demo": "Try free demo", - "contact_sales": "Contact sales team" - }, - "demo": { - "title": "Demo video", - "start_now": "Start now" - }, - "security": { - "cta": "Get started today " - }, - "footer": { - "title": "Get started today", - "description_1": "Your personal assistant that acts as your Second Brain.", - "description_2": "Simply upload your files and ask questions to it.", - "start_using": "Start using Quivr", - "contact_sales": "Contact sales team" - }, - "testimonials": { - "title": "What people say about" - } -} \ No newline at end of file + "sign_in": "Sign in", + "docs": "Docs", + "pricing": "Pricing", + "sign_up": "Sign up", + "star_us": "Star us on Github", + "blog": "Blog", + "sponsored_by": "Sponsored by", + "useCases": { + "title": "Experience it now.", + "subtitle": "Check our example on using Quivr" + }, + "intro": { + "title": "Get a Second Brain with", + "subtitle": "Your productivity assistant connected to your files & favorite applications", + "try_demo": "Try free demo", + "contact_sales": "Contact sales team" + }, + "demo": { + "title": "Demo video", + "start_now": "Start now" + }, + "security": { + "cta": "Get started today " + }, + "footer": { + "title": "Get started today", + "description_1": "Your personal assistant that acts as your Second Brain.", + "description_2": "Simply upload your files and ask questions to it.", + "start_using": "Start using Quivr", + "contact_sales": "Contact sales team" + }, + "testimonials": { + "title": "What people say about" + } +} diff --git a/frontend/public/locales/en/invitation.json b/frontend/public/locales/en/invitation.json index 731efddf8bbb..3240d44909da 100644 --- a/frontend/public/locales/en/invitation.json +++ b/frontend/public/locales/en/invitation.json @@ -1 +1,13 @@ -{"wellcome":"Welcome to {{brain}}!","invitationMessage":"You have been invited to join this brain as a {{role}} and start exploring. Do you accept this exciting journey?","processingRequest":"Processing your request...","accept":"Yes, count me in!","reject":"No, thank you.","invitationNotFound":"This invitation is not valid.","errorCheckingInvitation":"An unknown error occurred while checking the invitation","accepted":"Invitation accepted","errorAccepting":"An unknown error occurred while accepting the invitation","declined":"Invitation declined","errorDeclining":"An unknown error occurred while declining the invitation"} +{ + "wellcome": "Welcome to {{brain}}!", + "invitationMessage": "You have been invited to join this brain as a {{role}} and start exploring. Do you accept this exciting journey?", + "processingRequest": "Processing your request...", + "accept": "Yes, count me in!", + "reject": "No, thank you.", + "invitationNotFound": "This invitation is not valid.", + "errorCheckingInvitation": "An unknown error occurred while checking the invitation", + "accepted": "Invitation accepted", + "errorAccepting": "An unknown error occurred while accepting the invitation", + "declined": "Invitation declined", + "errorDeclining": "An unknown error occurred while declining the invitation" +} diff --git a/frontend/public/locales/en/login.json b/frontend/public/locales/en/login.json index 9042d63eb3b6..d269810e116f 100644 --- a/frontend/public/locales/en/login.json +++ b/frontend/public/locales/en/login.json @@ -16,4 +16,4 @@ "part2": ", check your emails and follow the steps." }, "login": "Login" -} \ No newline at end of file +} diff --git a/frontend/public/locales/en/logout.json b/frontend/public/locales/en/logout.json index 9897e5a3e5e5..a8aba3b208e4 100644 --- a/frontend/public/locales/en/logout.json +++ b/frontend/public/locales/en/logout.json @@ -1 +1,8 @@ -{"title":"Logout","subtitle":"See you next time","areYouSure":"Are you sure you want to sign out ?","cancel":"Cancel","error":"Error on logout {{errorMessage}}","loggedOut":"Logged out successfully"} +{ + "title": "Logout", + "subtitle": "See you next time", + "areYouSure": "Are you sure you want to sign out ?", + "cancel": "Cancel", + "error": "Error on logout {{errorMessage}}", + "loggedOut": "Logged out successfully" +} diff --git a/frontend/public/locales/en/translation.json b/frontend/public/locales/en/translation.json index fa20d135ac7f..81bc0b980996 100644 --- a/frontend/public/locales/en/translation.json +++ b/frontend/public/locales/en/translation.json @@ -1 +1,38 @@ -{"all":"All","and":"and","cancel":"Cancel","Chat":"Chat","chatButton":"Chat","comingSoon":"Coming soon","crawlButton":"Crawl","createButton":"Create","deleteButton":"Delete","deleteForeverButton":"Delete forever","description":"Quivr is your second brain in the cloud, designed to easily store and retrieve unstructured information.","doneButton":"Done","Editor":"Editor","email":"Email","Explore":"Explore","invalidUrl":"Invalid URL","lang":"en-US","languageSelect":"Preferred language","loading":"Loading...","logoutButton":"Logout","newChatButton":"New Chat","next":"Next","or":"or","Owner":"Owner","previous":"Previous","resetButton":"Reset","saveButton":"Save","shareButton":"Share","themeSelect":"Interface theme","title":"Quivr - Get a Second Brain with Generative AI","toastDismiss":"dismiss","updateButton":"Update","Upload":"Upload","uploadButton":"Upload","uploadingButton":"Uploading...","Viewer":"Viewer"} +{ + "all": "All", + "and": "and", + "cancel": "Cancel", + "Chat": "Chat", + "chatButton": "Chat", + "comingSoon": "Coming soon", + "crawlButton": "Crawl", + "createButton": "Create", + "deleteButton": "Delete", + "deleteForeverButton": "Delete forever", + "description": "Quivr is your second brain in the cloud, designed to easily store and retrieve unstructured information.", + "doneButton": "Done", + "Editor": "Editor", + "email": "Email", + "Explore": "Explore", + "invalidUrl": "Invalid URL", + "lang": "en-US", + "languageSelect": "Preferred language", + "loading": "Loading...", + "logoutButton": "Logout", + "newChatButton": "New Chat", + "next": "Next", + "or": "or", + "Owner": "Owner", + "previous": "Previous", + "resetButton": "Reset", + "saveButton": "Save", + "shareButton": "Share", + "themeSelect": "Interface theme", + "title": "Quivr - Get a Second Brain with Generative AI", + "toastDismiss": "dismiss", + "updateButton": "Update", + "Upload": "Upload", + "uploadButton": "Upload", + "uploadingButton": "Uploading...", + "Viewer": "Viewer" +} diff --git a/frontend/public/locales/en/user.json b/frontend/public/locales/en/user.json index 26213dc947ac..963c41692fd7 100644 --- a/frontend/public/locales/en/user.json +++ b/frontend/public/locales/en/user.json @@ -1 +1,10 @@ -{"title":"{{user}}'s Brain Usage","fetching":"Fetching your data...","requestsCount":"Today's Requests: {{count}}","brainSize":"Remaining Brain size","empty":"Empty","Used":"Used","Unused":"Unused","brainUsage":"Brain Usage"} +{ + "title": "{{user}}'s Brain Usage", + "fetching": "Fetching your data...", + "requestsCount": "Today's Requests: {{count}}", + "brainSize": "Remaining Brain size", + "empty": "Empty", + "Used": "Used", + "Unused": "Unused", + "brainUsage": "Brain Usage" +} diff --git a/frontend/public/locales/es/config.json b/frontend/public/locales/es/config.json index 721eb79a2fee..505c15c8660a 100644 --- a/frontend/public/locales/es/config.json +++ b/frontend/public/locales/es/config.json @@ -1,56 +1,56 @@ { - "accountSection": "Tu Cuenta", - "anthropicKeyLabel": "Clave de la API de Anthropic", - "anthropicKeyPlaceholder": "Clave de la API de Anthropic", - "apiKey": "Clave de API", - "backendSection": "Configuración de Backend", - "backendUrlLabel": "URL del Backend", - "backendUrlPlaceHolder": "URL del Backend", - "brainUpdated": "Cerebro actualizado correctamente", - "configReset": "Configuración restaurada", - "configSaved": "Configuración guardada", - "customPromptSection": "Indicadores personalizados", - "defaultBrainSet": "Cerebro asignado como predeterminado", - "descriptionRequired": "La descripción es necesaria", - "error": { - "copy": "No se pudo copiar", - "createApiKey": "No se pudo crear la clave API" - }, - "errorRemovingPrompt": "Error eliminando indicador", - "incorrectApiKey": "Clave de API incorrecta", - "invalidApiKeyError": "Clave de API inválida", - "invalidOpenAiKey": "Clave de OpenAI inválida", - "keepInLocal": "Mantener localmente", - "knowledge": "Conocimiento", - "maxTokens": "Tokens máximo", - "modelLabel": "Modelo", - "modelSection": "Configuración de Modelo", - "nameRequired": "El nombre es necesario", - "newAPIKey": "Crea una nueva clave", - "noUser": "Sin usuarios", - "ohno": "¡Oh no!", - "openAiKeyLabel": "Clave de Open AI", - "openAiKeyPlaceholder": "sk-xxx", - "people": "Personas", - "promptContent": "Contenido del indicador", - "promptContentPlaceholder": "Como una IA, tu...", - "promptFieldsRequired": "Título y contenido de indicador son necesarios", - "promptName": "Título del indicador", - "promptNamePlaceholder": "El nombre de mi súper indicador", - "promptRemoved": "Indicador eliminado correctamente", - "publicPrompts": "Selecciona un indicador público", - "removePrompt": "Quitar indicador", - "requireAccess": "Por favor, solicita acceso al dueño", - "roleRequired": "No tienen el rol necesario para acceder a esta pestaña 🧠💡🥲.", - "selectQuivrPersonalityBtn": "Selecciona una Personalidad Quivr", - "settings": "Configuración", - "signedInAs": "Sesión iniciada como", - "subtitle": "Gestiona tu cerebro", - "supabaseKeyLabel": "Clave de Supabase", - "supabaseKeyPlaceHolder": "Clave de Supabase", - "supabaseURLLabel": "URL de Supabase", - "supabaseURLPlaceHolder": "URL de Supabase", - "temperature": "Temperatura", - "title": "Configuración", - "updatingBrainSettings": "Actualizando configuración del cerebro..." -} \ No newline at end of file + "accountSection": "Tu Cuenta", + "anthropicKeyLabel": "Clave de la API de Anthropic", + "anthropicKeyPlaceholder": "Clave de la API de Anthropic", + "apiKey": "Clave de API", + "backendSection": "Configuración de Backend", + "backendUrlLabel": "URL del Backend", + "backendUrlPlaceHolder": "URL del Backend", + "brainUpdated": "Cerebro actualizado correctamente", + "configReset": "Configuración restaurada", + "configSaved": "Configuración guardada", + "customPromptSection": "Indicadores personalizados", + "defaultBrainSet": "Cerebro asignado como predeterminado", + "descriptionRequired": "La descripción es necesaria", + "error": { + "copy": "No se pudo copiar", + "createApiKey": "No se pudo crear la clave API" + }, + "errorRemovingPrompt": "Error eliminando indicador", + "incorrectApiKey": "Clave de API incorrecta", + "invalidApiKeyError": "Clave de API inválida", + "invalidOpenAiKey": "Clave de OpenAI inválida", + "keepInLocal": "Mantener localmente", + "knowledge": "Conocimiento", + "maxTokens": "Tokens máximo", + "modelLabel": "Modelo", + "modelSection": "Configuración de Modelo", + "nameRequired": "El nombre es necesario", + "newAPIKey": "Crea una nueva clave", + "noUser": "Sin usuarios", + "ohno": "¡Oh no!", + "openAiKeyLabel": "Clave de Open AI", + "openAiKeyPlaceholder": "sk-xxx", + "people": "Personas", + "promptContent": "Contenido del indicador", + "promptContentPlaceholder": "Como una IA, tu...", + "promptFieldsRequired": "Título y contenido de indicador son necesarios", + "promptName": "Título del indicador", + "promptNamePlaceholder": "El nombre de mi súper indicador", + "promptRemoved": "Indicador eliminado correctamente", + "publicPrompts": "Selecciona un indicador público", + "removePrompt": "Quitar indicador", + "requireAccess": "Por favor, solicita acceso al dueño", + "roleRequired": "No tienen el rol necesario para acceder a esta pestaña 🧠💡🥲.", + "selectQuivrPersonalityBtn": "Selecciona una Personalidad Quivr", + "settings": "Configuración", + "signedInAs": "Sesión iniciada como", + "subtitle": "Gestiona tu cerebro", + "supabaseKeyLabel": "Clave de Supabase", + "supabaseKeyPlaceHolder": "Clave de Supabase", + "supabaseURLLabel": "URL de Supabase", + "supabaseURLPlaceHolder": "URL de Supabase", + "temperature": "Temperatura", + "title": "Configuración", + "updatingBrainSettings": "Actualizando configuración del cerebro..." +} diff --git a/frontend/public/locales/es/contact.json b/frontend/public/locales/es/contact.json index baa8dcf67d93..c33d6a7cc1b9 100644 --- a/frontend/public/locales/es/contact.json +++ b/frontend/public/locales/es/contact.json @@ -1,14 +1,14 @@ { - "speak_to": "Hable con nuestro", - "sales_team": "equipo de ventas", - "pricing": "Precios", - "form": { - "email": "Correo electrónico de trabajo", - "question": "Pregunta", - "submit": "Contactar", - "placeholder_question": "¿Cómo podemos ayudarte?", - "thank_you": "¡Gracias!", - "thank_you_text": "Nos pondremos en contacto contigo lo antes posible.", - "sending_mail_error": "Se produjo un error al enviar tu mensaje. Por favor, inténtalo de nuevo más tarde." - } -} \ No newline at end of file + "speak_to": "Hable con nuestro", + "sales_team": "equipo de ventas", + "pricing": "Precios", + "form": { + "email": "Correo electrónico de trabajo", + "question": "Pregunta", + "submit": "Contactar", + "placeholder_question": "¿Cómo podemos ayudarte?", + "thank_you": "¡Gracias!", + "thank_you_text": "Nos pondremos en contacto contigo lo antes posible.", + "sending_mail_error": "Se produjo un error al enviar tu mensaje. Por favor, inténtalo de nuevo más tarde." + } +} diff --git a/frontend/public/locales/es/deleteOrUnsubscribeFromBrain.json b/frontend/public/locales/es/deleteOrUnsubscribeFromBrain.json index b4a81b4ebef9..46afefe56944 100644 --- a/frontend/public/locales/es/deleteOrUnsubscribeFromBrain.json +++ b/frontend/public/locales/es/deleteOrUnsubscribeFromBrain.json @@ -1,11 +1,11 @@ { - "deleteButton": "Borrar el cerebro", - "deleteConfirmQuestion": "¿Estás seguro de que quieres borrar el cerebro? No podrás recuperarlo.", - "deleteConfirmYes": "Sí, borrar el cerebro", - "returnButton": "Vuelta", - "unsubscribeButton": "Cancelar suscripción del cerebro", - "unsubscribeConfirmQuestion": "¿Estás seguro de que quieres darte de baja de este cerebro?", - "unsubscribeConfirmYes": "Sí, cancelar la suscripción de este cerebro", - "successfully_deleted": "Cerebro eliminado con éxito.", - "successfully_unsubscribed": "Te has desinscrito con éxito de este cerebro." -} \ No newline at end of file + "deleteButton": "Borrar el cerebro", + "deleteConfirmQuestion": "¿Estás seguro de que quieres borrar el cerebro? No podrás recuperarlo.", + "deleteConfirmYes": "Sí, borrar el cerebro", + "returnButton": "Vuelta", + "unsubscribeButton": "Cancelar suscripción del cerebro", + "unsubscribeConfirmQuestion": "¿Estás seguro de que quieres darte de baja de este cerebro?", + "unsubscribeConfirmYes": "Sí, cancelar la suscripción de este cerebro", + "successfully_deleted": "Cerebro eliminado con éxito.", + "successfully_unsubscribed": "Te has desinscrito con éxito de este cerebro." +} diff --git a/frontend/public/locales/es/explore.json b/frontend/public/locales/es/explore.json index 275f64e1d2c7..11ea310ea07b 100644 --- a/frontend/public/locales/es/explore.json +++ b/frontend/public/locales/es/explore.json @@ -1 +1,15 @@ -{"title":"Explora datos subidos","subtitle":"Visualiza, descarga o elimina el conocimiento utilizado por tu cerebro","empty":"¡Oh No!, Tu Cerebro está vacío","noBrain":"Id de Cerebro no encontrado","sessionNotFound":"Sesión no encontrada","deleted":"{{fileName}} borrado del cerebro {{brain}}","errorDeleting":"Error borrando {{fileName}}","view":"Ver","chunkNumber":"No. de partes: {{quantity}}","notAvailable":"No disponible","deleteConfirmTitle":"Confirmar","deleteConfirmText":"¿Realmente quieres eliminar?","feed_brain_instructions":"Para agregar conocimiento a un cerebro, ve a la página de chat y haz clic en el botón de más a la izquierda del campo de chat."} +{ + "title": "Explora datos subidos", + "subtitle": "Visualiza, descarga o elimina el conocimiento utilizado por tu cerebro", + "empty": "¡Oh No!, Tu Cerebro está vacío", + "noBrain": "Id de Cerebro no encontrado", + "sessionNotFound": "Sesión no encontrada", + "deleted": "{{fileName}} borrado del cerebro {{brain}}", + "errorDeleting": "Error borrando {{fileName}}", + "view": "Ver", + "chunkNumber": "No. de partes: {{quantity}}", + "notAvailable": "No disponible", + "deleteConfirmTitle": "Confirmar", + "deleteConfirmText": "¿Realmente quieres eliminar?", + "feed_brain_instructions": "Para agregar conocimiento a un cerebro, ve a la página de chat y haz clic en el botón de más a la izquierda del campo de chat." +} diff --git a/frontend/public/locales/es/external_api_definition.json b/frontend/public/locales/es/external_api_definition.json index 13a035930ce2..af1364d379c3 100644 --- a/frontend/public/locales/es/external_api_definition.json +++ b/frontend/public/locales/es/external_api_definition.json @@ -1 +1,14 @@ -{"method_label":"Method","url_placeholder":"URL","searchParams":"Search Params","headers":"Headers","params":"Params","key":"Key","type":"Type (string or number)","description":"Description","secrets":"Secretos","paramsTabDescription":"Estos valores se envían como cuerpo de la solicitud.","searchParamsTabDescription":"Estos valores se envían como cadena de consulta.","secretsTabDescription":"Estos valores se envían como claves de encabezado."} +{ + "method_label": "Method", + "url_placeholder": "URL", + "searchParams": "Search Params", + "headers": "Headers", + "params": "Params", + "key": "Key", + "type": "Type (string or number)", + "description": "Description", + "secrets": "Secretos", + "paramsTabDescription": "Estos valores se envían como cuerpo de la solicitud.", + "searchParamsTabDescription": "Estos valores se envían como cadena de consulta.", + "secretsTabDescription": "Estos valores se envían como claves de encabezado." +} diff --git a/frontend/public/locales/es/home.json b/frontend/public/locales/es/home.json index 6d0c8cb406e1..4f449f701dcf 100644 --- a/frontend/public/locales/es/home.json +++ b/frontend/public/locales/es/home.json @@ -1,36 +1,36 @@ { - "sign_in": "Iniciar sesión", - "docs": "Docs", - "pricing": "Precios", - "sign_up": "Registrarse", - "star_us": "Danos una estrella en Github", - "blog": "Blog", - "sponsored_by": "Patrocinado por", - "useCases": { - "title": "Experiméntalo ahora.", - "subtitle": "Comprueba nuestro ejemplo de uso de Quivr." - }, - "intro": { - "title": "Obtén un segundo cerebro con", - "subtitle": "Sube todos tus archivos y comienza a hablar con ellos.", - "try_demo": "Prueba la demostración gratuita", - "contact_sales": "Contacta al equipo de ventas" - }, - "demo": { - "title": "Video de demostración", - "start_now": "Comenzar ahora" - }, - "security": { - "cta": "Comienza hoy" - }, - "footer": { - "title": "Comienza hoy", - "description_1": "Tu asistente personal que actúa como tu Segundo Cerebro.", - "description_2": "Simplemente carga tus archivos y hazle preguntas.", - "start_using": "Comienza a usar Quivr", - "contact_sales": "Contacta al equipo de ventas" - }, - "testimonials": { - "title": "Lo que la gente dice sobre" - } -} \ No newline at end of file + "sign_in": "Iniciar sesión", + "docs": "Docs", + "pricing": "Precios", + "sign_up": "Registrarse", + "star_us": "Danos una estrella en Github", + "blog": "Blog", + "sponsored_by": "Patrocinado por", + "useCases": { + "title": "Experiméntalo ahora.", + "subtitle": "Comprueba nuestro ejemplo de uso de Quivr." + }, + "intro": { + "title": "Obtén un segundo cerebro con", + "subtitle": "Sube todos tus archivos y comienza a hablar con ellos.", + "try_demo": "Prueba la demostración gratuita", + "contact_sales": "Contacta al equipo de ventas" + }, + "demo": { + "title": "Video de demostración", + "start_now": "Comenzar ahora" + }, + "security": { + "cta": "Comienza hoy" + }, + "footer": { + "title": "Comienza hoy", + "description_1": "Tu asistente personal que actúa como tu Segundo Cerebro.", + "description_2": "Simplemente carga tus archivos y hazle preguntas.", + "start_using": "Comienza a usar Quivr", + "contact_sales": "Contacta al equipo de ventas" + }, + "testimonials": { + "title": "Lo que la gente dice sobre" + } +} diff --git a/frontend/public/locales/es/invitation.json b/frontend/public/locales/es/invitation.json index 52e5625557d4..1865eeabcb86 100644 --- a/frontend/public/locales/es/invitation.json +++ b/frontend/public/locales/es/invitation.json @@ -1 +1,13 @@ -{"wellcome":"Bienvenido/a a {{brain}}!","invitationMessage":"Te han invitado a unirte a este cerebro como un {{role}} y empezar a explorar. ¿Aceptas este entusiasmante viaje?","processingRequest":"Procesando tu pedido...","accept":"¡Sí, cuenta conmigo!","reject":"No, gracias","invitationNotFound":"Esta invitación no es válida","errorCheckingInvitation":"Ocurrió un error durante la comprobación de la invitación","accepted":"Invitación aceptada","errorAccepting":"Ocurrió un error aceptando la invitación","declined":"Invitación rechazada","errorDeclining":"Ocurrió un error rechazando la invitación"} \ No newline at end of file +{ + "wellcome": "Bienvenido/a a {{brain}}!", + "invitationMessage": "Te han invitado a unirte a este cerebro como un {{role}} y empezar a explorar. ¿Aceptas este entusiasmante viaje?", + "processingRequest": "Procesando tu pedido...", + "accept": "¡Sí, cuenta conmigo!", + "reject": "No, gracias", + "invitationNotFound": "Esta invitación no es válida", + "errorCheckingInvitation": "Ocurrió un error durante la comprobación de la invitación", + "accepted": "Invitación aceptada", + "errorAccepting": "Ocurrió un error aceptando la invitación", + "declined": "Invitación rechazada", + "errorDeclining": "Ocurrió un error rechazando la invitación" +} diff --git a/frontend/public/locales/es/login.json b/frontend/public/locales/es/login.json index ff8a1de496bb..d492e65bd25c 100644 --- a/frontend/public/locales/es/login.json +++ b/frontend/public/locales/es/login.json @@ -1,19 +1,19 @@ { - "password": "Contraseña", - "googleLogin": "Continuar con Google", - "azureLogin": "Continuar con Azure", - "errorPasswordMissed": "Por favor ingrese su contraseña", - "magicLink": "Continuar con correo electrónico", - "errorMailMissed": "Por favor ingrese su dirección de correo electrónico", - "talk_to": "Hablar con", - "restriction_message": "Los usuarios no pagos tienen acceso a una demostración gratuita y limitada de Quivr", - "email": "Dirección de correo electrónico", - "cant_find": "¿No puedes encontrarlo?", - "try_again": "Inténtalo de nuevo", - "check_your_email": { - "part1": "Acabamos de enviarte un ", - "magic_link": "enlace mágico", - "part2": ". Revisa tus correos electrónicos y sigue los pasos." - }, - "login": "Iniciar sesión" -} \ No newline at end of file + "password": "Contraseña", + "googleLogin": "Continuar con Google", + "azureLogin": "Continuar con Azure", + "errorPasswordMissed": "Por favor ingrese su contraseña", + "magicLink": "Continuar con correo electrónico", + "errorMailMissed": "Por favor ingrese su dirección de correo electrónico", + "talk_to": "Hablar con", + "restriction_message": "Los usuarios no pagos tienen acceso a una demostración gratuita y limitada de Quivr", + "email": "Dirección de correo electrónico", + "cant_find": "¿No puedes encontrarlo?", + "try_again": "Inténtalo de nuevo", + "check_your_email": { + "part1": "Acabamos de enviarte un ", + "magic_link": "enlace mágico", + "part2": ". Revisa tus correos electrónicos y sigue los pasos." + }, + "login": "Iniciar sesión" +} diff --git a/frontend/public/locales/es/logout.json b/frontend/public/locales/es/logout.json index 588f72be3ddf..36d322afddfd 100644 --- a/frontend/public/locales/es/logout.json +++ b/frontend/public/locales/es/logout.json @@ -1 +1,8 @@ -{"title":"Cerrar sesión","subtitle":"Hasta pronto","areYouSure":"¿Seguro que quieres cerrar la sesión?","cancel":"Cancelar","error":"Error al cerrar sesión {{errorMessage}}","loggedOut":"Sesión finalizada"} +{ + "title": "Cerrar sesión", + "subtitle": "Hasta pronto", + "areYouSure": "¿Seguro que quieres cerrar la sesión?", + "cancel": "Cancelar", + "error": "Error al cerrar sesión {{errorMessage}}", + "loggedOut": "Sesión finalizada" +} diff --git a/frontend/public/locales/es/translation.json b/frontend/public/locales/es/translation.json index 9a51b85cfb61..6948086cbc24 100644 --- a/frontend/public/locales/es/translation.json +++ b/frontend/public/locales/es/translation.json @@ -1 +1,38 @@ -{"all":"Todos","and":"y","cancel":"Cancelar","Chat":"Conversar","chatButton":"Conversar","comingSoon":"Próximamente","crawlButton":"Rastrear","createButton":"Crear","deleteButton":"Borrar","deleteForeverButton":"Borrar para siempre","description":"Quivr es tu segundo cerebro en la nube, diseñado para facilitar el almacenamiento y obtención de información inestructurada.","doneButton":"Listo","Editor":"Editor","email":"Correo electrónico","Explore":"Explorar","invalidUrl":"URL inválida","lang":"es-ES","languageSelect":"Idioma preferido","loading":"Cargando...","logoutButton":"Cerrar sesión","newChatButton":"Nueva conversación","next":"Siguiente","or":"o","Owner":"Propietario","previous":"Anterior","resetButton":"Restaurar","saveButton":"Guardar","shareButton":"Compartir","themeSelect":"Tema de interfaz","title":"Quivr - Tu segundo cerebro con IA generativa","toastDismiss":"cerrar","updateButton":"Actualizar","Upload":"Subir","uploadButton":"Subir","uploadingButton":"Subiendo...","Viewer":"Espectador"} +{ + "all": "Todos", + "and": "y", + "cancel": "Cancelar", + "Chat": "Conversar", + "chatButton": "Conversar", + "comingSoon": "Próximamente", + "crawlButton": "Rastrear", + "createButton": "Crear", + "deleteButton": "Borrar", + "deleteForeverButton": "Borrar para siempre", + "description": "Quivr es tu segundo cerebro en la nube, diseñado para facilitar el almacenamiento y obtención de información inestructurada.", + "doneButton": "Listo", + "Editor": "Editor", + "email": "Correo electrónico", + "Explore": "Explorar", + "invalidUrl": "URL inválida", + "lang": "es-ES", + "languageSelect": "Idioma preferido", + "loading": "Cargando...", + "logoutButton": "Cerrar sesión", + "newChatButton": "Nueva conversación", + "next": "Siguiente", + "or": "o", + "Owner": "Propietario", + "previous": "Anterior", + "resetButton": "Restaurar", + "saveButton": "Guardar", + "shareButton": "Compartir", + "themeSelect": "Tema de interfaz", + "title": "Quivr - Tu segundo cerebro con IA generativa", + "toastDismiss": "cerrar", + "updateButton": "Actualizar", + "Upload": "Subir", + "uploadButton": "Subir", + "uploadingButton": "Subiendo...", + "Viewer": "Espectador" +} diff --git a/frontend/public/locales/es/user.json b/frontend/public/locales/es/user.json index 1d61b48080da..fe79921dd8d5 100644 --- a/frontend/public/locales/es/user.json +++ b/frontend/public/locales/es/user.json @@ -1 +1,10 @@ -{"title":"Uso del cerebro de {{user}}","fetching":"Obteniendo tus datos...","requestsCount":"Peticiones de hoy: {{count}}","brainSize":"Espacio sobrante en cerebro","empty":"Vacío","Used":"Usado","Unused":"Sin usar","brainUsage":"Uso del cerebro"} +{ + "title": "Uso del cerebro de {{user}}", + "fetching": "Obteniendo tus datos...", + "requestsCount": "Peticiones de hoy: {{count}}", + "brainSize": "Espacio sobrante en cerebro", + "empty": "Vacío", + "Used": "Usado", + "Unused": "Sin usar", + "brainUsage": "Uso del cerebro" +} diff --git a/frontend/public/locales/fr/config.json b/frontend/public/locales/fr/config.json index 89e2a6bd7ab8..27722f66be0b 100644 --- a/frontend/public/locales/fr/config.json +++ b/frontend/public/locales/fr/config.json @@ -1 +1,56 @@ -{"accountSection":"Votre Compte","anthropicKeyLabel":"Clé API Anthropic","anthropicKeyPlaceholder":"Clé API Anthropic","apiKey":"Clé API","backendSection":"Configuration du backend","backendUrlLabel":"URL du backend","backendUrlPlaceHolder":"URL du backend","brainUpdated":"Cerveau mis à jour avec succès","configReset":"Configuration réinitialisée","configSaved":"Configuration sauvegardée","customPromptSection":"Invite personnalisée","defaultBrainSet":"Cerveau défini par défaut avec succès","descriptionRequired":"La description est requise","error":{"copy":"Échec de la copie","createApiKey":"Erreur lors de la création de la clé API"},"errorRemovingPrompt":"Erreur lors de la suppression de l'invite","incorrectApiKey":"Clé API incorrecte","invalidApiKeyError":"Clé API invalide","invalidOpenAiKey":"Clé OpenAI invalide","keepInLocal":"Garder en local","knowledge":"Connaissances","maxTokens":"Jetons max","modelLabel":"Modèle","modelSection":"Configuration du modèle","nameRequired":"Le nom est requis","newAPIKey":"Créer une nouvelle clé","noUser":"Pas d'utilisateur","ohno":"Oh non !","openAiKeyLabel":"Clé Open AI","openAiKeyPlaceholder":"sk-xxx","people":"Personnes","promptContent":"Contenu de l'invite","promptContentPlaceholder":"En tant qu'IA, vous...","promptFieldsRequired":"Le titre et le contenu de l'invite sont requis","promptName":"Titre de l'invite","promptNamePlaceholder":"Mon super nom d'invite","promptRemoved":"Invite supprimée avec succès","publicPrompts":"Choisir dans les invites publiques","removePrompt":"Supprimer l'invite","requireAccess":"Veuillez demander l'accès au propriétaire.","roleRequired":"Vous n'avez pas le rôle nécessaire pour accéder à cet onglet 🧠💡🥲.","selectQuivrPersonalityBtn":"Sélectionnez une personnalité Quivr","settings":"Paramètres","signedInAs":"Connecté en tant que","subtitle":"Gérez votre cerveau","supabaseKeyLabel":"Clé Supabase","supabaseKeyPlaceHolder":"Clé Supabase","supabaseURLLabel":"URL Supabase","supabaseURLPlaceHolder":"URL Supabase","temperature":"Température","title":"Configuration","updatingBrainSettings":"Mise à jour des paramètres du cerveau..."} +{ + "accountSection": "Votre Compte", + "anthropicKeyLabel": "Clé API Anthropic", + "anthropicKeyPlaceholder": "Clé API Anthropic", + "apiKey": "Clé API", + "backendSection": "Configuration du backend", + "backendUrlLabel": "URL du backend", + "backendUrlPlaceHolder": "URL du backend", + "brainUpdated": "Cerveau mis à jour avec succès", + "configReset": "Configuration réinitialisée", + "configSaved": "Configuration sauvegardée", + "customPromptSection": "Invite personnalisée", + "defaultBrainSet": "Cerveau défini par défaut avec succès", + "descriptionRequired": "La description est requise", + "error": { + "copy": "Échec de la copie", + "createApiKey": "Erreur lors de la création de la clé API" + }, + "errorRemovingPrompt": "Erreur lors de la suppression de l'invite", + "incorrectApiKey": "Clé API incorrecte", + "invalidApiKeyError": "Clé API invalide", + "invalidOpenAiKey": "Clé OpenAI invalide", + "keepInLocal": "Garder en local", + "knowledge": "Connaissances", + "maxTokens": "Jetons max", + "modelLabel": "Modèle", + "modelSection": "Configuration du modèle", + "nameRequired": "Le nom est requis", + "newAPIKey": "Créer une nouvelle clé", + "noUser": "Pas d'utilisateur", + "ohno": "Oh non !", + "openAiKeyLabel": "Clé Open AI", + "openAiKeyPlaceholder": "sk-xxx", + "people": "Personnes", + "promptContent": "Contenu de l'invite", + "promptContentPlaceholder": "En tant qu'IA, vous...", + "promptFieldsRequired": "Le titre et le contenu de l'invite sont requis", + "promptName": "Titre de l'invite", + "promptNamePlaceholder": "Mon super nom d'invite", + "promptRemoved": "Invite supprimée avec succès", + "publicPrompts": "Choisir dans les invites publiques", + "removePrompt": "Supprimer l'invite", + "requireAccess": "Veuillez demander l'accès au propriétaire.", + "roleRequired": "Vous n'avez pas le rôle nécessaire pour accéder à cet onglet 🧠💡🥲.", + "selectQuivrPersonalityBtn": "Sélectionnez une personnalité Quivr", + "settings": "Paramètres", + "signedInAs": "Connecté en tant que", + "subtitle": "Gérez votre cerveau", + "supabaseKeyLabel": "Clé Supabase", + "supabaseKeyPlaceHolder": "Clé Supabase", + "supabaseURLLabel": "URL Supabase", + "supabaseURLPlaceHolder": "URL Supabase", + "temperature": "Température", + "title": "Configuration", + "updatingBrainSettings": "Mise à jour des paramètres du cerveau..." +} diff --git a/frontend/public/locales/fr/contact.json b/frontend/public/locales/fr/contact.json index 12121bea71e5..92fd1415e47f 100644 --- a/frontend/public/locales/fr/contact.json +++ b/frontend/public/locales/fr/contact.json @@ -1,14 +1,14 @@ { - "speak_to": "Parlez à notre", - "sales_team": "équipe de vente", - "pricing": "Tarif", - "form": { - "email": "Courriel professionnel", - "question": "Question", - "submit": "Contacter", - "placeholder_question": "Comment pouvons-nous vous aider ?", - "thank_you": "Merci !", - "thank_you_text": "Nous vous répondrons dès que possible.", - "sending_mail_error": "Une erreur s'est produite lors de l'envoi de votre message. Veuillez réessayer plus tard." - } -} \ No newline at end of file + "speak_to": "Parlez à notre", + "sales_team": "équipe de vente", + "pricing": "Tarif", + "form": { + "email": "Courriel professionnel", + "question": "Question", + "submit": "Contacter", + "placeholder_question": "Comment pouvons-nous vous aider ?", + "thank_you": "Merci !", + "thank_you_text": "Nous vous répondrons dès que possible.", + "sending_mail_error": "Une erreur s'est produite lors de l'envoi de votre message. Veuillez réessayer plus tard." + } +} diff --git a/frontend/public/locales/fr/deleteOrUnsubscribeFromBrain.json b/frontend/public/locales/fr/deleteOrUnsubscribeFromBrain.json index 32d6eff48db1..ab1a89d304c2 100644 --- a/frontend/public/locales/fr/deleteOrUnsubscribeFromBrain.json +++ b/frontend/public/locales/fr/deleteOrUnsubscribeFromBrain.json @@ -1,11 +1,11 @@ { - "deleteButton": "Supprimer le cerveau", - "deleteConfirmQuestion": "Êtes-vous sûr de vouloir supprimer le cerveau? Cette action est irréversible!", - "deleteConfirmYes": "Oui, supprimer", - "returnButton": "Retour", - "unsubscribeButton": "Se désabonner du cerveau", - "unsubscribeConfirmQuestion": "Êtes-vous sûr de vouloir vous désabonner de ce cerveau ?", - "unsubscribeConfirmYes": "Oui, se désabonner de ce cerveau", - "successfully_deleted": "Cerveau supprimé avec succès.", - "successfully_unsubscribed": "Vous vous êtes désabonné avec succès de ce cerveau." -} \ No newline at end of file + "deleteButton": "Supprimer le cerveau", + "deleteConfirmQuestion": "Êtes-vous sûr de vouloir supprimer le cerveau? Cette action est irréversible!", + "deleteConfirmYes": "Oui, supprimer", + "returnButton": "Retour", + "unsubscribeButton": "Se désabonner du cerveau", + "unsubscribeConfirmQuestion": "Êtes-vous sûr de vouloir vous désabonner de ce cerveau ?", + "unsubscribeConfirmYes": "Oui, se désabonner de ce cerveau", + "successfully_deleted": "Cerveau supprimé avec succès.", + "successfully_unsubscribed": "Vous vous êtes désabonné avec succès de ce cerveau." +} diff --git a/frontend/public/locales/fr/explore.json b/frontend/public/locales/fr/explore.json index be721214a0fe..391bdf51bcff 100644 --- a/frontend/public/locales/fr/explore.json +++ b/frontend/public/locales/fr/explore.json @@ -1 +1,15 @@ -{"title":"Explorez les données téléchargées","subtitle":"Visualisez, téléchargez ou supprimez les connaissances utilisées par votre cerveau","empty":"Oh non, votre cerveau est vide.","noBrain":"ID du cerveau introuvable","sessionNotFound":"Session utilisateur introuvable","deleted":"{{fileName}} supprimé du cerveau {{brain}}","errorDeleting":"Erreur lors de la suppression de {{fileName}}","view":"Voir","chunkNumber":"Nombre de fragments : {{quantity}}","notAvailable":"Non disponible","deleteConfirmTitle":"Confirmer","deleteConfirmText":"Voulez-vous vraiment supprimer ?","feed_brain_instructions":"Pour ajouter des connaissances à un cerveau, allez sur la page de chat, puis cliquez sur le bouton plus à gauche de la zone de chat."} +{ + "title": "Explorez les données téléchargées", + "subtitle": "Visualisez, téléchargez ou supprimez les connaissances utilisées par votre cerveau", + "empty": "Oh non, votre cerveau est vide.", + "noBrain": "ID du cerveau introuvable", + "sessionNotFound": "Session utilisateur introuvable", + "deleted": "{{fileName}} supprimé du cerveau {{brain}}", + "errorDeleting": "Erreur lors de la suppression de {{fileName}}", + "view": "Voir", + "chunkNumber": "Nombre de fragments : {{quantity}}", + "notAvailable": "Non disponible", + "deleteConfirmTitle": "Confirmer", + "deleteConfirmText": "Voulez-vous vraiment supprimer ?", + "feed_brain_instructions": "Pour ajouter des connaissances à un cerveau, allez sur la page de chat, puis cliquez sur le bouton plus à gauche de la zone de chat." +} diff --git a/frontend/public/locales/fr/external_api_definition.json b/frontend/public/locales/fr/external_api_definition.json index de3010f06bd3..482d380f5eb0 100644 --- a/frontend/public/locales/fr/external_api_definition.json +++ b/frontend/public/locales/fr/external_api_definition.json @@ -1 +1,14 @@ -{"method_label":"Method","url_placeholder":"URL","searchParams":"Search Params","headers":"Headers","params":"Params","key":"Key","type":"Type (string or number)","description":"Description","secrets":"Secrets","paramsTabDescription":"Ces valeurs sont envoyées sous forme de corps de requête.","searchParamsTabDescription":"Ces valeurs sont envoyées sous forme de chaîne de requête.","secretsTabDescription":"Ces valeurs sont envoyées sous forme de clés d'en-tête."} +{ + "method_label": "Method", + "url_placeholder": "URL", + "searchParams": "Search Params", + "headers": "Headers", + "params": "Params", + "key": "Key", + "type": "Type (string or number)", + "description": "Description", + "secrets": "Secrets", + "paramsTabDescription": "Ces valeurs sont envoyées sous forme de corps de requête.", + "searchParamsTabDescription": "Ces valeurs sont envoyées sous forme de chaîne de requête.", + "secretsTabDescription": "Ces valeurs sont envoyées sous forme de clés d'en-tête." +} diff --git a/frontend/public/locales/fr/home.json b/frontend/public/locales/fr/home.json index e558905cdf7b..b17806b2e0c4 100644 --- a/frontend/public/locales/fr/home.json +++ b/frontend/public/locales/fr/home.json @@ -1,36 +1,36 @@ { - "sign_in": "Se connecter", - "docs": "Docs", - "pricing": "Tarif", - "sign_up": "S'inscrire", - "star_us": "Étoilez-nous sur Github", - "blog": "Blog", - "sponsored_by": "Sponsorisé par", - "useCases": { - "title": "Expérimentez-le maintenant.", - "subtitle": "Consultez notre exemple d'utilisation de Quivr." - }, - "intro": { - "title": "Obtenez un deuxième cerveau avec", - "subtitle": "Téléchargez tous vos fichiers et commencez à discuter avec eux.", - "try_demo": "Essayez la démo gratuite", - "contact_sales": "Contactez l'équipe commerciale" - }, - "demo": { - "title": "Vidéo de démonstration", - "start_now": "Commencer maintenant" - }, - "security": { - "cta": "Commencez dès aujourd'hui" - }, - "footer": { - "title": "Commencez aujourd'hui", - "description_1": "Votre assistant personnel qui agit comme votre Deuxième Cerveau.", - "description_2": "Il vous suffit de télécharger vos fichiers et de lui poser des questions.", - "start_using": "Commencez à utiliser Quivr", - "contact_sales": "Contacter l'équipe commerciale" - }, - "testimonials": { - "title": "Ce que les gens disent à propos de" - } -} \ No newline at end of file + "sign_in": "Se connecter", + "docs": "Docs", + "pricing": "Tarif", + "sign_up": "S'inscrire", + "star_us": "Étoilez-nous sur Github", + "blog": "Blog", + "sponsored_by": "Sponsorisé par", + "useCases": { + "title": "Expérimentez-le maintenant.", + "subtitle": "Consultez notre exemple d'utilisation de Quivr." + }, + "intro": { + "title": "Obtenez un deuxième cerveau avec", + "subtitle": "Téléchargez tous vos fichiers et commencez à discuter avec eux.", + "try_demo": "Essayez la démo gratuite", + "contact_sales": "Contactez l'équipe commerciale" + }, + "demo": { + "title": "Vidéo de démonstration", + "start_now": "Commencer maintenant" + }, + "security": { + "cta": "Commencez dès aujourd'hui" + }, + "footer": { + "title": "Commencez aujourd'hui", + "description_1": "Votre assistant personnel qui agit comme votre Deuxième Cerveau.", + "description_2": "Il vous suffit de télécharger vos fichiers et de lui poser des questions.", + "start_using": "Commencez à utiliser Quivr", + "contact_sales": "Contacter l'équipe commerciale" + }, + "testimonials": { + "title": "Ce que les gens disent à propos de" + } +} diff --git a/frontend/public/locales/fr/invitation.json b/frontend/public/locales/fr/invitation.json index 987e4ce18f22..8a48c1a0a3ef 100644 --- a/frontend/public/locales/fr/invitation.json +++ b/frontend/public/locales/fr/invitation.json @@ -1 +1,13 @@ -{"wellcome":"Bienvenue sur {{brain}} !","invitationMessage":"Vous avez été invité(e) à rejoindre ce cerveau en tant que {{role}} et à commencer à explorer. Acceptez-vous ce voyage passionnant ?","processingRequest":"Traitement de votre demande en cours...","accept":"Oui, je suis partant(e) !","reject":"Non, merci","invitationNotFound":"Cette invitation n'est pas valide","errorCheckingInvitation":"Une erreur s'est produite lors de la vérification de l'invitation","accepted":"Invitation acceptée","errorAccepting":"Une erreur s'est produite lors de l'acceptation de l'invitation","declined":"Invitation refusée","errorDeclining":"Une erreur s'est produite lors du refus de l'invitation"} +{ + "wellcome": "Bienvenue sur {{brain}} !", + "invitationMessage": "Vous avez été invité(e) à rejoindre ce cerveau en tant que {{role}} et à commencer à explorer. Acceptez-vous ce voyage passionnant ?", + "processingRequest": "Traitement de votre demande en cours...", + "accept": "Oui, je suis partant(e) !", + "reject": "Non, merci", + "invitationNotFound": "Cette invitation n'est pas valide", + "errorCheckingInvitation": "Une erreur s'est produite lors de la vérification de l'invitation", + "accepted": "Invitation acceptée", + "errorAccepting": "Une erreur s'est produite lors de l'acceptation de l'invitation", + "declined": "Invitation refusée", + "errorDeclining": "Une erreur s'est produite lors du refus de l'invitation" +} diff --git a/frontend/public/locales/fr/login.json b/frontend/public/locales/fr/login.json index 2fa8a268c37a..6049ac74fc02 100644 --- a/frontend/public/locales/fr/login.json +++ b/frontend/public/locales/fr/login.json @@ -1,19 +1,19 @@ { - "password": "Mot de passe", - "googleLogin": "Continuer avec Google", - "azureLogin": "Continuer avec Azure", - "errorPasswordMissed": "Veuillez entrer votre mot de passe", - "magicLink": "Continuer avec e-mail", - "errorMailMissed": "Veuillez saisir votre adresse e-mail", - "talk_to": "Parler à", - "restriction_message": "Les utilisateurs non payants ont accès à une démonstration gratuite et limitée de Quivr", - "email": "Adresse e-mail", - "cant_find": "Vous ne le trouvez pas ?", - "try_again": "Réessayez", - "check_your_email": { - "part1": "Nous venons de vous envoyer un ", - "magic_link": "lien magique", - "part2": ". Vérifiez vos e-mails et suivez les étapes." - }, - "login": "Se connecter" -} \ No newline at end of file + "password": "Mot de passe", + "googleLogin": "Continuer avec Google", + "azureLogin": "Continuer avec Azure", + "errorPasswordMissed": "Veuillez entrer votre mot de passe", + "magicLink": "Continuer avec e-mail", + "errorMailMissed": "Veuillez saisir votre adresse e-mail", + "talk_to": "Parler à", + "restriction_message": "Les utilisateurs non payants ont accès à une démonstration gratuite et limitée de Quivr", + "email": "Adresse e-mail", + "cant_find": "Vous ne le trouvez pas ?", + "try_again": "Réessayez", + "check_your_email": { + "part1": "Nous venons de vous envoyer un ", + "magic_link": "lien magique", + "part2": ". Vérifiez vos e-mails et suivez les étapes." + }, + "login": "Se connecter" +} diff --git a/frontend/public/locales/fr/logout.json b/frontend/public/locales/fr/logout.json index 0c4998ffd6fb..f9645de2cb27 100644 --- a/frontend/public/locales/fr/logout.json +++ b/frontend/public/locales/fr/logout.json @@ -1 +1,8 @@ -{"title":"Déconnexion","subtitle":"À la prochaine","areYouSure":"Êtes-vous sûr de vouloir vous déconnecter ?","cancel":"Annuler","error":"Erreur lors de la déconnexion {{errorMessage}}","loggedOut":"Déconnexion réussie"} +{ + "title": "Déconnexion", + "subtitle": "À la prochaine", + "areYouSure": "Êtes-vous sûr de vouloir vous déconnecter ?", + "cancel": "Annuler", + "error": "Erreur lors de la déconnexion {{errorMessage}}", + "loggedOut": "Déconnexion réussie" +} diff --git a/frontend/public/locales/fr/translation.json b/frontend/public/locales/fr/translation.json index 1c3e72946e3a..3bf4d7fc1c2b 100644 --- a/frontend/public/locales/fr/translation.json +++ b/frontend/public/locales/fr/translation.json @@ -1 +1,38 @@ -{"all":"Tout","and":"et","cancel":"Annuler","Chat":"Chat","chatButton":"Chat","comingSoon":"Bientôt disponible","crawlButton":"Crawler","createButton":"Créer","deleteButton":"Supprimer","deleteForeverButton":"Supprimer définitivement","description":"Quivr est votre deuxième cerveau dans le nuage, conçu pour stocker et récupérer facilement des informations non structurées.","doneButton":"Fait","Editor":"Éditeur","email":"Email","Explore":"Explorer","invalidUrl":"URL invalide","lang":"fr-FR","languageSelect":"Langue préférée","loading":"Chargement...","logoutButton":"Déconnexion","newChatButton":"Nouveau chat","next":"Suivant","or":"ou","Owner":"Propriétaire","previous":"Précédent","resetButton":"Réinitialiser","saveButton":"Sauvegarder","shareButton":"Partager","themeSelect":"Thème de l'interface","title":"Quivr - Obtenez un deuxième cerveau avec l'IA générative","toastDismiss":"ignorer","updateButton":"Mettre à jour","Upload":"Télécharger","uploadButton":"Télécharger","uploadingButton":"Téléchargement...","Viewer":"Visualiseur"} +{ + "all": "Tout", + "and": "et", + "cancel": "Annuler", + "Chat": "Chat", + "chatButton": "Chat", + "comingSoon": "Bientôt disponible", + "crawlButton": "Crawler", + "createButton": "Créer", + "deleteButton": "Supprimer", + "deleteForeverButton": "Supprimer définitivement", + "description": "Quivr est votre deuxième cerveau dans le nuage, conçu pour stocker et récupérer facilement des informations non structurées.", + "doneButton": "Fait", + "Editor": "Éditeur", + "email": "Email", + "Explore": "Explorer", + "invalidUrl": "URL invalide", + "lang": "fr-FR", + "languageSelect": "Langue préférée", + "loading": "Chargement...", + "logoutButton": "Déconnexion", + "newChatButton": "Nouveau chat", + "next": "Suivant", + "or": "ou", + "Owner": "Propriétaire", + "previous": "Précédent", + "resetButton": "Réinitialiser", + "saveButton": "Sauvegarder", + "shareButton": "Partager", + "themeSelect": "Thème de l'interface", + "title": "Quivr - Obtenez un deuxième cerveau avec l'IA générative", + "toastDismiss": "ignorer", + "updateButton": "Mettre à jour", + "Upload": "Télécharger", + "uploadButton": "Télécharger", + "uploadingButton": "Téléchargement...", + "Viewer": "Visualiseur" +} diff --git a/frontend/public/locales/fr/user.json b/frontend/public/locales/fr/user.json index 8a24c349ff52..64042123b7f2 100644 --- a/frontend/public/locales/fr/user.json +++ b/frontend/public/locales/fr/user.json @@ -1 +1,10 @@ -{"title":"Utilisation du cerveau de {{user}}","fetching":"Récupération de vos données...","requestsCount":"Requêtes d'aujourd'hui : {{count}}","brainSize":"Taille du cerveau restante","empty":"Vide","Used":"Utilisé","Unused":"Inutilisé","brainUsage":"Utilisation du cerveau"} +{ + "title": "Utilisation du cerveau de {{user}}", + "fetching": "Récupération de vos données...", + "requestsCount": "Requêtes d'aujourd'hui : {{count}}", + "brainSize": "Taille du cerveau restante", + "empty": "Vide", + "Used": "Utilisé", + "Unused": "Inutilisé", + "brainUsage": "Utilisation du cerveau" +} diff --git a/frontend/public/locales/pt-br/config.json b/frontend/public/locales/pt-br/config.json index 146a6265cd4a..25544aa4f2fa 100644 --- a/frontend/public/locales/pt-br/config.json +++ b/frontend/public/locales/pt-br/config.json @@ -1 +1,56 @@ -{"accountSection":"Sua Conta","anthropicKeyLabel":"Chave da API Anthropic","anthropicKeyPlaceholder":"Chave da API Anthropic","apiKey":"Chave de API","backendSection":"Configuração do backend","backendUrlLabel":"URL do Backend","backendUrlPlaceHolder":"URL do Backend","brainUpdated":"Cérebro atualizado com sucesso","configReset":"Configuração redefinida","configSaved":"Configuração salva","customPromptSection":"Prompt personalizado","defaultBrainSet":"Cérebro definido como padrão com sucesso","descriptionRequired":"A descrição é obrigatória","error":{"copy":"Falha ao copiar","createApiKey":"Erro ao criar a chave de API"},"errorRemovingPrompt":"Erro ao remover o prompt","incorrectApiKey":"Chave de API incorreta","invalidApiKeyError":"Chave de API inválida","invalidOpenAiKey":"Chave OpenAI inválida","keepInLocal":"Manter localmente","knowledge":"Conhecimento","maxTokens":"Máximo de tokens","modelLabel":"Modelo","modelSection":"Configuração do modelo","nameRequired":"O nome é obrigatório","newAPIKey":"Criar Nova Chave","noUser":"Nenhum usuário","ohno":"Oh, não!","openAiKeyLabel":"Chave Open AI","openAiKeyPlaceholder":"sk-xxx","people":"Pessoas","promptContent":"Conteúdo do Prompt","promptContentPlaceholder":"Como uma IA, você...","promptFieldsRequired":"Título e conteúdo do prompt são obrigatórios","promptName":"Título do Prompt","promptNamePlaceholder":"Nome incrível para meu prompt","promptRemoved":"Prompt removido com sucesso","publicPrompts":"Escolher em prompts públicos","removePrompt":"Remover prompt","requireAccess":"Por favor, solicite acesso ao proprietário.","roleRequired":"Você não possui a função necessária para acessar esta aba 🧠💡🥲.","selectQuivrPersonalityBtn":"Selecione uma personalidade Quivr","settings":"Configurações","signedInAs":"Logado como","subtitle":"Gerencie o seu cérebro","supabaseKeyLabel":"Chave do Supabase","supabaseKeyPlaceHolder":"Chave do Supabase","supabaseURLLabel":"URL do Supabase","supabaseURLPlaceHolder":"URL do Supabase","temperature":"Temperatura","title":"Configuração","updatingBrainSettings":"Atualizando configurações do cérebro..."} +{ + "accountSection": "Sua Conta", + "anthropicKeyLabel": "Chave da API Anthropic", + "anthropicKeyPlaceholder": "Chave da API Anthropic", + "apiKey": "Chave de API", + "backendSection": "Configuração do backend", + "backendUrlLabel": "URL do Backend", + "backendUrlPlaceHolder": "URL do Backend", + "brainUpdated": "Cérebro atualizado com sucesso", + "configReset": "Configuração redefinida", + "configSaved": "Configuração salva", + "customPromptSection": "Prompt personalizado", + "defaultBrainSet": "Cérebro definido como padrão com sucesso", + "descriptionRequired": "A descrição é obrigatória", + "error": { + "copy": "Falha ao copiar", + "createApiKey": "Erro ao criar a chave de API" + }, + "errorRemovingPrompt": "Erro ao remover o prompt", + "incorrectApiKey": "Chave de API incorreta", + "invalidApiKeyError": "Chave de API inválida", + "invalidOpenAiKey": "Chave OpenAI inválida", + "keepInLocal": "Manter localmente", + "knowledge": "Conhecimento", + "maxTokens": "Máximo de tokens", + "modelLabel": "Modelo", + "modelSection": "Configuração do modelo", + "nameRequired": "O nome é obrigatório", + "newAPIKey": "Criar Nova Chave", + "noUser": "Nenhum usuário", + "ohno": "Oh, não!", + "openAiKeyLabel": "Chave Open AI", + "openAiKeyPlaceholder": "sk-xxx", + "people": "Pessoas", + "promptContent": "Conteúdo do Prompt", + "promptContentPlaceholder": "Como uma IA, você...", + "promptFieldsRequired": "Título e conteúdo do prompt são obrigatórios", + "promptName": "Título do Prompt", + "promptNamePlaceholder": "Nome incrível para meu prompt", + "promptRemoved": "Prompt removido com sucesso", + "publicPrompts": "Escolher em prompts públicos", + "removePrompt": "Remover prompt", + "requireAccess": "Por favor, solicite acesso ao proprietário.", + "roleRequired": "Você não possui a função necessária para acessar esta aba 🧠💡🥲.", + "selectQuivrPersonalityBtn": "Selecione uma personalidade Quivr", + "settings": "Configurações", + "signedInAs": "Logado como", + "subtitle": "Gerencie o seu cérebro", + "supabaseKeyLabel": "Chave do Supabase", + "supabaseKeyPlaceHolder": "Chave do Supabase", + "supabaseURLLabel": "URL do Supabase", + "supabaseURLPlaceHolder": "URL do Supabase", + "temperature": "Temperatura", + "title": "Configuração", + "updatingBrainSettings": "Atualizando configurações do cérebro..." +} diff --git a/frontend/public/locales/pt-br/contact.json b/frontend/public/locales/pt-br/contact.json index cf2d77ef0593..be7724ef6d6c 100644 --- a/frontend/public/locales/pt-br/contact.json +++ b/frontend/public/locales/pt-br/contact.json @@ -1,14 +1,14 @@ { - "speak_to": "Fale com o nosso", - "sales_team": "time de vendas", - "pricing": "Preços", - "form": { - "email": "E-mail de trabalho", - "question": "Pergunta", - "submit": "Contato", - "placeholder_question": "Como podemos ajudar?", - "thank_you": "Obrigado!", - "thank_you_text": "Entraremos em contato o mais rápido possível.", - "sending_mail_error": "Ocorreu um erro ao enviar sua mensagem. Por favor, tente novamente mais tarde." - } -} \ No newline at end of file + "speak_to": "Fale com o nosso", + "sales_team": "time de vendas", + "pricing": "Preços", + "form": { + "email": "E-mail de trabalho", + "question": "Pergunta", + "submit": "Contato", + "placeholder_question": "Como podemos ajudar?", + "thank_you": "Obrigado!", + "thank_you_text": "Entraremos em contato o mais rápido possível.", + "sending_mail_error": "Ocorreu um erro ao enviar sua mensagem. Por favor, tente novamente mais tarde." + } +} diff --git a/frontend/public/locales/pt-br/deleteOrUnsubscribeFromBrain.json b/frontend/public/locales/pt-br/deleteOrUnsubscribeFromBrain.json index 9710a92593c5..dee47216a77a 100644 --- a/frontend/public/locales/pt-br/deleteOrUnsubscribeFromBrain.json +++ b/frontend/public/locales/pt-br/deleteOrUnsubscribeFromBrain.json @@ -1,11 +1,11 @@ { - "deleteButton": "Excluir Cérebro", - "deleteConfirmQuestion": "Você tem certeza de que deseja excluir este cérebro? Essa ação não pode ser desfeita.", - "deleteConfirmYes": "Sim, excluir este cérebro", - "returnButton": "Retornar", - "unsubscribeButton": "Cancelar inscrição do cérebro", - "unsubscribeConfirmQuestion": "Você tem certeza de que deseja cancelar a inscrição deste cérebro?", - "unsubscribeConfirmYes": "Sim, cancelar a inscrição deste cérebro", - "successfully_deleted": "Cérebro excluído com sucesso.", - "successfully_unsubscribed": "Você se desinscreveu com sucesso deste cérebro." -} \ No newline at end of file + "deleteButton": "Excluir Cérebro", + "deleteConfirmQuestion": "Você tem certeza de que deseja excluir este cérebro? Essa ação não pode ser desfeita.", + "deleteConfirmYes": "Sim, excluir este cérebro", + "returnButton": "Retornar", + "unsubscribeButton": "Cancelar inscrição do cérebro", + "unsubscribeConfirmQuestion": "Você tem certeza de que deseja cancelar a inscrição deste cérebro?", + "unsubscribeConfirmYes": "Sim, cancelar a inscrição deste cérebro", + "successfully_deleted": "Cérebro excluído com sucesso.", + "successfully_unsubscribed": "Você se desinscreveu com sucesso deste cérebro." +} diff --git a/frontend/public/locales/pt-br/explore.json b/frontend/public/locales/pt-br/explore.json index 66760eb0cd74..d7994f2fd261 100644 --- a/frontend/public/locales/pt-br/explore.json +++ b/frontend/public/locales/pt-br/explore.json @@ -1 +1,15 @@ -{"title":"Explorar dados enviados","subtitle":"Visualize, baixe ou exclua o conhecimento usado pelo seu cérebro","empty":"Oh, não! Seu Cérebro está vazio.","noBrain":"Cérebro não encontrado","sessionNotFound":"Sessão do usuário não encontrada","deleted":"{{fileName}} excluído do cérebro {{brain}}","errorDeleting":"Erro ao excluir {{fileName}}","view":"Visualizar","chunkNumber":"Número de partes: {{quantity}}","notAvailable":"Indisponível","deleteConfirmTitle":"Confirmar","deleteConfirmText":"Você realmente deseja excluir?","feed_brain_instructions":"Para adicionar conhecimento a um cérebro, vá para a página de chat e clique no botão de adição à esquerda da entrada de chat."} +{ + "title": "Explorar dados enviados", + "subtitle": "Visualize, baixe ou exclua o conhecimento usado pelo seu cérebro", + "empty": "Oh, não! Seu Cérebro está vazio.", + "noBrain": "Cérebro não encontrado", + "sessionNotFound": "Sessão do usuário não encontrada", + "deleted": "{{fileName}} excluído do cérebro {{brain}}", + "errorDeleting": "Erro ao excluir {{fileName}}", + "view": "Visualizar", + "chunkNumber": "Número de partes: {{quantity}}", + "notAvailable": "Indisponível", + "deleteConfirmTitle": "Confirmar", + "deleteConfirmText": "Você realmente deseja excluir?", + "feed_brain_instructions": "Para adicionar conhecimento a um cérebro, vá para a página de chat e clique no botão de adição à esquerda da entrada de chat." +} diff --git a/frontend/public/locales/pt-br/external_api_definition.json b/frontend/public/locales/pt-br/external_api_definition.json index d73b402639a1..fdc0b018653f 100644 --- a/frontend/public/locales/pt-br/external_api_definition.json +++ b/frontend/public/locales/pt-br/external_api_definition.json @@ -1 +1,14 @@ -{"method_label":"Method","url_placeholder":"URL","searchParams":"Search Params","headers":"Headers","params":"Params","key":"Key","type":"Type (string or number)","description":"Description","secrets":"Secrets","paramsTabDescription":"Estes valores são enviados como corpo da solicitação.","searchParamsTabDescription":"Estes valores são enviados como string de consulta.","secretsTabDescription":"Estes valores são enviados como chaves de cabeçalho"} +{ + "method_label": "Method", + "url_placeholder": "URL", + "searchParams": "Search Params", + "headers": "Headers", + "params": "Params", + "key": "Key", + "type": "Type (string or number)", + "description": "Description", + "secrets": "Secrets", + "paramsTabDescription": "Estes valores são enviados como corpo da solicitação.", + "searchParamsTabDescription": "Estes valores são enviados como string de consulta.", + "secretsTabDescription": "Estes valores são enviados como chaves de cabeçalho" +} diff --git a/frontend/public/locales/pt-br/home.json b/frontend/public/locales/pt-br/home.json index 2bb8664ba63f..963e9ce71f68 100644 --- a/frontend/public/locales/pt-br/home.json +++ b/frontend/public/locales/pt-br/home.json @@ -1,36 +1,36 @@ { - "sign_in": "Entrar", - "docs": "Documentação", - "pricing": "Preços", - "sign_up": "Cadastrar", - "star_us": "Nos avalie no Github", - "blog": "Blog", - "sponsored_by": "Patrocinado por", - "useCases": { - "title": "Experimente agora.", - "subtitle": "Confira nosso exemplo de uso do Quivr." - }, - "intro": { - "title": "Obtenha um segundo cérebro com", - "subtitle": "Faça o upload de todos os seus arquivos e comece a conversar com eles.", - "try_demo": "Experimente a demonstração gratuita", - "contact_sales": "Entre em contato com a equipe de vendas" - }, - "demo": { - "title": "Vídeo de demonstração", - "start_now": "Iniciar agora" - }, - "security": { - "cta": "¡Comienza hoy!" - }, - "footer": { - "title": "Comece hoje", - "description_1": "Seu assistente pessoal que age como seu Segundo Cérebro.", - "description_2": "Basta fazer upload de seus arquivos e fazer perguntas a ele.", - "start_using": "Comece a usar o Quivr", - "contact_sales": "Entre em contato com a equipe de vendas" - }, - "testimonials": { - "title": "O que as pessoas dizem sobre" - } -} \ No newline at end of file + "sign_in": "Entrar", + "docs": "Documentação", + "pricing": "Preços", + "sign_up": "Cadastrar", + "star_us": "Nos avalie no Github", + "blog": "Blog", + "sponsored_by": "Patrocinado por", + "useCases": { + "title": "Experimente agora.", + "subtitle": "Confira nosso exemplo de uso do Quivr." + }, + "intro": { + "title": "Obtenha um segundo cérebro com", + "subtitle": "Faça o upload de todos os seus arquivos e comece a conversar com eles.", + "try_demo": "Experimente a demonstração gratuita", + "contact_sales": "Entre em contato com a equipe de vendas" + }, + "demo": { + "title": "Vídeo de demonstração", + "start_now": "Iniciar agora" + }, + "security": { + "cta": "¡Comienza hoy!" + }, + "footer": { + "title": "Comece hoje", + "description_1": "Seu assistente pessoal que age como seu Segundo Cérebro.", + "description_2": "Basta fazer upload de seus arquivos e fazer perguntas a ele.", + "start_using": "Comece a usar o Quivr", + "contact_sales": "Entre em contato com a equipe de vendas" + }, + "testimonials": { + "title": "O que as pessoas dizem sobre" + } +} diff --git a/frontend/public/locales/pt-br/invitation.json b/frontend/public/locales/pt-br/invitation.json index 2c666aee63d4..2b974fdc28e5 100644 --- a/frontend/public/locales/pt-br/invitation.json +++ b/frontend/public/locales/pt-br/invitation.json @@ -1 +1,13 @@ -{"wellcome":"Bem-vindo(a) ao {{brain}}!","invitationMessage":"Você foi convidado(a) a se juntar a este cérebro como {{role}} e começar a explorar. Você aceita esta jornada emocionante?","processingRequest":"Processando o seu pedido...","accept":"Sim, estou dentro!","reject":"Não, obrigado(a).","invitationNotFound":"Este convite não é válido.","errorCheckingInvitation":"Ocorreu um erro desconhecido ao verificar o convite","accepted":"Convite aceito","errorAccepting":"Ocorreu um erro desconhecido ao aceitar o convite","declined":"Convite recusado","errorDeclining":"Ocorreu um erro desconhecido ao recusar o convite"} +{ + "wellcome": "Bem-vindo(a) ao {{brain}}!", + "invitationMessage": "Você foi convidado(a) a se juntar a este cérebro como {{role}} e começar a explorar. Você aceita esta jornada emocionante?", + "processingRequest": "Processando o seu pedido...", + "accept": "Sim, estou dentro!", + "reject": "Não, obrigado(a).", + "invitationNotFound": "Este convite não é válido.", + "errorCheckingInvitation": "Ocorreu um erro desconhecido ao verificar o convite", + "accepted": "Convite aceito", + "errorAccepting": "Ocorreu um erro desconhecido ao aceitar o convite", + "declined": "Convite recusado", + "errorDeclining": "Ocorreu um erro desconhecido ao recusar o convite" +} diff --git a/frontend/public/locales/pt-br/login.json b/frontend/public/locales/pt-br/login.json index 4f31ddaabcce..055fbdb922e2 100644 --- a/frontend/public/locales/pt-br/login.json +++ b/frontend/public/locales/pt-br/login.json @@ -1,19 +1,19 @@ { - "password": "Senha", - "googleLogin": "Continuar com o Google", - "azureLogin": "Continuar com o Azure", - "errorPasswordMissed": "Por favor, digite sua senha", - "magicLink": "Continuar com e-mail", - "errorMailMissed": "Por favor, digite seu endereço de e-mail", - "talk_to": "Conversar com", - "restriction_message": "Usuários não pagos têm acesso a uma demonstração gratuita e limitada do Quivr", - "email": "Endereço de e-mail", - "cant_find": "Não consegue encontrar?", - "try_again": "Tente novamente", - "check_your_email": { - "part1": "Acabamos de enviar um ", - "magic_link": "link mágico", - "part2": ", verifique seus e-mails e siga as etapas." - }, - "login": "Entrar" -} \ No newline at end of file + "password": "Senha", + "googleLogin": "Continuar com o Google", + "azureLogin": "Continuar com o Azure", + "errorPasswordMissed": "Por favor, digite sua senha", + "magicLink": "Continuar com e-mail", + "errorMailMissed": "Por favor, digite seu endereço de e-mail", + "talk_to": "Conversar com", + "restriction_message": "Usuários não pagos têm acesso a uma demonstração gratuita e limitada do Quivr", + "email": "Endereço de e-mail", + "cant_find": "Não consegue encontrar?", + "try_again": "Tente novamente", + "check_your_email": { + "part1": "Acabamos de enviar um ", + "magic_link": "link mágico", + "part2": ", verifique seus e-mails e siga as etapas." + }, + "login": "Entrar" +} diff --git a/frontend/public/locales/pt-br/logout.json b/frontend/public/locales/pt-br/logout.json index 705a90b358f0..c9cefa5975d1 100644 --- a/frontend/public/locales/pt-br/logout.json +++ b/frontend/public/locales/pt-br/logout.json @@ -1 +1,8 @@ -{"title":"Sair","subtitle":"Até a próxima vez","areYouSure":"Você tem certeza de que deseja sair?","cancel":"Cancelar","error":"Erro ao fazer logout {{errorMessage}}","loggedOut":"Saiu com sucesso"} +{ + "title": "Sair", + "subtitle": "Até a próxima vez", + "areYouSure": "Você tem certeza de que deseja sair?", + "cancel": "Cancelar", + "error": "Erro ao fazer logout {{errorMessage}}", + "loggedOut": "Saiu com sucesso" +} diff --git a/frontend/public/locales/pt-br/translation.json b/frontend/public/locales/pt-br/translation.json index a88506929b76..0a7a7ddfbed4 100644 --- a/frontend/public/locales/pt-br/translation.json +++ b/frontend/public/locales/pt-br/translation.json @@ -1 +1,38 @@ -{"all":"Todos","and":"e","cancel":"Cancelar","Chat":"Chat","chatButton":"Chat","comingSoon":"Em breve","crawlButton":"Rastrear","createButton":"Criar","deleteButton":"Excluir","deleteForeverButton":"Excluir permanentemente","description":"Quivr é o seu segundo cérebro na nuvem, projetado para armazenar e recuperar facilmente informações não estruturadas.","doneButton":"Concluído","Editor":"Editor","email":"Email","Explore":"Explorar","invalidUrl":"URL inválida","lang":"pt-BR","languageSelect":"Língua preferida","loading":"Carregando...","logoutButton":"Sair","newChatButton":"Novo Chat","next":"Próximo","or":"ou","Owner":"Proprietário","previous":"Anterior","resetButton":"Redefinir","saveButton":"Salvar","shareButton":"Compartilhar","themeSelect":"Tema de interface","title":"Quivr - Tenha um Segundo Cérebro com IA Generativa","toastDismiss":"fechar","updateButton":"Atualizar","Upload":"Enviar","uploadButton":"Enviar","uploadingButton":"Enviando...","Viewer":"Visualizador"} +{ + "all": "Todos", + "and": "e", + "cancel": "Cancelar", + "Chat": "Chat", + "chatButton": "Chat", + "comingSoon": "Em breve", + "crawlButton": "Rastrear", + "createButton": "Criar", + "deleteButton": "Excluir", + "deleteForeverButton": "Excluir permanentemente", + "description": "Quivr é o seu segundo cérebro na nuvem, projetado para armazenar e recuperar facilmente informações não estruturadas.", + "doneButton": "Concluído", + "Editor": "Editor", + "email": "Email", + "Explore": "Explorar", + "invalidUrl": "URL inválida", + "lang": "pt-BR", + "languageSelect": "Língua preferida", + "loading": "Carregando...", + "logoutButton": "Sair", + "newChatButton": "Novo Chat", + "next": "Próximo", + "or": "ou", + "Owner": "Proprietário", + "previous": "Anterior", + "resetButton": "Redefinir", + "saveButton": "Salvar", + "shareButton": "Compartilhar", + "themeSelect": "Tema de interface", + "title": "Quivr - Tenha um Segundo Cérebro com IA Generativa", + "toastDismiss": "fechar", + "updateButton": "Atualizar", + "Upload": "Enviar", + "uploadButton": "Enviar", + "uploadingButton": "Enviando...", + "Viewer": "Visualizador" +} diff --git a/frontend/public/locales/pt-br/user.json b/frontend/public/locales/pt-br/user.json index 8f6ff6a9f012..401f5a5b868f 100644 --- a/frontend/public/locales/pt-br/user.json +++ b/frontend/public/locales/pt-br/user.json @@ -1 +1,10 @@ -{"title":"Uso do Cérebro de {{user}}","fetching":"Buscando seus dados...","requestsCount":"Requisições de Hoje: {{count}}","brainSize":"Tamanho Restante do Cérebro","empty":"Vazio","Used":"Usado","Unused":"Não Usado","brainUsage":"Uso do Cérebro"} +{ + "title": "Uso do Cérebro de {{user}}", + "fetching": "Buscando seus dados...", + "requestsCount": "Requisições de Hoje: {{count}}", + "brainSize": "Tamanho Restante do Cérebro", + "empty": "Vazio", + "Used": "Usado", + "Unused": "Não Usado", + "brainUsage": "Uso do Cérebro" +} diff --git a/frontend/public/locales/ru/config.json b/frontend/public/locales/ru/config.json index 1f2f3e8db56a..0f8e803fb37c 100644 --- a/frontend/public/locales/ru/config.json +++ b/frontend/public/locales/ru/config.json @@ -1 +1,56 @@ -{"accountSection":"Ваш аккаунт","anthropicKeyLabel":"Ключ Anthropic API","anthropicKeyPlaceholder":"Ключ Anthropic API","apiKey":"ключ API","backendSection":"Настройки бэкенда","backendUrlLabel":"URL бэкенда","backendUrlPlaceHolder":"URL бэкенда","brainUpdated":"Мозг успешно обновлен","configReset":"Настройки сброшены","configSaved":"Настройки сохранены","customPromptSection":"Пользовательский запрос","defaultBrainSet":"Мозг успешно установлен по умолчанию","descriptionRequired":"Описание обязательно","error":{"copy":"Не удалось скопировать","createApiKey":"Ошибка при создании API ключа"},"errorRemovingPrompt":"Ошибка при удалении запроса","incorrectApiKey":"Неверный ключ API","invalidApiKeyError":"Недействительный ключ API","invalidOpenAiKey":"Недействительный ключ OpenAI","keepInLocal":"Сохранить локально","knowledge":"Знания","maxTokens":"Максимальное количество токенов","modelLabel":"Модель","modelSection":"Настройки модели","nameRequired":"Имя обязательно","newAPIKey":"Создать новый ключ","noUser":"Пользователь не найден","ohno":"О нет!","openAiKeyLabel":"Ключ Open AI","openAiKeyPlaceholder":"sk-xxx","people":"Люди","promptContent":"Содержание запроса","promptContentPlaceholder":"Как искусственный интеллект, ваше...","promptFieldsRequired":"Название и содержание запроса обязательны","promptName":"Название запроса","promptNamePlaceholder":"Название моего потрясающего запроса","promptRemoved":"Запрос успешно удален","publicPrompts":"Выбрать из публичных запросов","removePrompt":"Удалить запрос","requireAccess":"Пожалуйста, запросите доступ у владельца.","roleRequired":"У вас нет необходимой роли для доступа к этой вкладке 🧠💡🥲.","selectQuivrPersonalityBtn":"Выберите личность Quivr","settings":"Настройки","signedInAs":"Вы вошли как","subtitle":"Управление вашим мозгом","supabaseKeyLabel":"Ключ Supabase","supabaseKeyPlaceHolder":"Ключ Supabase","supabaseURLLabel":"URL Supabase","supabaseURLPlaceHolder":"URL Supabase","temperature":"Температура","title":"Настройки","updatingBrainSettings":"Обновление настроек мозга..."} +{ + "accountSection": "Ваш аккаунт", + "anthropicKeyLabel": "Ключ Anthropic API", + "anthropicKeyPlaceholder": "Ключ Anthropic API", + "apiKey": "ключ API", + "backendSection": "Настройки бэкенда", + "backendUrlLabel": "URL бэкенда", + "backendUrlPlaceHolder": "URL бэкенда", + "brainUpdated": "Мозг успешно обновлен", + "configReset": "Настройки сброшены", + "configSaved": "Настройки сохранены", + "customPromptSection": "Пользовательский запрос", + "defaultBrainSet": "Мозг успешно установлен по умолчанию", + "descriptionRequired": "Описание обязательно", + "error": { + "copy": "Не удалось скопировать", + "createApiKey": "Ошибка при создании API ключа" + }, + "errorRemovingPrompt": "Ошибка при удалении запроса", + "incorrectApiKey": "Неверный ключ API", + "invalidApiKeyError": "Недействительный ключ API", + "invalidOpenAiKey": "Недействительный ключ OpenAI", + "keepInLocal": "Сохранить локально", + "knowledge": "Знания", + "maxTokens": "Максимальное количество токенов", + "modelLabel": "Модель", + "modelSection": "Настройки модели", + "nameRequired": "Имя обязательно", + "newAPIKey": "Создать новый ключ", + "noUser": "Пользователь не найден", + "ohno": "О нет!", + "openAiKeyLabel": "Ключ Open AI", + "openAiKeyPlaceholder": "sk-xxx", + "people": "Люди", + "promptContent": "Содержание запроса", + "promptContentPlaceholder": "Как искусственный интеллект, ваше...", + "promptFieldsRequired": "Название и содержание запроса обязательны", + "promptName": "Название запроса", + "promptNamePlaceholder": "Название моего потрясающего запроса", + "promptRemoved": "Запрос успешно удален", + "publicPrompts": "Выбрать из публичных запросов", + "removePrompt": "Удалить запрос", + "requireAccess": "Пожалуйста, запросите доступ у владельца.", + "roleRequired": "У вас нет необходимой роли для доступа к этой вкладке 🧠💡🥲.", + "selectQuivrPersonalityBtn": "Выберите личность Quivr", + "settings": "Настройки", + "signedInAs": "Вы вошли как", + "subtitle": "Управление вашим мозгом", + "supabaseKeyLabel": "Ключ Supabase", + "supabaseKeyPlaceHolder": "Ключ Supabase", + "supabaseURLLabel": "URL Supabase", + "supabaseURLPlaceHolder": "URL Supabase", + "temperature": "Температура", + "title": "Настройки", + "updatingBrainSettings": "Обновление настроек мозга..." +} diff --git a/frontend/public/locales/ru/contact.json b/frontend/public/locales/ru/contact.json index 4a1a43b8fade..90d93e58cd0e 100644 --- a/frontend/public/locales/ru/contact.json +++ b/frontend/public/locales/ru/contact.json @@ -1,14 +1,14 @@ { - "speak_to": "Говорите с нашим", - "sales_team": "коммерческим отделом", - "pricing": "Цены", - "form": { - "email": "Рабочий электронный адрес", - "question": "Вопрос", - "submit": "Контакт", - "placeholder_question": "Как мы можем вам помочь?", - "thank_you": "Спасибо!", - "thank_you_text": "Мы свяжемся с вами как можно скорее.", - "sending_mail_error": "При отправке вашего сообщения произошла ошибка. Пожалуйста, попробуйте еще раз позже." - } -} \ No newline at end of file + "speak_to": "Говорите с нашим", + "sales_team": "коммерческим отделом", + "pricing": "Цены", + "form": { + "email": "Рабочий электронный адрес", + "question": "Вопрос", + "submit": "Контакт", + "placeholder_question": "Как мы можем вам помочь?", + "thank_you": "Спасибо!", + "thank_you_text": "Мы свяжемся с вами как можно скорее.", + "sending_mail_error": "При отправке вашего сообщения произошла ошибка. Пожалуйста, попробуйте еще раз позже." + } +} diff --git a/frontend/public/locales/ru/deleteOrUnsubscribeFromBrain.json b/frontend/public/locales/ru/deleteOrUnsubscribeFromBrain.json index 6ec4c3fceec6..ce0279faa848 100644 --- a/frontend/public/locales/ru/deleteOrUnsubscribeFromBrain.json +++ b/frontend/public/locales/ru/deleteOrUnsubscribeFromBrain.json @@ -1,11 +1,11 @@ { - "deleteButton": "Удалить мозг", - "deleteConfirmQuestion": "Вы уверены, что хотите удалить этот мозг? Это действие нельзя отменить.", - "deleteConfirmYes": "Да, удалить этот мозг", - "returnButton": "Вернуться", - "unsubscribeButton": "Отписаться от мозга", - "unsubscribeConfirmQuestion": "Вы уверены, что хотите отписаться от этого мозга?", - "unsubscribeConfirmYes": "Да, отписаться от этого сознания", - "successfully_deleted": "Мозг успешно удален.", - "successfully_unsubscribed": "Вы успешно отписались от этого мозга." + "deleteButton": "Удалить мозг", + "deleteConfirmQuestion": "Вы уверены, что хотите удалить этот мозг? Это действие нельзя отменить.", + "deleteConfirmYes": "Да, удалить этот мозг", + "returnButton": "Вернуться", + "unsubscribeButton": "Отписаться от мозга", + "unsubscribeConfirmQuestion": "Вы уверены, что хотите отписаться от этого мозга?", + "unsubscribeConfirmYes": "Да, отписаться от этого сознания", + "successfully_deleted": "Мозг успешно удален.", + "successfully_unsubscribed": "Вы успешно отписались от этого мозга." } diff --git a/frontend/public/locales/ru/explore.json b/frontend/public/locales/ru/explore.json index 9db780970b42..0e1a1b3b6039 100644 --- a/frontend/public/locales/ru/explore.json +++ b/frontend/public/locales/ru/explore.json @@ -1 +1,15 @@ -{"title":"Исследовать загруженные данные","subtitle":"Просмотрите, загрузите или удалите знания, используемые вашим мозгом","empty":"О нет, ваш мозг пуст.","noBrain":"Мозг не найден","sessionNotFound":"Сессия пользователя не найдена","deleted":"{{fileName}} удален из мозга {{brain}}","errorDeleting":"Ошибка при удалении {{fileName}}","view":"Просмотреть","chunkNumber":"Количество частей: {{quantity}}","notAvailable":"Не доступно","deleteConfirmTitle":"Подтвердите","deleteConfirmText":"Вы действительно хотите удалить?","feed_brain_instructions":"Чтобы добавить знания в мозг, перейдите на страницу чата, затем нажмите на кнопку плюс слева от поля ввода чата."} +{ + "title": "Исследовать загруженные данные", + "subtitle": "Просмотрите, загрузите или удалите знания, используемые вашим мозгом", + "empty": "О нет, ваш мозг пуст.", + "noBrain": "Мозг не найден", + "sessionNotFound": "Сессия пользователя не найдена", + "deleted": "{{fileName}} удален из мозга {{brain}}", + "errorDeleting": "Ошибка при удалении {{fileName}}", + "view": "Просмотреть", + "chunkNumber": "Количество частей: {{quantity}}", + "notAvailable": "Не доступно", + "deleteConfirmTitle": "Подтвердите", + "deleteConfirmText": "Вы действительно хотите удалить?", + "feed_brain_instructions": "Чтобы добавить знания в мозг, перейдите на страницу чата, затем нажмите на кнопку плюс слева от поля ввода чата." +} diff --git a/frontend/public/locales/ru/external_api_definition.json b/frontend/public/locales/ru/external_api_definition.json index 09674405982d..aacac958029a 100644 --- a/frontend/public/locales/ru/external_api_definition.json +++ b/frontend/public/locales/ru/external_api_definition.json @@ -1 +1,14 @@ -{"method_label":"Method","url_placeholder":"URL","searchParams":"Search Params","headers":"Headers","params":"Params","key":"Key","type":"Type (string or number)","description":"Description","secrets":"секреты","paramsTabDescription":"Эти значения отправляются в теле запроса.","searchParamsTabDescription":"Эти значения отправляются в виде строки запроса.","secretsTabDescription":"Эти значения отправляются в виде ключей заголовка."} +{ + "method_label": "Method", + "url_placeholder": "URL", + "searchParams": "Search Params", + "headers": "Headers", + "params": "Params", + "key": "Key", + "type": "Type (string or number)", + "description": "Description", + "secrets": "секреты", + "paramsTabDescription": "Эти значения отправляются в теле запроса.", + "searchParamsTabDescription": "Эти значения отправляются в виде строки запроса.", + "secretsTabDescription": "Эти значения отправляются в виде ключей заголовка." +} diff --git a/frontend/public/locales/ru/home.json b/frontend/public/locales/ru/home.json index 2444f602f44f..0ddbddaca930 100644 --- a/frontend/public/locales/ru/home.json +++ b/frontend/public/locales/ru/home.json @@ -1,36 +1,36 @@ { - "sign_in": "Войти", - "sign_up": "Зарегистрироваться", - "docs": "Документация", - "pricing": "Цены", - "star_us": "Поставьте звезду на Github", - "blog": "Блог", - "sponsored_by": "Спонсируется", - "useCases": { - "title": "Попробуйте сейчас.", - "subtitle": "Посмотрите наш пример использования Quivr." - }, - "intro": { - "title": "Получите второй мозг с", - "subtitle": "Загрузите все ваши файлы и начните с ними общаться.", - "try_demo": "Попробовать бесплатную демонстрацию", - "contact_sales": "Свяжитесь с отделом продаж" - }, - "demo": { - "title": "Видео-демонстрация", - "start_now": "Начать сейчас" - }, - "security": { - "cta": "Начните сегодня" - }, - "footer": { - "title": "Начните сегодня", - "description_1": "Ваш личный помощник, действующий как ваш Второй Мозг.", - "description_2": "Просто загрузите свои файлы и задайте ему вопросы.", - "start_using": "Начать использовать Quivr", - "contact_sales": "Свяжитесь с отделом продаж" - }, - "testimonials": { - "title": "Что люди говорят о" - } -} \ No newline at end of file + "sign_in": "Войти", + "sign_up": "Зарегистрироваться", + "docs": "Документация", + "pricing": "Цены", + "star_us": "Поставьте звезду на Github", + "blog": "Блог", + "sponsored_by": "Спонсируется", + "useCases": { + "title": "Попробуйте сейчас.", + "subtitle": "Посмотрите наш пример использования Quivr." + }, + "intro": { + "title": "Получите второй мозг с", + "subtitle": "Загрузите все ваши файлы и начните с ними общаться.", + "try_demo": "Попробовать бесплатную демонстрацию", + "contact_sales": "Свяжитесь с отделом продаж" + }, + "demo": { + "title": "Видео-демонстрация", + "start_now": "Начать сейчас" + }, + "security": { + "cta": "Начните сегодня" + }, + "footer": { + "title": "Начните сегодня", + "description_1": "Ваш личный помощник, действующий как ваш Второй Мозг.", + "description_2": "Просто загрузите свои файлы и задайте ему вопросы.", + "start_using": "Начать использовать Quivr", + "contact_sales": "Свяжитесь с отделом продаж" + }, + "testimonials": { + "title": "Что люди говорят о" + } +} diff --git a/frontend/public/locales/ru/invitation.json b/frontend/public/locales/ru/invitation.json index c4f43f44359b..f8a8bfd118cd 100644 --- a/frontend/public/locales/ru/invitation.json +++ b/frontend/public/locales/ru/invitation.json @@ -1 +1,13 @@ -{"wellcome":"Добро пожаловать в {{brain}}!","invitationMessage":"Bac пригласили присоединиться к этому мозгу как {{role}} и начать исследование. Принимаете ли вы это захватывающее путешествие?","processingRequest":"Обработка вашего запроса...","accept":"Да, я согласен/согласна!","reject":"Нет, спасибо","invitationNotFound":"Это приглашение недействительно","errorCheckingInvitation":"Произошла ошибка при проверке приглашения","accepted":"Приглашение принято","errorAccepting":"Произошла ошибка при принятии приглашения","declined":"Приглашение отклонено","errorDeclining":"Произошла ошибка при отклонении приглашения"} +{ + "wellcome": "Добро пожаловать в {{brain}}!", + "invitationMessage": "Bac пригласили присоединиться к этому мозгу как {{role}} и начать исследование. Принимаете ли вы это захватывающее путешествие?", + "processingRequest": "Обработка вашего запроса...", + "accept": "Да, я согласен/согласна!", + "reject": "Нет, спасибо", + "invitationNotFound": "Это приглашение недействительно", + "errorCheckingInvitation": "Произошла ошибка при проверке приглашения", + "accepted": "Приглашение принято", + "errorAccepting": "Произошла ошибка при принятии приглашения", + "declined": "Приглашение отклонено", + "errorDeclining": "Произошла ошибка при отклонении приглашения" +} diff --git a/frontend/public/locales/ru/login.json b/frontend/public/locales/ru/login.json index 671ae003eef3..ba0630cecb6c 100644 --- a/frontend/public/locales/ru/login.json +++ b/frontend/public/locales/ru/login.json @@ -1,19 +1,19 @@ { - "password": "Пароль", - "googleLogin": "Продолжить с Google", - "azureLogin": "Продолжить с Azure", - "errorPasswordMissed": "Пожалуйста, введите свой пароль", - "magicLink": "Продолжить с электронной почтой", - "errorMailMissed": "Пожалуйста, введите ваш адрес электронной почты", - "talk_to": "Общение с", - "restriction_message": "Неоплаченным пользователям доступен бесплатный и ограниченный демонстрационный доступ к Quivr", - "email": "Адрес электронной почты", - "cant_find": "Не можете найти?", - "try_again": "Попробуйте еще раз", - "check_your_email": { - "part1": "Мы только что отправили вам ", - "magic_link": "волшебную ссылку", - "part2": ". Проверьте свою электронную почту и следуйте инструкциям." - }, - "login": "Войти" -} \ No newline at end of file + "password": "Пароль", + "googleLogin": "Продолжить с Google", + "azureLogin": "Продолжить с Azure", + "errorPasswordMissed": "Пожалуйста, введите свой пароль", + "magicLink": "Продолжить с электронной почтой", + "errorMailMissed": "Пожалуйста, введите ваш адрес электронной почты", + "talk_to": "Общение с", + "restriction_message": "Неоплаченным пользователям доступен бесплатный и ограниченный демонстрационный доступ к Quivr", + "email": "Адрес электронной почты", + "cant_find": "Не можете найти?", + "try_again": "Попробуйте еще раз", + "check_your_email": { + "part1": "Мы только что отправили вам ", + "magic_link": "волшебную ссылку", + "part2": ". Проверьте свою электронную почту и следуйте инструкциям." + }, + "login": "Войти" +} diff --git a/frontend/public/locales/ru/logout.json b/frontend/public/locales/ru/logout.json index 4054903b8871..4c8ce0df992f 100644 --- a/frontend/public/locales/ru/logout.json +++ b/frontend/public/locales/ru/logout.json @@ -1 +1,8 @@ -{"title":"Выход","subtitle":"Увидимся в следующий раз","areYouSure":"Вы уверены, что хотите выйти?","cancel":"Отмена","error":"Ошибка при выходе: {{errorMessage}}","loggedOut":"Успешный выход"} +{ + "title": "Выход", + "subtitle": "Увидимся в следующий раз", + "areYouSure": "Вы уверены, что хотите выйти?", + "cancel": "Отмена", + "error": "Ошибка при выходе: {{errorMessage}}", + "loggedOut": "Успешный выход" +} diff --git a/frontend/public/locales/ru/translation.json b/frontend/public/locales/ru/translation.json index e9d2b71288af..ebabec2af99e 100644 --- a/frontend/public/locales/ru/translation.json +++ b/frontend/public/locales/ru/translation.json @@ -1 +1,38 @@ -{"all":"Все","and":"и","cancel":"Отмена","Chat":"Чат","chatButton":"Чат","comingSoon":"Скоро","crawlButton":"Поиск","createButton":"Создать","deleteButton":"Удалить","deleteForeverButton":"Удалить навсегда","description":"Quivr - это ваш второй мозг в облаке, предназначенный для легкого хранения и извлечения неструктурированной информации.","doneButton":"Готово","Editor":"Редактор","email":"Email","Explore":"Исследовать","invalidUrl":"Неверный URL","lang":"ru-RU","languageSelect":"предпочтительный язык","loading":"Загрузка...","logoutButton":"Выйти","newChatButton":"Новый чат","next":"Далее","or":"или","Owner":"Владелец","previous":"Назад","resetButton":"Сбросить","saveButton":"Сохранить","shareButton":"Поделиться","themeSelect":"Тема интерфейса","title":"Quivr - Второй мозг с генеративным ИИ","toastDismiss":"закрыть","updateButton":"Обновить","Upload":"Загрузка","uploadButton":"Загрузить","uploadingButton":"Загрузка...","Viewer":"Просмотр"} +{ + "all": "Все", + "and": "и", + "cancel": "Отмена", + "Chat": "Чат", + "chatButton": "Чат", + "comingSoon": "Скоро", + "crawlButton": "Поиск", + "createButton": "Создать", + "deleteButton": "Удалить", + "deleteForeverButton": "Удалить навсегда", + "description": "Quivr - это ваш второй мозг в облаке, предназначенный для легкого хранения и извлечения неструктурированной информации.", + "doneButton": "Готово", + "Editor": "Редактор", + "email": "Email", + "Explore": "Исследовать", + "invalidUrl": "Неверный URL", + "lang": "ru-RU", + "languageSelect": "предпочтительный язык", + "loading": "Загрузка...", + "logoutButton": "Выйти", + "newChatButton": "Новый чат", + "next": "Далее", + "or": "или", + "Owner": "Владелец", + "previous": "Назад", + "resetButton": "Сбросить", + "saveButton": "Сохранить", + "shareButton": "Поделиться", + "themeSelect": "Тема интерфейса", + "title": "Quivr - Второй мозг с генеративным ИИ", + "toastDismiss": "закрыть", + "updateButton": "Обновить", + "Upload": "Загрузка", + "uploadButton": "Загрузить", + "uploadingButton": "Загрузка...", + "Viewer": "Просмотр" +} diff --git a/frontend/public/locales/ru/user.json b/frontend/public/locales/ru/user.json index 6b6e037f6cab..9477a2b9b655 100644 --- a/frontend/public/locales/ru/user.json +++ b/frontend/public/locales/ru/user.json @@ -1 +1,10 @@ -{"title":"Использование Мозга, который принадлежит {{user}}","fetching":"Получение ваших данных...","requestsCount":"Запросы сегодня: {{count}}","brainSize":"Оставшийся размер Мозга","empty":"Пусто","Used":"Использовано","Unused":"Не использовано","brainUsage":"Использование Мозга"} +{ + "title": "Использование Мозга, который принадлежит {{user}}", + "fetching": "Получение ваших данных...", + "requestsCount": "Запросы сегодня: {{count}}", + "brainSize": "Оставшийся размер Мозга", + "empty": "Пусто", + "Used": "Использовано", + "Unused": "Не использовано", + "brainUsage": "Использование Мозга" +} diff --git a/frontend/public/locales/zh-cn/config.json b/frontend/public/locales/zh-cn/config.json index 6e62e117c15f..622591d0bc64 100644 --- a/frontend/public/locales/zh-cn/config.json +++ b/frontend/public/locales/zh-cn/config.json @@ -1 +1,53 @@ -{"accountSection":"您的账户","anthropicKeyLabel":"Anthropic API 密钥","anthropicKeyPlaceholder":"Anthropic API 密钥","apiKey":"API 密钥","backendSection":"后台配置","backendUrlLabel":"后台 URL","backendUrlPlaceHolder":"后台 URL","brainUpdated":"大脑更新成功","configReset":"配置已重置","configSaved":"配置已保存","customPromptSection":"自定义提示","defaultBrainSet":"大脑已成功设置为默认值。","descriptionRequired":"描述为必填项","error":{"copy":"复制失败","createApiKey":"创建 API 密钥时出错"},"errorRemovingPrompt":"删除提示时出错","incorrectApiKey":"错误的 API 密钥","invalidApiKeyError":"无效的 API 密钥","invalidOpenAiKey":"无效的 OpenAI 密钥","keepInLocal":"保留在本地","knowledge":"知识","maxTokens":"最大 Token 数","modelLabel":"模型","modelSection":"模型配置","nameRequired":"名称为必填项","newAPIKey":"创建新 API 密钥","noUser":"没有用户","ohno":"哎呀!","openAiKeyLabel":"Open AI 密钥","openAiKeyPlaceholder":"sk-xxx","people":"成员","promptContent":"提示内容","promptContentPlaceholder":"作为一个人工智能,你…","promptFieldsRequired":"提示标题和内容为必填项","promptName":"提示标题","promptNamePlaceholder":"特别棒的提示名称","promptRemoved":"成功删除提示","publicPrompts":"在公共提示中选择","removePrompt":"删除提示","requireAccess":"请向所有者申请访问权限.","roleRequired":"您没有访问此选项卡所需的权限 🧠💡🥲.","selectQuivrPersonalityBtn":"选择 Quivr 的性格","settings":"设置","signedInAs":"已登录为","subtitle":"管理大脑","supabaseKeyLabel":"Supabase 密钥","supabaseKeyPlaceHolder":"Supabase 密钥","supabaseURLLabel":"Supabase URL","supabaseURLPlaceHolder":"Supabase URL","temperature":"温度","title":"配置","updatingBrainSettings":"更新大脑设置中…"} +{ + "accountSection": "您的账户", + "anthropicKeyLabel": "Anthropic API 密钥", + "anthropicKeyPlaceholder": "Anthropic API 密钥", + "apiKey": "API 密钥", + "backendSection": "后台配置", + "backendUrlLabel": "后台 URL", + "backendUrlPlaceHolder": "后台 URL", + "brainUpdated": "大脑更新成功", + "configReset": "配置已重置", + "configSaved": "配置已保存", + "customPromptSection": "自定义提示", + "defaultBrainSet": "大脑已成功设置为默认值。", + "descriptionRequired": "描述为必填项", + "error": { "copy": "复制失败", "createApiKey": "创建 API 密钥时出错" }, + "errorRemovingPrompt": "删除提示时出错", + "incorrectApiKey": "错误的 API 密钥", + "invalidApiKeyError": "无效的 API 密钥", + "invalidOpenAiKey": "无效的 OpenAI 密钥", + "keepInLocal": "保留在本地", + "knowledge": "知识", + "maxTokens": "最大 Token 数", + "modelLabel": "模型", + "modelSection": "模型配置", + "nameRequired": "名称为必填项", + "newAPIKey": "创建新 API 密钥", + "noUser": "没有用户", + "ohno": "哎呀!", + "openAiKeyLabel": "Open AI 密钥", + "openAiKeyPlaceholder": "sk-xxx", + "people": "成员", + "promptContent": "提示内容", + "promptContentPlaceholder": "作为一个人工智能,你…", + "promptFieldsRequired": "提示标题和内容为必填项", + "promptName": "提示标题", + "promptNamePlaceholder": "特别棒的提示名称", + "promptRemoved": "成功删除提示", + "publicPrompts": "在公共提示中选择", + "removePrompt": "删除提示", + "requireAccess": "请向所有者申请访问权限.", + "roleRequired": "您没有访问此选项卡所需的权限 🧠💡🥲.", + "selectQuivrPersonalityBtn": "选择 Quivr 的性格", + "settings": "设置", + "signedInAs": "已登录为", + "subtitle": "管理大脑", + "supabaseKeyLabel": "Supabase 密钥", + "supabaseKeyPlaceHolder": "Supabase 密钥", + "supabaseURLLabel": "Supabase URL", + "supabaseURLPlaceHolder": "Supabase URL", + "temperature": "温度", + "title": "配置", + "updatingBrainSettings": "更新大脑设置中…" +} diff --git a/frontend/public/locales/zh-cn/contact.json b/frontend/public/locales/zh-cn/contact.json index 46fb4de89c0f..c2a761a40265 100644 --- a/frontend/public/locales/zh-cn/contact.json +++ b/frontend/public/locales/zh-cn/contact.json @@ -1,14 +1,14 @@ { - "speak_to": "联系我们的", - "sales_team": "销售团队", - "pricing": "定价", - "form": { - "email": "工作电子邮件", - "question": "问题", - "submit": "联系我们", - "placeholder_question": "我们如何帮助您?", - "thank_you": "谢谢!", - "thank_you_text": "我们会尽快回复您。", - "sending_mail_error": "发送消息时出错。请稍后再试。" - } -} \ No newline at end of file + "speak_to": "联系我们的", + "sales_team": "销售团队", + "pricing": "定价", + "form": { + "email": "工作电子邮件", + "question": "问题", + "submit": "联系我们", + "placeholder_question": "我们如何帮助您?", + "thank_you": "谢谢!", + "thank_you_text": "我们会尽快回复您。", + "sending_mail_error": "发送消息时出错。请稍后再试。" + } +} diff --git a/frontend/public/locales/zh-cn/deleteOrUnsubscribeFromBrain.json b/frontend/public/locales/zh-cn/deleteOrUnsubscribeFromBrain.json index cfc0960af9e4..ff049a35c720 100644 --- a/frontend/public/locales/zh-cn/deleteOrUnsubscribeFromBrain.json +++ b/frontend/public/locales/zh-cn/deleteOrUnsubscribeFromBrain.json @@ -8,4 +8,4 @@ "unsubscribeConfirmYes": "是的,取消订阅此大脑", "successfully_deleted": "大脑已成功删除。", "successfully_unsubscribed": "您已成功取消订阅此大脑。" -} \ No newline at end of file +} diff --git a/frontend/public/locales/zh-cn/explore.json b/frontend/public/locales/zh-cn/explore.json index 58ec884ba808..9add3a649302 100644 --- a/frontend/public/locales/zh-cn/explore.json +++ b/frontend/public/locales/zh-cn/explore.json @@ -1 +1,15 @@ -{"title":"探索上传的数据","subtitle":"查看、下载或删除大脑使用的知识","empty":"哎呀,大脑空空如也。","noBrain":"没有找到相应 ID 的大脑","sessionNotFound":"未找到用户会话","deleted":"{{fileName}} 已从大脑 {{brain}} 中删除。","errorDeleting":"删除 {{fileName}} 时发生错误","view":"查看","chunkNumber":"数据块数量: {{quantity}}","notAvailable":"不可用","deleteConfirmTitle":"提交","deleteConfirmText":"您真的要删除吗?","feed_brain_instructions":"要向大脑添加知识,请转到聊天页面,然后单击聊天输入框左侧的加号按钮。"} +{ + "title": "探索上传的数据", + "subtitle": "查看、下载或删除大脑使用的知识", + "empty": "哎呀,大脑空空如也。", + "noBrain": "没有找到相应 ID 的大脑", + "sessionNotFound": "未找到用户会话", + "deleted": "{{fileName}} 已从大脑 {{brain}} 中删除。", + "errorDeleting": "删除 {{fileName}} 时发生错误", + "view": "查看", + "chunkNumber": "数据块数量: {{quantity}}", + "notAvailable": "不可用", + "deleteConfirmTitle": "提交", + "deleteConfirmText": "您真的要删除吗?", + "feed_brain_instructions": "要向大脑添加知识,请转到聊天页面,然后单击聊天输入框左侧的加号按钮。" +} diff --git a/frontend/public/locales/zh-cn/external_api_definition.json b/frontend/public/locales/zh-cn/external_api_definition.json index bf7fe64cf68e..0b7b8c4c28c1 100644 --- a/frontend/public/locales/zh-cn/external_api_definition.json +++ b/frontend/public/locales/zh-cn/external_api_definition.json @@ -1 +1,14 @@ -{"method_label":"Method","url_placeholder":"URL","searchParams":"Search Params","headers":"Headers","params":"Params","key":"Key","type":"Type (string or number)","description":"Description","secrets":"秘密","paramsTabDescription":"这些值作为请求体发送。","searchParamsTabDescription":"这些值作为查询字符串发送。","secretsTabDescription":"这些值作为头部键发送。"} +{ + "method_label": "Method", + "url_placeholder": "URL", + "searchParams": "Search Params", + "headers": "Headers", + "params": "Params", + "key": "Key", + "type": "Type (string or number)", + "description": "Description", + "secrets": "秘密", + "paramsTabDescription": "这些值作为请求体发送。", + "searchParamsTabDescription": "这些值作为查询字符串发送。", + "secretsTabDescription": "这些值作为头部键发送。" +} diff --git a/frontend/public/locales/zh-cn/home.json b/frontend/public/locales/zh-cn/home.json index c8c3d91c4735..85f52425001b 100644 --- a/frontend/public/locales/zh-cn/home.json +++ b/frontend/public/locales/zh-cn/home.json @@ -1,36 +1,36 @@ { - "sign_in": "登录", - "docs": "文档", - "pricing": "定价", - "sign_up": "注册", - "star_us": "Github 星标我们", - "blog": "博客", - "sponsored_by": "赞助商", - "useCases": { - "title": "立刻体验", - "subtitle": "查看我们的示例,了解如何使用 Quivr" - }, - "intro": { - "title": "拥有第二大脑,只需", - "subtitle": "上传您的所有文件,直接与它们对话。", - "try_demo": "免费试用演示", - "contact_sales": "联系销售团队" - }, - "demo": { - "title": "演示视频", - "start_now": "立即开始" - }, - "security": { - "cta": "立即开始" - }, - "footer": { - "title": "立即开始", - "description_1": "您的个人助理,充当您的第二大脑", - "description_2": "只需上传您的文件,然后向其提问", - "start_using": "开始使用 Quivr", - "contact_sales": "联系销售团队" - }, - "testimonials": { - "title": "用户评价" - } -} \ No newline at end of file + "sign_in": "登录", + "docs": "文档", + "pricing": "定价", + "sign_up": "注册", + "star_us": "Github 星标我们", + "blog": "博客", + "sponsored_by": "赞助商", + "useCases": { + "title": "立刻体验", + "subtitle": "查看我们的示例,了解如何使用 Quivr" + }, + "intro": { + "title": "拥有第二大脑,只需", + "subtitle": "上传您的所有文件,直接与它们对话。", + "try_demo": "免费试用演示", + "contact_sales": "联系销售团队" + }, + "demo": { + "title": "演示视频", + "start_now": "立即开始" + }, + "security": { + "cta": "立即开始" + }, + "footer": { + "title": "立即开始", + "description_1": "您的个人助理,充当您的第二大脑", + "description_2": "只需上传您的文件,然后向其提问", + "start_using": "开始使用 Quivr", + "contact_sales": "联系销售团队" + }, + "testimonials": { + "title": "用户评价" + } +} diff --git a/frontend/public/locales/zh-cn/invitation.json b/frontend/public/locales/zh-cn/invitation.json index 25da8548cabc..ba64a21385d1 100644 --- a/frontend/public/locales/zh-cn/invitation.json +++ b/frontend/public/locales/zh-cn/invitation.json @@ -1 +1,13 @@ -{"wellcome":"欢迎来到 {{brain}}!","invitationMessage":"您被邀请以 {{role}} 的身份加入和探索这个大脑,是否接受邀请?","processingRequest":"正在处理您的请求…","accept":"是的,我加入!","reject":"不,谢谢。","invitationNotFound":"此邀请无效。","errorCheckingInvitation":"检查邀请时出现未知错误","accepted":"已接受邀请","errorAccepting":"接受邀请时发生未知错误","declined":"邀请已拒绝","errorDeclining":"拒绝邀请时发生未知错误"} +{ + "wellcome": "欢迎来到 {{brain}}!", + "invitationMessage": "您被邀请以 {{role}} 的身份加入和探索这个大脑,是否接受邀请?", + "processingRequest": "正在处理您的请求…", + "accept": "是的,我加入!", + "reject": "不,谢谢。", + "invitationNotFound": "此邀请无效。", + "errorCheckingInvitation": "检查邀请时出现未知错误", + "accepted": "已接受邀请", + "errorAccepting": "接受邀请时发生未知错误", + "declined": "邀请已拒绝", + "errorDeclining": "拒绝邀请时发生未知错误" +} diff --git a/frontend/public/locales/zh-cn/login.json b/frontend/public/locales/zh-cn/login.json index 3cbf0d4afc4e..b9923e812421 100644 --- a/frontend/public/locales/zh-cn/login.json +++ b/frontend/public/locales/zh-cn/login.json @@ -1,19 +1,19 @@ { - "password": "密码", - "googleLogin": "使用Google登录", - "azureLogin": "使用Azure登录", - "errorPasswordMissed": "请输入密码", - "magicLink": "使用电子邮件继续", - "errorMailMissed": "请输入您的电子邮件地址", - "talk_to": "与之交谈", - "restriction_message": "未付费用户可以访问Quivr的免费和有限演示", - "email": "电子邮件地址", - "cant_find": "找不到?", - "try_again": "重试", - "check_your_email": { - "part1": "我们刚刚发送了一个", - "magic_link": "魔法链接", - "part2": ",请检查您的电子邮件并按照步骤操作。" - }, - "login": "登录" -} \ No newline at end of file + "password": "密码", + "googleLogin": "使用Google登录", + "azureLogin": "使用Azure登录", + "errorPasswordMissed": "请输入密码", + "magicLink": "使用电子邮件继续", + "errorMailMissed": "请输入您的电子邮件地址", + "talk_to": "与之交谈", + "restriction_message": "未付费用户可以访问Quivr的免费和有限演示", + "email": "电子邮件地址", + "cant_find": "找不到?", + "try_again": "重试", + "check_your_email": { + "part1": "我们刚刚发送了一个", + "magic_link": "魔法链接", + "part2": ",请检查您的电子邮件并按照步骤操作。" + }, + "login": "登录" +} diff --git a/frontend/public/locales/zh-cn/logout.json b/frontend/public/locales/zh-cn/logout.json index f86011bd3c64..b915430e710f 100644 --- a/frontend/public/locales/zh-cn/logout.json +++ b/frontend/public/locales/zh-cn/logout.json @@ -1 +1,8 @@ -{"title":"登出","subtitle":"下次见","areYouSure":"是否确实要登出?","cancel":"取消","error":"登出时出错 {{errorMessage}}","loggedOut":"登出成功"} +{ + "title": "登出", + "subtitle": "下次见", + "areYouSure": "是否确实要登出?", + "cancel": "取消", + "error": "登出时出错 {{errorMessage}}", + "loggedOut": "登出成功" +} diff --git a/frontend/public/locales/zh-cn/translation.json b/frontend/public/locales/zh-cn/translation.json index 341a29f4beea..9f879416d206 100644 --- a/frontend/public/locales/zh-cn/translation.json +++ b/frontend/public/locales/zh-cn/translation.json @@ -1 +1,38 @@ -{"all":"全部","and":"和","cancel":"取消","Chat":"聊天","chatButton":"聊天","comingSoon":"即将推出","crawlButton":"爬取","createButton":"创建","deleteButton":"删除","deleteForeverButton":"永久删除","description":"Quivr 是您在云中的第二个大脑,让您轻松存储和检索非结构化信息。","doneButton":"完成","Editor":"编辑","email":"电子邮件","Explore":"探索","invalidUrl":"无效的 URL","lang":"zh-CN","languageSelect":"首选语言","loading":"加载中…","logoutButton":"登出","newChatButton":"新聊天","next":"下一个","or":"或","Owner":"作者","previous":"上一个","resetButton":"重置","saveButton":"保存","shareButton":"分享","themeSelect":"主题","title":"Quivr - 通过生成式人工智能获得第二个大脑","toastDismiss":"好的","updateButton":"更新","Upload":"上传","uploadButton":"上传","uploadingButton":"上传中…","Viewer":"查看"} +{ + "all": "全部", + "and": "和", + "cancel": "取消", + "Chat": "聊天", + "chatButton": "聊天", + "comingSoon": "即将推出", + "crawlButton": "爬取", + "createButton": "创建", + "deleteButton": "删除", + "deleteForeverButton": "永久删除", + "description": "Quivr 是您在云中的第二个大脑,让您轻松存储和检索非结构化信息。", + "doneButton": "完成", + "Editor": "编辑", + "email": "电子邮件", + "Explore": "探索", + "invalidUrl": "无效的 URL", + "lang": "zh-CN", + "languageSelect": "首选语言", + "loading": "加载中…", + "logoutButton": "登出", + "newChatButton": "新聊天", + "next": "下一个", + "or": "或", + "Owner": "作者", + "previous": "上一个", + "resetButton": "重置", + "saveButton": "保存", + "shareButton": "分享", + "themeSelect": "主题", + "title": "Quivr - 通过生成式人工智能获得第二个大脑", + "toastDismiss": "好的", + "updateButton": "更新", + "Upload": "上传", + "uploadButton": "上传", + "uploadingButton": "上传中…", + "Viewer": "查看" +} diff --git a/frontend/public/locales/zh-cn/user.json b/frontend/public/locales/zh-cn/user.json index 84b3d691d48a..f96207c43cf2 100644 --- a/frontend/public/locales/zh-cn/user.json +++ b/frontend/public/locales/zh-cn/user.json @@ -1 +1,10 @@ -{"title":"{{user}} 的大脑使用情况","fetching":"获取数据中…","requestsCount":"今日请求数:{{count}}","brainSize":"剩余大脑容量","empty":"空","Used":"已使用","Unused":"未使用","brainUsage":"大脑使用情况"} +{ + "title": "{{user}} 的大脑使用情况", + "fetching": "获取数据中…", + "requestsCount": "今日请求数:{{count}}", + "brainSize": "剩余大脑容量", + "empty": "空", + "Used": "已使用", + "Unused": "未使用", + "brainUsage": "大脑使用情况" +} diff --git a/frontend/sentry.client.config.ts b/frontend/sentry.client.config.ts index bf9014d589a0..538fc4201c0c 100644 --- a/frontend/sentry.client.config.ts +++ b/frontend/sentry.client.config.ts @@ -4,36 +4,12 @@ import * as Sentry from "@sentry/nextjs"; -// Get the DSN from the environment variable -const SENTRY_DSN = process.env.NEXT_PUBLIC_SENTRY_DSN; +Sentry.init({ + dsn: "https://72a7c912afdebb4d976815dd8af9b22c@o4505455578316800.ingest.us.sentry.io/4508069193711616", -// Only initialize Sentry if the DSN is set -if (SENTRY_DSN) { - Sentry.init({ - dsn: SENTRY_DSN, + // Define how likely traces are sampled. Adjust this value in production, or use tracesSampler for greater control. + tracesSampleRate: 0.1, - // Adjust this value in production, or use tracesSampler for greater control - sampleRate: 0.1, - tracesSampleRate: 0.1, - - // Setting this option to true will print useful information to the console while you're setting up Sentry. - debug: false, - - replaysOnErrorSampleRate: 0.1, - - // This sets the sample rate to be 10%. You may want this to be 100% while - // in development and sample at a lower rate in production - replaysSessionSampleRate: 0.1, - - // You can remove this option if you're not planning to use the Sentry Session Replay feature: - integrations: [ - new Sentry.Replay({ - // Additional Replay configuration goes in here, for example: - maskAllText: true, - blockAllMedia: true, - }), - ], - }); -} else { - console.log("Sentry is not initialized as SENTRY_DSN is not set"); -} + // Setting this option to true will print useful information to the console while you're setting up Sentry. + debug: false, +}); diff --git a/frontend/sentry.edge.config.ts b/frontend/sentry.edge.config.ts index 4aecc9aad035..28e333ba0ce2 100644 --- a/frontend/sentry.edge.config.ts +++ b/frontend/sentry.edge.config.ts @@ -1,22 +1,17 @@ -import * as Sentry from "@sentry/nextjs"; +// This file configures the initialization of Sentry for edge features (middleware, edge routes, and so on). +// The config you add here will be used whenever one of the edge features is loaded. +// Note that this config is unrelated to the Vercel Edge Runtime and is also required when running locally. +// https://docs.sentry.io/platforms/javascript/guides/nextjs/ -// Get the DSN from the environment variable -const SENTRY_DSN = process.env.NEXT_PUBLIC_SENTRY_DSN; +import * as Sentry from "@sentry/nextjs"; -// Only initialize Sentry if the DSN is set -if (SENTRY_DSN) { - Sentry.init({ - dsn: SENTRY_DSN, +Sentry.init({ + dsn: "https://72a7c912afdebb4d976815dd8af9b22c@o4505455578316800.ingest.us.sentry.io/4508069193711616", - // Adjust this value in production, or use tracesSampler for greater control - tracesSampleRate: 0.05, - sampleRate: 0.05, + // Define how likely traces are sampled. Adjust this value in production, or use tracesSampler for greater control. + tracesSampleRate: 0.05, + sampleRate: 0.05, - // Setting this option to true will print useful information to the console while you're setting up Sentry. - debug: false, - }); -} else { - console.log( - "Sentry is not initialized on the server as SENTRY_DSN is not set" - ); -} + // Setting this option to true will print useful information to the console while you're setting up Sentry. + debug: false, +}); diff --git a/frontend/sentry.server.config.ts b/frontend/sentry.server.config.ts index a8b8719a7eb0..765af2ffe5b5 100644 --- a/frontend/sentry.server.config.ts +++ b/frontend/sentry.server.config.ts @@ -1,22 +1,16 @@ -import * as Sentry from "@sentry/nextjs"; +// This file configures the initialization of Sentry on the server. +// The config you add here will be used whenever the server handles a request. +// https://docs.sentry.io/platforms/javascript/guides/nextjs/ -// Get the DSN from the environment variable -const SENTRY_DSN = process.env.NEXT_PUBLIC_SENTRY_DSN; +import * as Sentry from "@sentry/nextjs"; -// Only initialize Sentry if the DSN is set -if (SENTRY_DSN) { - Sentry.init({ - dsn: SENTRY_DSN, +Sentry.init({ + dsn: "https://72a7c912afdebb4d976815dd8af9b22c@o4505455578316800.ingest.us.sentry.io/4508069193711616", - // Adjust this value in production, or use tracesSampler for greater control - tracesSampleRate: 0.1, - sampleRate: 0.1, + // Define how likely traces are sampled. Adjust this value in production, or use tracesSampler for greater control. + tracesSampleRate: 0.1, + sampleRate: 0.1, - // Setting this option to true will print useful information to the console while you're setting up Sentry. - debug: false, - }); -} else { - console.log( - "Sentry is not initialized on the server as SENTRY_DSN is not set" - ); -} + // Setting this option to true will print useful information to the console while you're setting up Sentry. + debug: false, +}); diff --git a/frontend/styles/_Spacings.module.scss b/frontend/styles/_Spacings.module.scss index d9b85a51da2d..3a2e7dceb1e2 100644 --- a/frontend/styles/_Spacings.module.scss +++ b/frontend/styles/_Spacings.module.scss @@ -9,4 +9,4 @@ $spacing08: 2.5rem; $spacing09: 3rem; $spacing10: 4rem; $spacing11: 5rem; -$spacing12: 6rem; \ No newline at end of file +$spacing12: 6rem; diff --git a/frontend/tsconfig.eslint.json b/frontend/tsconfig.eslint.json index 99400ba6e6f3..ef2ae2ceec25 100644 --- a/frontend/tsconfig.eslint.json +++ b/frontend/tsconfig.eslint.json @@ -17,7 +17,7 @@ "strictNullChecks": true, "target": "esnext", "types": ["node", "vitest/globals"], - "lib": ["dom", "dom.iterable","es2020"], + "lib": ["dom", "dom.iterable", "es2020"], "noUnusedLocals": true, "noUnusedParameters": true, "sourceMap": true, @@ -31,7 +31,7 @@ } ], "paths": { - "@/*": ["./*"], + "@/*": ["./*"] } }, "ts-node": { diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index 90c054af12f7..d09d44fabcf9 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -1,11 +1,7 @@ { "compilerOptions": { "baseUrl": ".", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], + "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, "skipLibCheck": true, "strict": true, @@ -25,21 +21,10 @@ ], "strictNullChecks": true, "paths": { - "@/*": [ - "./*" - ], - "@/styles/*": [ - "styles/*" - ] + "@/*": ["./*"], + "@/styles/*": ["styles/*"] } }, - "include": [ - "next-env.d.ts", - ".next/types/**/*.ts", - "**/*.ts", - "**/*.tsx" - ], - "exclude": [ - "node_modules" - ] -} \ No newline at end of file + "include": ["next-env.d.ts", ".next/types/**/*.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/frontend/yarn.lock b/frontend/yarn.lock index b993d6c9f699..11ebc110d165 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -33,11 +33,45 @@ "@babel/highlight" "^7.23.4" chalk "^2.4.2" +"@babel/code-frame@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.25.7.tgz#438f2c524071531d643c6f0188e1e28f130cebc7" + integrity sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g== + dependencies: + "@babel/highlight" "^7.25.7" + picocolors "^1.0.0" + "@babel/compat-data@^7.22.9": version "7.22.9" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz" integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== +"@babel/compat-data@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.7.tgz#b8479fe0018ef0ac87b6b7a5c6916fcd67ae2c9c" + integrity sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw== + +"@babel/core@^7.18.5": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.7.tgz#1b3d144157575daf132a3bc80b2b18e6e3ca6ece" + integrity sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helpers" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/template" "^7.25.7" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.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/core@^7.22.9": version "7.22.9" resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz" @@ -69,6 +103,16 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.7.tgz#de86acbeb975a3e11ee92dd52223e6b03b479c56" + integrity sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA== + dependencies: + "@babel/types" "^7.25.7" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" + "@babel/helper-compilation-targets@^7.22.9": version "7.22.9" resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz" @@ -80,6 +124,17 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-compilation-targets@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz#11260ac3322dda0ef53edfae6e97b961449f5fa4" + integrity sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A== + dependencies: + "@babel/compat-data" "^7.25.7" + "@babel/helper-validator-option" "^7.25.7" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + "@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": version "7.22.20" resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" @@ -107,6 +162,14 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-module-imports@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz#dba00d9523539152906ba49263e36d7261040472" + integrity sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/helper-module-transforms@^7.22.9": version "7.22.9" resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz" @@ -118,6 +181,16 @@ "@babel/helper-split-export-declaration" "^7.22.6" "@babel/helper-validator-identifier" "^7.22.5" +"@babel/helper-module-transforms@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz#2ac9372c5e001b19bc62f1fe7d96a18cb0901d1a" + integrity sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ== + dependencies: + "@babel/helper-module-imports" "^7.25.7" + "@babel/helper-simple-access" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + "@babel/traverse" "^7.25.7" + "@babel/helper-plugin-utils@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" @@ -130,6 +203,14 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-simple-access@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz#5eb9f6a60c5d6b2e0f76057004f8dacbddfae1c0" + integrity sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/helper-split-export-declaration@^7.22.6": version "7.22.6" resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" @@ -142,16 +223,31 @@ resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz" integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== +"@babel/helper-string-parser@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz#d50e8d37b1176207b4fe9acedec386c565a44a54" + integrity sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g== + "@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.22.5": version "7.22.20" resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== +"@babel/helper-validator-identifier@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz#77b7f60c40b15c97df735b38a66ba1d7c3e93da5" + integrity sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg== + "@babel/helper-validator-option@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz" integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== +"@babel/helper-validator-option@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz#97d1d684448228b30b506d90cace495d6f492729" + integrity sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ== + "@babel/helpers@^7.22.6": version "7.22.6" resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz" @@ -161,6 +257,14 @@ "@babel/traverse" "^7.22.6" "@babel/types" "^7.22.5" +"@babel/helpers@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.7.tgz#091b52cb697a171fe0136ab62e54e407211f09c2" + integrity sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA== + dependencies: + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/highlight@^7.23.4": version "7.23.4" resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" @@ -170,11 +274,28 @@ chalk "^2.4.2" js-tokens "^4.0.0" +"@babel/highlight@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.7.tgz#20383b5f442aa606e7b5e3043b0b1aafe9f37de5" + integrity sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw== + dependencies: + "@babel/helper-validator-identifier" "^7.25.7" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/parser@^7.22.7", "@babel/parser@^7.23.9": version "7.23.9" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz" integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== +"@babel/parser@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.7.tgz#99b927720f4ddbfeb8cd195a363ed4532f87c590" + integrity sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw== + dependencies: + "@babel/types" "^7.25.7" + "@babel/plugin-transform-react-jsx-self@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz" @@ -205,6 +326,15 @@ "@babel/parser" "^7.23.9" "@babel/types" "^7.23.9" +"@babel/template@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.7.tgz#27f69ce382855d915b14ab0fe5fb4cbf88fa0769" + integrity sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/traverse@^7.22.6", "@babel/traverse@^7.22.8": version "7.23.9" resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz" @@ -221,6 +351,19 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.7.tgz#83e367619be1cab8e4f2892ef30ba04c26a40fa8" + integrity sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.23.9": version "7.23.9" resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz" @@ -230,6 +373,15 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@babel/types@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.7.tgz#1b7725c1d3a59f328cb700ce704c46371e6eef9b" + integrity sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ== + dependencies: + "@babel/helper-string-parser" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + to-fast-properties "^2.0.0" + "@corex/deepmerge@^4.0.43": version "4.0.43" resolved "https://registry.npmjs.org/@corex/deepmerge/-/deepmerge-4.0.43.tgz" @@ -596,26 +748,50 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + 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" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + "@jridgewell/resolve-uri@3.1.0": version "3.1.0" resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== +"@jridgewell/resolve-uri@^3.1.0": + 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.0.1": version "1.1.2" resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + 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.14": version "1.4.14" resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.15": +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.15": version "1.4.15" resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": version "0.3.18" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz" @@ -624,6 +800,14 @@ "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + 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" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@june-so/analytics-next@2.0.0": version "2.0.0" resolved "https://registry.npmjs.org/@june-so/analytics-next/-/analytics-next-2.0.0.tgz" @@ -760,6 +944,293 @@ dependencies: semver "^7.3.5" +"@opentelemetry/api-logs@0.52.1": + version "0.52.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.52.1.tgz#52906375da4d64c206b0c4cb8ffa209214654ecc" + integrity sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A== + dependencies: + "@opentelemetry/api" "^1.0.0" + +"@opentelemetry/api-logs@0.53.0": + version "0.53.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.53.0.tgz#c478cbd8120ec2547b64edfa03a552cfe42170be" + integrity sha512-8HArjKx+RaAI8uEIgcORbZIPklyh1YLjPSBus8hjRmvLi6DeFzgOcdZ7KwPabKj8mXF8dX0hyfAyGfycz0DbFw== + dependencies: + "@opentelemetry/api" "^1.0.0" + +"@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.8", "@opentelemetry/api@^1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.9.0.tgz#d03eba68273dc0f7509e2a3d5cba21eae10379fe" + integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg== + +"@opentelemetry/context-async-hooks@^1.25.1": + version "1.26.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-1.26.0.tgz#fa92f722cf685685334bba95f258d3ef9fce60f6" + integrity sha512-HedpXXYzzbaoutw6DFLWLDket2FwLkLpil4hGCZ1xYEIMTcivdfwEOISgdbLEWyG3HW52gTq2V9mOVJrONgiwg== + +"@opentelemetry/core@1.26.0", "@opentelemetry/core@^1.1.0", "@opentelemetry/core@^1.25.1", "@opentelemetry/core@^1.8.0": + version "1.26.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.26.0.tgz#7d84265aaa850ed0ca5813f97d831155be42b328" + integrity sha512-1iKxXXE8415Cdv0yjG3G6hQnB5eVEsJce3QaawX8SjDn0mAS0ZM8fAbZZJD4ajvhC15cePvosSCut404KrIIvQ== + dependencies: + "@opentelemetry/semantic-conventions" "1.27.0" + +"@opentelemetry/instrumentation-amqplib@^0.42.0": + version "0.42.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-amqplib/-/instrumentation-amqplib-0.42.0.tgz#b3cab5a7207736a30d769962eed3af3838f986c4" + integrity sha512-fiuU6OKsqHJiydHWgTRQ7MnIrJ2lEqsdgFtNIH4LbAUJl/5XmrIeoDzDnox+hfkgWK65jsleFuQDtYb5hW1koQ== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + +"@opentelemetry/instrumentation-connect@0.39.0": + version "0.39.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.39.0.tgz#32bdbaac464cba061c95df6c850ee81efdd86f8b" + integrity sha512-pGBiKevLq7NNglMgqzmeKczF4XQMTOUOTkK8afRHMZMnrK3fcETyTH7lVaSozwiOM3Ws+SuEmXZT7DYrrhxGlg== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + "@types/connect" "3.4.36" + +"@opentelemetry/instrumentation-dataloader@0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-dataloader/-/instrumentation-dataloader-0.12.0.tgz#de03a3948dec4f15fed80aa424d6bd5d6a8d10c7" + integrity sha512-pnPxatoFE0OXIZDQhL2okF//dmbiWFzcSc8pUg9TqofCLYZySSxDCgQc69CJBo5JnI3Gz1KP+mOjS4WAeRIH4g== + dependencies: + "@opentelemetry/instrumentation" "^0.53.0" + +"@opentelemetry/instrumentation-express@0.42.0": + version "0.42.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-express/-/instrumentation-express-0.42.0.tgz#279f195aa66baee2b98623a16666c6229c8e7564" + integrity sha512-YNcy7ZfGnLsVEqGXQPT+S0G1AE46N21ORY7i7yUQyfhGAL4RBjnZUqefMI0NwqIl6nGbr1IpF0rZGoN8Q7x12Q== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + +"@opentelemetry/instrumentation-fastify@0.39.0": + version "0.39.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.39.0.tgz#96a040e4944daf77c53a8fe5a128bc3b2568e4aa" + integrity sha512-SS9uSlKcsWZabhBp2szErkeuuBDgxOUlllwkS92dVaWRnMmwysPhcEgHKB8rUe3BHg/GnZC1eo1hbTZv4YhfoA== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + +"@opentelemetry/instrumentation-fs@0.15.0": + version "0.15.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.15.0.tgz#41658507860f39fee5209bca961cea8d24ca2a83" + integrity sha512-JWVKdNLpu1skqZQA//jKOcKdJC66TWKqa2FUFq70rKohvaSq47pmXlnabNO+B/BvLfmidfiaN35XakT5RyMl2Q== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.53.0" + +"@opentelemetry/instrumentation-generic-pool@0.39.0": + version "0.39.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-generic-pool/-/instrumentation-generic-pool-0.39.0.tgz#2b9af16ad82d5cbe67125c0125753cecd162a728" + integrity sha512-y4v8Y+tSfRB3NNBvHjbjrn7rX/7sdARG7FuK6zR8PGb28CTa0kHpEGCJqvL9L8xkTNvTXo+lM36ajFGUaK1aNw== + dependencies: + "@opentelemetry/instrumentation" "^0.53.0" + +"@opentelemetry/instrumentation-graphql@0.43.0": + version "0.43.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.43.0.tgz#71bb94ea775c70dbd388c739b397ec1418f3f170" + integrity sha512-aI3YMmC2McGd8KW5du1a2gBA0iOMOGLqg4s9YjzwbjFwjlmMNFSK1P3AIg374GWg823RPUGfVTIgZ/juk9CVOA== + dependencies: + "@opentelemetry/instrumentation" "^0.53.0" + +"@opentelemetry/instrumentation-hapi@0.41.0": + version "0.41.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.41.0.tgz#de8711907256d8fae1b5faf71fc825cef4a7ddbb" + integrity sha512-jKDrxPNXDByPlYcMdZjNPYCvw0SQJjN+B1A+QH+sx+sAHsKSAf9hwFiJSrI6C4XdOls43V/f/fkp9ITkHhKFbQ== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + +"@opentelemetry/instrumentation-http@0.53.0": + version "0.53.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-http/-/instrumentation-http-0.53.0.tgz#0d806adf1b3aba036bc46e16162e3c0dbb8a6b60" + integrity sha512-H74ErMeDuZfj7KgYCTOFGWF5W9AfaPnqLQQxeFq85+D29wwV2yqHbz2IKLYpkOh7EI6QwDEl7rZCIxjJLyc/CQ== + dependencies: + "@opentelemetry/core" "1.26.0" + "@opentelemetry/instrumentation" "0.53.0" + "@opentelemetry/semantic-conventions" "1.27.0" + semver "^7.5.2" + +"@opentelemetry/instrumentation-ioredis@0.43.0": + version "0.43.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.43.0.tgz#dbadabaeefc4cb47c406f878444f1bcac774fa89" + integrity sha512-i3Dke/LdhZbiUAEImmRG3i7Dimm/BD7t8pDDzwepSvIQ6s2X6FPia7561gw+64w+nx0+G9X14D7rEfaMEmmjig== + dependencies: + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/redis-common" "^0.36.2" + "@opentelemetry/semantic-conventions" "^1.27.0" + +"@opentelemetry/instrumentation-kafkajs@0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-kafkajs/-/instrumentation-kafkajs-0.3.0.tgz#6687bce4dac8b90ef8ccbf1b662d5d1e95a34414" + integrity sha512-UnkZueYK1ise8FXQeKlpBd7YYUtC7mM8J0wzUSccEfc/G8UqHQqAzIyYCUOUPUKp8GsjLnWOOK/3hJc4owb7Jg== + dependencies: + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + +"@opentelemetry/instrumentation-koa@0.43.0": + version "0.43.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.43.0.tgz#963fd192a1b5f6cbae5dabf4ec82e3105cbb23b1" + integrity sha512-lDAhSnmoTIN6ELKmLJBplXzT/Jqs5jGZehuG22EdSMaTwgjMpxMDI1YtlKEhiWPWkrz5LUsd0aOO0ZRc9vn3AQ== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + +"@opentelemetry/instrumentation-lru-memoizer@0.40.0": + version "0.40.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-lru-memoizer/-/instrumentation-lru-memoizer-0.40.0.tgz#dc60d7fdfd2a0c681cb23e7ed4f314d1506ccdc0" + integrity sha512-21xRwZsEdMPnROu/QsaOIODmzw59IYpGFmuC4aFWvMj6stA8+Ei1tX67nkarJttlNjoM94um0N4X26AD7ff54A== + dependencies: + "@opentelemetry/instrumentation" "^0.53.0" + +"@opentelemetry/instrumentation-mongodb@0.47.0": + version "0.47.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.47.0.tgz#f8107d878281433905e717f223fb4c0f10356a7b" + integrity sha512-yqyXRx2SulEURjgOQyJzhCECSh5i1uM49NUaq9TqLd6fA7g26OahyJfsr9NE38HFqGRHpi4loyrnfYGdrsoVjQ== + dependencies: + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/sdk-metrics" "^1.9.1" + "@opentelemetry/semantic-conventions" "^1.27.0" + +"@opentelemetry/instrumentation-mongoose@0.42.0": + version "0.42.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.42.0.tgz#375afd21adfcd897a8f521c1ffd2d91e6a428705" + integrity sha512-AnWv+RaR86uG3qNEMwt3plKX1ueRM7AspfszJYVkvkehiicC3bHQA6vWdb6Zvy5HAE14RyFbu9+2hUUjR2NSyg== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + +"@opentelemetry/instrumentation-mysql2@0.41.0": + version "0.41.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.41.0.tgz#6377b6e2d2487fd88e1d79aa03658db6c8d51651" + integrity sha512-REQB0x+IzVTpoNgVmy5b+UnH1/mDByrneimP6sbDHkp1j8QOl1HyWOrBH/6YWR0nrbU3l825Em5PlybjT3232g== + dependencies: + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + "@opentelemetry/sql-common" "^0.40.1" + +"@opentelemetry/instrumentation-mysql@0.41.0": + version "0.41.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.41.0.tgz#2d50691ead5219774bd36d66c35d5b4681485dd7" + integrity sha512-jnvrV6BsQWyHS2qb2fkfbfSb1R/lmYwqEZITwufuRl37apTopswu9izc0b1CYRp/34tUG/4k/V39PND6eyiNvw== + dependencies: + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + "@types/mysql" "2.15.26" + +"@opentelemetry/instrumentation-nestjs-core@0.40.0": + version "0.40.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.40.0.tgz#2c0e6405b56caaec32747d55c57ff9a034668ea8" + integrity sha512-WF1hCUed07vKmf5BzEkL0wSPinqJgH7kGzOjjMAiTGacofNXjb/y4KQ8loj2sNsh5C/NN7s1zxQuCgbWbVTGKg== + dependencies: + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + +"@opentelemetry/instrumentation-pg@0.44.0": + version "0.44.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.44.0.tgz#1e97a0aeb2dca068ee23ce75884a0a0063a7ce3f" + integrity sha512-oTWVyzKqXud1BYEGX1loo2o4k4vaU1elr3vPO8NZolrBtFvQ34nx4HgUaexUDuEog00qQt+MLR5gws/p+JXMLQ== + dependencies: + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + "@opentelemetry/sql-common" "^0.40.1" + "@types/pg" "8.6.1" + "@types/pg-pool" "2.0.6" + +"@opentelemetry/instrumentation-redis-4@0.42.0": + version "0.42.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-redis-4/-/instrumentation-redis-4-0.42.0.tgz#fc01104cfe884c7546385eaae03c57a47edd19d1" + integrity sha512-NaD+t2JNcOzX/Qa7kMy68JbmoVIV37fT/fJYzLKu2Wwd+0NCxt+K2OOsOakA8GVg8lSpFdbx4V/suzZZ2Pvdjg== + dependencies: + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/redis-common" "^0.36.2" + "@opentelemetry/semantic-conventions" "^1.27.0" + +"@opentelemetry/instrumentation-undici@0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-undici/-/instrumentation-undici-0.6.0.tgz#9436ee155c8dcb0b760b66947c0e0f347688a5ef" + integrity sha512-ABJBhm5OdhGmbh0S/fOTE4N69IZ00CsHC5ijMYfzbw3E5NwLgpQk5xsljaECrJ8wz1SfXbO03FiSuu5AyRAkvQ== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.53.0" + +"@opentelemetry/instrumentation@0.53.0", "@opentelemetry/instrumentation@^0.53.0": + version "0.53.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.53.0.tgz#e6369e4015eb5112468a4d45d38dcada7dad892d" + integrity sha512-DMwg0hy4wzf7K73JJtl95m/e0boSoWhH07rfvHvYzQtBD3Bmv0Wc1x733vyZBqmFm8OjJD0/pfiUg1W3JjFX0A== + dependencies: + "@opentelemetry/api-logs" "0.53.0" + "@types/shimmer" "^1.2.0" + import-in-the-middle "^1.8.1" + require-in-the-middle "^7.1.1" + semver "^7.5.2" + shimmer "^1.2.1" + +"@opentelemetry/instrumentation@^0.49 || ^0.50 || ^0.51 || ^0.52.0": + version "0.52.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz#2e7e46a38bd7afbf03cf688c862b0b43418b7f48" + integrity sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw== + dependencies: + "@opentelemetry/api-logs" "0.52.1" + "@types/shimmer" "^1.0.2" + import-in-the-middle "^1.8.1" + require-in-the-middle "^7.1.1" + semver "^7.5.2" + shimmer "^1.2.1" + +"@opentelemetry/redis-common@^0.36.2": + version "0.36.2" + resolved "https://registry.yarnpkg.com/@opentelemetry/redis-common/-/redis-common-0.36.2.tgz#906ac8e4d804d4109f3ebd5c224ac988276fdc47" + integrity sha512-faYX1N0gpLhej/6nyp6bgRjzAKXn5GOEMYY7YhciSfCoITAktLUtQ36d24QEWNA1/WA1y6qQunCe0OhHRkVl9g== + +"@opentelemetry/resources@1.26.0", "@opentelemetry/resources@^1.26.0": + version "1.26.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.26.0.tgz#da4c7366018bd8add1f3aa9c91c6ac59fd503cef" + integrity sha512-CPNYchBE7MBecCSVy0HKpUISEeJOniWqcHaAHpmasZ3j9o6V3AyBzhRc90jdmemq0HOxDr6ylhUbDhBqqPpeNw== + dependencies: + "@opentelemetry/core" "1.26.0" + "@opentelemetry/semantic-conventions" "1.27.0" + +"@opentelemetry/sdk-metrics@^1.9.1": + version "1.26.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-metrics/-/sdk-metrics-1.26.0.tgz#37bb0afb1d4447f50aab9cdd05db6f2d8b86103e" + integrity sha512-0SvDXmou/JjzSDOjUmetAAvcKQW6ZrvosU0rkbDGpXvvZN+pQF6JbK/Kd4hNdK4q/22yeruqvukXEJyySTzyTQ== + dependencies: + "@opentelemetry/core" "1.26.0" + "@opentelemetry/resources" "1.26.0" + +"@opentelemetry/sdk-trace-base@^1.22", "@opentelemetry/sdk-trace-base@^1.26.0": + version "1.26.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.26.0.tgz#0c913bc6d2cfafd901de330e4540952269ae579c" + integrity sha512-olWQldtvbK4v22ymrKLbIcBi9L2SpMO84sCPY54IVsJhP9fRsxJT194C/AVaAuJzLE30EdhhM1VmvVYR7az+cw== + dependencies: + "@opentelemetry/core" "1.26.0" + "@opentelemetry/resources" "1.26.0" + "@opentelemetry/semantic-conventions" "1.27.0" + +"@opentelemetry/semantic-conventions@1.27.0", "@opentelemetry/semantic-conventions@^1.27.0": + version "1.27.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.27.0.tgz#1a857dcc95a5ab30122e04417148211e6f945e6c" + integrity sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg== + +"@opentelemetry/sql-common@^0.40.1": + version "0.40.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sql-common/-/sql-common-0.40.1.tgz#93fbc48d8017449f5b3c3274f2268a08af2b83b6" + integrity sha512-nSDlnHSqzC3pXn/wZEZVLuAuJ1MYMXPBwtv2qAbCa3847SaHItdE7SzUq/Jtb0KZmh1zfAbNi3AAMjztTT4Ugg== + dependencies: + "@opentelemetry/core" "^1.1.0" + "@pkgjs/parseargs@^0.11.0": version "0.11.0" resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" @@ -789,6 +1260,15 @@ resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz" integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== +"@prisma/instrumentation@5.19.1": + version "5.19.1" + resolved "https://registry.yarnpkg.com/@prisma/instrumentation/-/instrumentation-5.19.1.tgz#146319cf85f22b7a43296f0f40cfeac55516e66e" + integrity sha512-VLnzMQq7CWroL5AeaW0Py2huiNKeoMfCH3SUxstdzPrlWQi6UQ9UrfcbUkNHlVFqOMacqy8X/8YtE0kuKDpD9w== + dependencies: + "@opentelemetry/api" "^1.8" + "@opentelemetry/instrumentation" "^0.49 || ^0.50 || ^0.51 || ^0.52.0" + "@opentelemetry/sdk-trace-base" "^1.22" + "@radix-ui/number@1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz" @@ -1232,17 +1712,17 @@ dependencies: type-fest "^2.19.0" -"@rollup/plugin-commonjs@24.0.0": - version "24.0.0" - resolved "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.0.tgz" - integrity sha512-0w0wyykzdyRRPHOb0cQt14mIBLujfAv6GgP6g8nvg/iBxEm112t3YPPq+Buqe2+imvElTka+bjNlJ/gB56TD8g== +"@rollup/plugin-commonjs@26.0.1": + version "26.0.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-26.0.1.tgz#16d4d6e54fa63021249a292b50f27c0b0f1a30d8" + integrity sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ== dependencies: "@rollup/pluginutils" "^5.0.1" commondir "^1.0.1" estree-walker "^2.0.2" - glob "^8.0.3" + glob "^10.4.1" is-reference "1.2.1" - magic-string "^0.27.0" + magic-string "^0.30.3" "@rollup/pluginutils@^5.0.1": version "5.0.2" @@ -1306,156 +1786,250 @@ dset "^3.1.1" tiny-hashes "^1.0.1" -"@sentry-internal/feedback@7.109.0": - version "7.109.0" - resolved "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.109.0.tgz" - integrity sha512-EL7N++poxvJP9rYvh6vSu24tsKkOveNCcCj4IM7+irWPjsuD2GLYYlhp/A/Mtt9l7iqO4plvtiQU5HGk7smcTQ== - dependencies: - "@sentry/core" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry-internal/replay-canvas@7.109.0": - version "7.109.0" - resolved "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.109.0.tgz" - integrity sha512-Lh/K60kmloR6lkPUcQP0iamw7B/MdEUEx/ImAx4tUSMrLj+IoUEcq/ECgnnVyQkJq59+8nPEKrVLt7x6PUPEjw== - dependencies: - "@sentry/core" "7.109.0" - "@sentry/replay" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry-internal/tracing@7.109.0": - version "7.109.0" - resolved "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.109.0.tgz" - integrity sha512-PzK/joC5tCuh2R/PRh+7dp+uuZl7pTsBIjPhVZHMTtb9+ls65WkdZJ1/uKXPouyz8NOo9Xok7aEvEo9seongyw== - dependencies: - "@sentry/core" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry/browser@7.109.0": - version "7.109.0" - resolved "https://registry.npmjs.org/@sentry/browser/-/browser-7.109.0.tgz" - integrity sha512-yx+OFG+Ab9qUDDgV9ZDv8M9O9Mqr0fjKta/LMlWALYLjzkMvxsPlRPFj7oMBlHqOTVLDeg7lFYmsA8wyWQ8Z8g== - dependencies: - "@sentry-internal/feedback" "7.109.0" - "@sentry-internal/replay-canvas" "7.109.0" - "@sentry-internal/tracing" "7.109.0" - "@sentry/core" "7.109.0" - "@sentry/replay" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry/cli@^1.77.1": - version "1.77.3" - resolved "https://registry.npmjs.org/@sentry/cli/-/cli-1.77.3.tgz" - integrity sha512-c3eDqcDRmy4TFz2bFU5Y6QatlpoBPPa8cxBooaS4aMQpnIdLYPF1xhyyiW0LQlDUNc3rRjNF7oN5qKoaRoMTQQ== +"@sentry-internal/browser-utils@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.33.1.tgz#5364532dc4d4a87698b191910a7f1c7d5361da52" + integrity sha512-TW6/r+Gl5jiXv54iK1xZ3mlVgTS/jaBp4vcQ0xGMdgiQ3WchEPcFSeYovL+YHT3tSud0GZqVtDQCz+5i76puqA== + dependencies: + "@sentry/core" "8.33.1" + "@sentry/types" "8.33.1" + "@sentry/utils" "8.33.1" + +"@sentry-internal/feedback@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-8.33.1.tgz#883a258b432e6dc8cf733c9a4c23cd2a8d430d23" + integrity sha512-qauMRTm3qDaLqZ3ibI03cj4gLF40y0ij65nj+cns6iWxGCtPrO8tjvXFWuQsE7Aye9dGMnBgmv7uN+NTUtC3RA== + dependencies: + "@sentry/core" "8.33.1" + "@sentry/types" "8.33.1" + "@sentry/utils" "8.33.1" + +"@sentry-internal/replay-canvas@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-8.33.1.tgz#02758ad1514ddd32c6169f10ca3676d04c91eee7" + integrity sha512-nsxTFTPCT10Ty/v6+AiST3+yotGP1sUb8xqfKB9fPnS1hZHFryp0NnEls7xFjBsBbZPU1GpFkzrk/E6JFzixDQ== + dependencies: + "@sentry-internal/replay" "8.33.1" + "@sentry/core" "8.33.1" + "@sentry/types" "8.33.1" + "@sentry/utils" "8.33.1" + +"@sentry-internal/replay@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-8.33.1.tgz#51910b702d25b99fd152cddd8c0d2e1ca8017ea8" + integrity sha512-fm4coIOjmanU29NOVN9MyaP4fUCOYytbtFqVSKRFNZQ/xAgNeySiBIbUd6IjujMmnOk9bY0WEUMcdm3Uotjdog== + dependencies: + "@sentry-internal/browser-utils" "8.33.1" + "@sentry/core" "8.33.1" + "@sentry/types" "8.33.1" + "@sentry/utils" "8.33.1" + +"@sentry/babel-plugin-component-annotate@2.22.3": + version "2.22.3" + resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.22.3.tgz#de4970d51a54ef52b21f0d6ec49bd06bf37753c1" + integrity sha512-OlHA+i+vnQHRIdry4glpiS/xTOtgjmpXOt6IBOUqynx5Jd/iK1+fj+t8CckqOx9wRacO/hru2wfW/jFq0iViLg== + +"@sentry/browser@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-8.33.1.tgz#3c4300fc58da905b5b611e70b02dbdb45d7c3a2b" + integrity sha512-c6zI/igexkLwZuGk+u8Rj26ChjxGgkhe6ZbKFsXCYaKAp5ep5X7HQRkkqgbxApiqlC0LduHdd/ymzh139JLg8w== + dependencies: + "@sentry-internal/browser-utils" "8.33.1" + "@sentry-internal/feedback" "8.33.1" + "@sentry-internal/replay" "8.33.1" + "@sentry-internal/replay-canvas" "8.33.1" + "@sentry/core" "8.33.1" + "@sentry/types" "8.33.1" + "@sentry/utils" "8.33.1" + +"@sentry/bundler-plugin-core@2.22.3": + version "2.22.3" + resolved "https://registry.yarnpkg.com/@sentry/bundler-plugin-core/-/bundler-plugin-core-2.22.3.tgz#f8c0a25321216ae9777749c1a4b9d982ae1ec2e1" + integrity sha512-DeoUl0WffcqZZRl5Wy9aHvX4WfZbbWt0QbJ7NJrcEViq+dRAI2FQTYECFLwdZi5Gtb3oyqZICO+P7k8wDnzsjQ== + dependencies: + "@babel/core" "^7.18.5" + "@sentry/babel-plugin-component-annotate" "2.22.3" + "@sentry/cli" "^2.33.1" + dotenv "^16.3.1" + find-up "^5.0.0" + glob "^9.3.2" + magic-string "0.30.8" + unplugin "1.0.1" + +"@sentry/cli-darwin@2.36.6": + version "2.36.6" + resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.36.6.tgz#c023d9552e141144dfb6512389fa253611be5877" + integrity sha512-2yKECENqMZKrJY5weA19g4gTgQfeuadWvVu7fVQVsgqoBRIaEhSHJc64ZgiHq2ur06qOuYcQr5FO1VrwUE1pZg== + +"@sentry/cli-linux-arm64@2.36.6": + version "2.36.6" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.36.6.tgz#6f0c604b5401441e62e89c3fe4450784dd93fda6" + integrity sha512-sLmmbZRE7F6UksovwcqEQ7oYXVBejpeL1CtiKVFwNoq9XB5kTiKlVColn+3yPcfwKCNj4H4HoeKc+xMtdd7wow== + +"@sentry/cli-linux-arm@2.36.6": + version "2.36.6" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.36.6.tgz#9cc4b041fc8e20e52f745128aa8acff2b3783fa9" + integrity sha512-6zB7w5NawmdzhPHxqkjlhbvQugCBiFrFaUGvb3u1Oo/VCehdmq/v4v8ob4PNN2cJhoDRqQj2mPTfL/ppYNMJuw== + +"@sentry/cli-linux-i686@2.36.6": + version "2.36.6" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.36.6.tgz#7c7b1c0ac83f89eda844586d51809797a868827b" + integrity sha512-M1pdxv7eZdGoG1wDpRb28aRUs/qb0C5jAe+a7sWHIg463jRLAahM8NDkv2bRQv0Xhw3JIkEGGvr46mPkQrOuMQ== + +"@sentry/cli-linux-x64@2.36.6": + version "2.36.6" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.36.6.tgz#eaec558b30acec0a295f737558db3a640cc02906" + integrity sha512-gVy/zAWY2DEERQ/i3V+oruMas/U29/tsRPcRkB67MIUWbW7W46+c3yH490O+t49qMYYhKYG2YfWoTzW6qMtSlA== + +"@sentry/cli-win32-i686@2.36.6": + version "2.36.6" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.36.6.tgz#29f586279e354c6fad932d09da5f32e57e883caf" + integrity sha512-urH+i+WtPeW8Dund0xY8zObvvbMM0XxeEIUS4oFBCB3EMYHVxgNw+woQUv9Vyv7v+OBjckB/r27nxlwNBj4pbg== + +"@sentry/cli-win32-x64@2.36.6": + version "2.36.6" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.36.6.tgz#b283460682a0cb824c4e16fc803de5f538bd1fcb" + integrity sha512-ZauqOqwFAqb/Njyc8Kj2l9Fhbms7T5zB2yu5zwvq1uiqhXqLmsb9mRTF8WJWl9WmO5hwq/GTOEQowvrwK8gblw== + +"@sentry/cli@^2.33.1": + version "2.36.6" + resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-2.36.6.tgz#116d2441b7e3ac49d4d5b4c09ed8e00ac9c8a67e" + integrity sha512-1fcZVwe4H6a3Z1O+7m/z/2em1u67Tf0Zrt2oGEp82bqvCOHA904Wr2otc6GBEuFESB1/Mo8QgD/qwRd9Tv0Otw== dependencies: https-proxy-agent "^5.0.0" - mkdirp "^0.5.5" node-fetch "^2.6.7" progress "^2.0.3" proxy-from-env "^1.1.0" which "^2.0.2" - -"@sentry/core@7.109.0": - version "7.109.0" - resolved "https://registry.npmjs.org/@sentry/core/-/core-7.109.0.tgz" - integrity sha512-xwD4U0IlvvlE/x/g/W1I8b4Cfb16SsCMmiEuBf6XxvAa3OfWBxKoqLifb3GyrbxMC4LbIIZCN/SvLlnGJPgszA== - dependencies: - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry/integrations@7.109.0": - version "7.109.0" - resolved "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.109.0.tgz" - integrity sha512-8GwPFlUu4rB1Dx3e9tc3gCMmzC5Bd5lzThhg3tMBmzCCEp7UeA4u7eUuKJ5g49vjdznPDRG2p3PcRsApFZNPSg== - dependencies: - "@sentry/core" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - localforage "^1.8.1" - -"@sentry/nextjs@^7.102.1": - version "7.109.0" - resolved "https://registry.npmjs.org/@sentry/nextjs/-/nextjs-7.109.0.tgz" - integrity sha512-AT0jhMDj7N57z8+XfgEyTJBogpU64z4mQpfOsSF5uuequzo3IlVVoJcu88jdqUkaVFxBJp3aF2T4nz65OHLoeA== - dependencies: - "@rollup/plugin-commonjs" "24.0.0" - "@sentry/core" "7.109.0" - "@sentry/integrations" "7.109.0" - "@sentry/node" "7.109.0" - "@sentry/react" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - "@sentry/vercel-edge" "7.109.0" - "@sentry/webpack-plugin" "1.21.0" + optionalDependencies: + "@sentry/cli-darwin" "2.36.6" + "@sentry/cli-linux-arm" "2.36.6" + "@sentry/cli-linux-arm64" "2.36.6" + "@sentry/cli-linux-i686" "2.36.6" + "@sentry/cli-linux-x64" "2.36.6" + "@sentry/cli-win32-i686" "2.36.6" + "@sentry/cli-win32-x64" "2.36.6" + +"@sentry/core@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.33.1.tgz#dc59f73b93e6f78f15c897ac47e48008680d9c04" + integrity sha512-3SS41suXLFzxL3OQvTMZ6q92ZapELVq2l2SoWlZopcamWhog2Ru0dp2vkunq97kFHb2TzKRTlFH4+4gbT8SJug== + dependencies: + "@sentry/types" "8.33.1" + "@sentry/utils" "8.33.1" + +"@sentry/nextjs@^8": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@sentry/nextjs/-/nextjs-8.33.1.tgz#454fc8ae299c6cc0ac5017601d3ad161d7eee501" + integrity sha512-XLUyib6bCv2iynKaoYIotVKzLsGc9lr6QI4ZV3/PstiiXKwtTm1TPdBfIlrDJMGIMxH7Z/DmkvJNSESV19Ui6Q== + dependencies: + "@opentelemetry/instrumentation-http" "0.53.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + "@rollup/plugin-commonjs" "26.0.1" + "@sentry-internal/browser-utils" "8.33.1" + "@sentry/core" "8.33.1" + "@sentry/node" "8.33.1" + "@sentry/opentelemetry" "8.33.1" + "@sentry/react" "8.33.1" + "@sentry/types" "8.33.1" + "@sentry/utils" "8.33.1" + "@sentry/vercel-edge" "8.33.1" + "@sentry/webpack-plugin" "2.22.3" chalk "3.0.0" resolve "1.22.8" - rollup "2.78.0" + rollup "3.29.5" stacktrace-parser "^0.1.10" -"@sentry/node@7.109.0": - version "7.109.0" - resolved "https://registry.npmjs.org/@sentry/node/-/node-7.109.0.tgz" - integrity sha512-tqMNAES4X/iBl1eZRCmc29p//0id01FBLEiesNo5nk6ECl6/SaGMFAEwu1gsn90h/Bjgr04slwFOS4cR45V2PQ== - dependencies: - "@sentry-internal/tracing" "7.109.0" - "@sentry/core" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry/react@7.109.0": - version "7.109.0" - resolved "https://registry.npmjs.org/@sentry/react/-/react-7.109.0.tgz" - integrity sha512-KqXoDh6LVhNO+FLdM5LiTGpuorFvjoBPQ4nPGIVbjeMY/KZIau3kFxR142EvCApxmD69yvS5EhMnEqlNdaQPGw== - dependencies: - "@sentry/browser" "7.109.0" - "@sentry/core" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" +"@sentry/node@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.33.1.tgz#1f45d13e59b86e9572e3f7764a8c9e5fe4ece0a7" + integrity sha512-0Xmlrl5nU5Bx6YybaIfztyOIiIXW5X64vcK0u94Sg4uHcDO7YvEbhflKjp669ds2I6ZQ/czqxnaAY8gM6P2SCA== + dependencies: + "@opentelemetry/api" "^1.9.0" + "@opentelemetry/context-async-hooks" "^1.25.1" + "@opentelemetry/core" "^1.25.1" + "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/instrumentation-amqplib" "^0.42.0" + "@opentelemetry/instrumentation-connect" "0.39.0" + "@opentelemetry/instrumentation-dataloader" "0.12.0" + "@opentelemetry/instrumentation-express" "0.42.0" + "@opentelemetry/instrumentation-fastify" "0.39.0" + "@opentelemetry/instrumentation-fs" "0.15.0" + "@opentelemetry/instrumentation-generic-pool" "0.39.0" + "@opentelemetry/instrumentation-graphql" "0.43.0" + "@opentelemetry/instrumentation-hapi" "0.41.0" + "@opentelemetry/instrumentation-http" "0.53.0" + "@opentelemetry/instrumentation-ioredis" "0.43.0" + "@opentelemetry/instrumentation-kafkajs" "0.3.0" + "@opentelemetry/instrumentation-koa" "0.43.0" + "@opentelemetry/instrumentation-lru-memoizer" "0.40.0" + "@opentelemetry/instrumentation-mongodb" "0.47.0" + "@opentelemetry/instrumentation-mongoose" "0.42.0" + "@opentelemetry/instrumentation-mysql" "0.41.0" + "@opentelemetry/instrumentation-mysql2" "0.41.0" + "@opentelemetry/instrumentation-nestjs-core" "0.40.0" + "@opentelemetry/instrumentation-pg" "0.44.0" + "@opentelemetry/instrumentation-redis-4" "0.42.0" + "@opentelemetry/instrumentation-undici" "0.6.0" + "@opentelemetry/resources" "^1.26.0" + "@opentelemetry/sdk-trace-base" "^1.26.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + "@prisma/instrumentation" "5.19.1" + "@sentry/core" "8.33.1" + "@sentry/opentelemetry" "8.33.1" + "@sentry/types" "8.33.1" + "@sentry/utils" "8.33.1" + import-in-the-middle "^1.11.0" + +"@sentry/opentelemetry@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.33.1.tgz#c7419a14ca00f8326a32673f19016098eaf9ff9a" + integrity sha512-D2aE2G0DUHLLnfbOXrTjiNJKAs/RZfOBJMidI4fC2AIwqCmrp55Aex4dRq4hxd8MPLR92Kt/ikHeJxlzWB15KA== + dependencies: + "@sentry/core" "8.33.1" + "@sentry/types" "8.33.1" + "@sentry/utils" "8.33.1" + +"@sentry/react@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@sentry/react/-/react-8.33.1.tgz#545bf5a6679523b8ab4652fa1e12ffe30437a86b" + integrity sha512-SsEX05xfcfOvo7/pK1UyeyTAYWH8iSIsXXlsjvnSRsbuJkjb0c+q6yiZpj3A2PRdbcx43nTVE1n0lSpgaqj2HA== + dependencies: + "@sentry/browser" "8.33.1" + "@sentry/core" "8.33.1" + "@sentry/types" "8.33.1" + "@sentry/utils" "8.33.1" hoist-non-react-statics "^3.3.2" -"@sentry/replay@7.109.0": - version "7.109.0" - resolved "https://registry.npmjs.org/@sentry/replay/-/replay-7.109.0.tgz" - integrity sha512-hCDjbTNO7ErW/XsaBXlyHFsUhneyBUdTec1Swf98TFEfVqNsTs6q338aUcaR8dGRLbLrJ9YU9D1qKq++v5h2CA== - dependencies: - "@sentry-internal/tracing" "7.109.0" - "@sentry/core" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry/types@7.109.0": - version "7.109.0" - resolved "https://registry.npmjs.org/@sentry/types/-/types-7.109.0.tgz" - integrity sha512-egCBnDv3YpVFoNzRLdP0soVrxVLCQ+rovREKJ1sw3rA2/MFH9WJ+DZZexsX89yeAFzy1IFsCp7/dEqudusml6g== +"@sentry/types@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.33.1.tgz#3c519f974c3c3f3ea8b4e6f930b676f954c26f87" + integrity sha512-GjoAMvwtpIemoF/IiwZ7A60g4nQv3qwzR21GvJqDVUoKD0e8pv9OLX+HyXoUat4wEDGSuDUcUyUKD2G+od73QA== -"@sentry/utils@7.109.0": - version "7.109.0" - resolved "https://registry.npmjs.org/@sentry/utils/-/utils-7.109.0.tgz" - integrity sha512-3RjxMOLMBwZ5VSiH84+o/3NY2An4Zldjz0EbfEQNRY9yffRiCPJSQiCJID8EoylCFOh/PAhPimBhqbtWJxX6iw== +"@sentry/utils@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.33.1.tgz#8cfc56b7dbc27135028e77aa5d553b15f4ba0466" + integrity sha512-uzuYpiiJuFY3N4WNHMBWUQX5oNv2t/TbG0OHRp3Rr7yeu+HSfD542TIp9/gMZ+G0Cxd8AmVO3wkKIFbk0TL4Qg== dependencies: - "@sentry/types" "7.109.0" + "@sentry/types" "8.33.1" -"@sentry/vercel-edge@7.109.0": - version "7.109.0" - resolved "https://registry.npmjs.org/@sentry/vercel-edge/-/vercel-edge-7.109.0.tgz" - integrity sha512-0I+pLZPkD0vSlSLwBx9XAs17WXHimGhHIMki/YH5Y007i1iykkMItoDx//Y3PPjZiJu+deO7l4wKO2J1lJW6jg== +"@sentry/vercel-edge@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@sentry/vercel-edge/-/vercel-edge-8.33.1.tgz#7c1c1a8d9ff634cd832389dae62dd486a80f0e5d" + integrity sha512-YKAsFAm4ctsKRdoS3LkYF4oG5BD1chT4Uqy4AaBhlz0s5iHxBI7YzZFbcW4YiNnDWT80tdF+FS7AvUAjy+npoA== dependencies: - "@sentry-internal/tracing" "7.109.0" - "@sentry/core" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" + "@sentry/core" "8.33.1" + "@sentry/types" "8.33.1" + "@sentry/utils" "8.33.1" -"@sentry/webpack-plugin@1.21.0": - version "1.21.0" - resolved "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-1.21.0.tgz" - integrity sha512-x0PYIMWcsTauqxgl7vWUY6sANl+XGKtx7DCVnnY7aOIIlIna0jChTAPANTfA2QrK+VK+4I/4JxatCEZBnXh3Og== +"@sentry/webpack-plugin@2.22.3": + version "2.22.3" + resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-2.22.3.tgz#a9eeb4689c062eb6dc50671c09f06ec6875b9b02" + integrity sha512-Sq1S6bL3nuoTP5typkj+HPjQ13dqftIE8kACAq4tKkXOpWO9bf6HtqcruEQCxMekbWDTdljsrknQ17ZBx2q66Q== dependencies: - "@sentry/cli" "^1.77.1" - webpack-sources "^2.0.0 || ^3.0.0" + "@sentry/bundler-plugin-core" "2.22.3" + unplugin "1.0.1" + uuid "^9.0.0" "@sinclair/typebox@^0.27.8": version "0.27.8" @@ -2675,6 +3249,13 @@ resolved "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz" integrity sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng== +"@types/connect@3.4.36": + version "3.4.36" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.36.tgz#e511558c15a39cb29bd5357eebb57bd1459cd1ab" + integrity sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w== + dependencies: + "@types/node" "*" + "@types/d3-array@^3.0.3": version "3.0.5" resolved "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.5.tgz" @@ -2801,6 +3382,13 @@ resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz" integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== +"@types/mysql@2.15.26": + version "2.15.26" + resolved "https://registry.yarnpkg.com/@types/mysql/-/mysql-2.15.26.tgz#f0de1484b9e2354d587e7d2bd17a873cc8300836" + integrity sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ== + dependencies: + "@types/node" "*" + "@types/node@*", "@types/node@20.10.6": version "20.10.6" resolved "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz" @@ -2823,6 +3411,31 @@ resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== +"@types/pg-pool@2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/pg-pool/-/pg-pool-2.0.6.tgz#1376d9dc5aec4bb2ec67ce28d7e9858227403c77" + integrity sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ== + dependencies: + "@types/pg" "*" + +"@types/pg@*": + version "8.11.10" + resolved "https://registry.yarnpkg.com/@types/pg/-/pg-8.11.10.tgz#b8fb2b2b759d452fe3ec182beadd382563b63291" + integrity sha512-LczQUW4dbOQzsH2RQ5qoeJ6qJPdrcM/DcMLoqWQkMLMsq83J5lAX3LXjdkWdpscFy67JSOWDnh7Ny/sPFykmkg== + dependencies: + "@types/node" "*" + pg-protocol "*" + pg-types "^4.0.1" + +"@types/pg@8.6.1": + version "8.6.1" + resolved "https://registry.yarnpkg.com/@types/pg/-/pg-8.6.1.tgz#099450b8dc977e8197a44f5229cedef95c8747f9" + integrity sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w== + dependencies: + "@types/node" "*" + pg-protocol "*" + pg-types "^2.2.0" + "@types/phoenix@^1.5.4": version "1.6.0" resolved "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.0.tgz" @@ -2878,6 +3491,11 @@ resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz" integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== +"@types/shimmer@^1.0.2", "@types/shimmer@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.2.0.tgz#9b706af96fa06416828842397a70dfbbf1c14ded" + integrity sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg== + "@types/throttle-debounce@^2.1.0": version "2.1.0" resolved "https://registry.npmjs.org/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz" @@ -3067,6 +3685,11 @@ abbrev@^2.0.0: resolved "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz" integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ== +acorn-import-attributes@^1.9.5: + version "1.9.5" + resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" + integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== + acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" @@ -3082,6 +3705,11 @@ acorn@^8.10.0, acorn@^8.9.0: resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz" integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== +acorn@^8.8.1, acorn@^8.8.2: + version "8.12.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== + agent-base@6: version "6.0.2" resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" @@ -3422,6 +4050,16 @@ browserslist@^4.21.10, browserslist@^4.21.9: node-releases "^2.0.13" update-browserslist-db "^1.0.11" +browserslist@^4.24.0: + version "4.24.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.0.tgz#a1325fe4bc80b64fda169629fc01b3d6cecd38d4" + integrity sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A== + dependencies: + caniuse-lite "^1.0.30001663" + electron-to-chromium "^1.5.28" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" + buffer@^5.5.0: version "5.7.1" resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" @@ -3497,6 +4135,11 @@ caniuse-lite@^1.0.30001517, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.300015 resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001581.tgz" integrity sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ== +caniuse-lite@^1.0.30001663: + version "1.0.30001667" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001667.tgz#99fc5ea0d9c6e96897a104a8352604378377f949" + integrity sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw== + case-anything@^2.1.13: version "2.1.13" resolved "https://registry.npmjs.org/case-anything/-/case-anything-2.1.13.tgz" @@ -3607,6 +4250,11 @@ chownr@^2.0.0: resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== +cjs-module-lexer@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz#707413784dbb3a72aa11c2f2b042a0bef4004170" + integrity sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA== + class-variance-authority@0.7.0: version "0.7.0" resolved "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz" @@ -3711,6 +4359,11 @@ convert-source-map@^1.5.0, convert-source-map@^1.7.0: resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== +convert-source-map@^2.0.0: + version "2.0.0" + 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: version "3.3.3" resolved "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz" @@ -3932,6 +4585,13 @@ debug@^4.0.0: dependencies: ms "2.1.2" +debug@^4.3.5: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + decimal.js@^10.4.3: version "10.4.3" resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" @@ -4135,6 +4795,11 @@ dotenv@16.3.1: resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz" integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== +dotenv@^16.3.1: + version "16.4.5" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" + integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== + dset@^3.1.1, dset@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/dset/-/dset-3.1.2.tgz" @@ -4150,6 +4815,11 @@ electron-to-chromium@^1.4.477: resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.485.tgz" integrity sha512-1ndQ5IBNEnFirPwvyud69GHL+31FkE09gH/CJ6m3KCbkx3i0EVOrjwz4UNxRmN9H8OVHbC6vMRZGN1yCvjSs9w== +electron-to-chromium@^1.5.28: + version "1.5.32" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.32.tgz#4a05ee78e29e240aabaf73a67ce9fe73f52e1bc7" + integrity sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw== + emoji-picker-react@^4.11.1: version "4.11.1" resolved "https://registry.npmjs.org/emoji-picker-react/-/emoji-picker-react-4.11.1.tgz" @@ -4387,6 +5057,11 @@ escalade@^3.1.1: resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + 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" @@ -5006,6 +5681,18 @@ glob@7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^10.4.1: + version "10.4.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== + dependencies: + foreground-child "^3.1.0" + 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" @@ -5018,16 +5705,15 @@ glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.3: - version "8.1.0" - resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== +glob@^9.3.2: + version "9.3.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" + integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== dependencies: fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" + minimatch "^8.0.2" + minipass "^4.2.4" + path-scurry "^1.6.1" globals@^11.1.0: version "11.12.0" @@ -5386,11 +6072,6 @@ ignore@^5.2.0, ignore@^5.2.4: resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== -immediate@~3.0.5: - version "3.0.6" - resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" - integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== - immutable@^4.0.0: version "4.3.4" resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz" @@ -5404,6 +6085,16 @@ import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" +import-in-the-middle@^1.11.0, import-in-the-middle@^1.8.1: + version "1.11.2" + resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.11.2.tgz#dd848e72b63ca6cd7c34df8b8d97fc9baee6174f" + integrity sha512-gK6Rr6EykBcc6cVWRSBR5TWf8nn6hZMYSRYqCcHa0l0d1fPK7JSYo6+Mlmck76jIX9aL/IZ71c06U2VpFwl1zA== + dependencies: + acorn "^8.8.2" + acorn-import-attributes "^1.9.5" + cjs-module-lexer "^1.2.2" + module-details-from-path "^1.0.3" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" @@ -5808,6 +6499,15 @@ jackspeak@^2.3.5: optionalDependencies: "@pkgjs/parseargs" "^0.11.0" +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + jiti@^1.19.1: version "1.19.1" resolved "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz" @@ -5882,6 +6582,11 @@ jsesc@^2.5.1: resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + 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" @@ -5909,7 +6614,7 @@ json5@^1.0.2: dependencies: minimist "^1.2.0" -json5@^2.2.2: +json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -5956,13 +6661,6 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -lie@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz" - integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw== - dependencies: - immediate "~3.0.5" - lilconfig@^2.0.5, lilconfig@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" @@ -5985,13 +6683,6 @@ local-pkg@^0.4.3: resolved "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz" integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g== -localforage@^1.8.1: - version "1.10.0" - resolved "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz" - integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg== - dependencies: - lie "3.1.1" - locate-path@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" @@ -6052,6 +6743,11 @@ lru-cache@^10.0.1, "lru-cache@^9.1.1 || ^10.0.0": resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.3.tgz" integrity sha512-B7gr+F6MkqB3uzINHXNctGieGsRTMwIBgxkp0yq/5BwcuDzD4A8wQpHQW6vDAm1uKSLQghmRdD9sKqf2vJ1cEg== +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" @@ -6071,12 +6767,12 @@ lz-string@^1.5.0: resolved "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz" integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== -magic-string@^0.27.0: - version "0.27.0" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz" - integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== +magic-string@0.30.8: + version "0.30.8" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.8.tgz#14e8624246d2bedba70d5462aa99ac9681844613" + integrity sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ== dependencies: - "@jridgewell/sourcemap-codec" "^1.4.13" + "@jridgewell/sourcemap-codec" "^1.4.15" magic-string@^0.30.0: version "0.30.2" @@ -6085,6 +6781,13 @@ magic-string@^0.30.0: dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" +magic-string@^0.30.3: + version "0.30.11" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.11.tgz#301a6f93b3e8c2cb13ac1a7a673492c0dfd12954" + integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + make-error@^1.3.6: version "1.3.6" resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" @@ -6652,10 +7355,10 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== +minimatch@^8.0.2: + version "8.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" + integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== dependencies: brace-expansion "^2.0.1" @@ -6666,6 +7369,13 @@ minimatch@^9.0.1: dependencies: brace-expansion "^2.0.1" +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" + minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" @@ -6717,6 +7427,11 @@ minipass@^3.0.0: dependencies: yallist "^4.0.0" +minipass@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" + integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== + minipass@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" @@ -6727,6 +7442,11 @@ minipass@^5.0.0: resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz" integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== +minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" @@ -6740,13 +7460,6 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp@^0.5.5: - version "0.5.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - mkdirp@^1.0.3: version "1.0.4" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" @@ -6762,6 +7475,11 @@ mlly@^1.2.0, mlly@^1.4.0: pkg-types "^1.0.3" ufo "^1.1.2" +module-details-from-path@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" + integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== + ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" @@ -6772,7 +7490,7 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1: +ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -6925,6 +7643,11 @@ node-releases@^2.0.13: resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz" integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== + nopt@^7.0.0: version "7.2.0" resolved "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz" @@ -7063,6 +7786,11 @@ object.values@^1.1.6, object.values@^1.1.7: define-properties "^1.2.0" es-abstract "^1.22.1" +obuf@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" @@ -7139,6 +7867,11 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" +package-json-from-dist@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" @@ -7210,6 +7943,14 @@ path-scurry@^1.10.1: lru-cache "^9.1.1 || ^10.0.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" +path-scurry@^1.11.1, path-scurry@^1.6.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 "^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" @@ -7225,11 +7966,55 @@ pathval@^1.1.1: resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== +pg-int8@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" + integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== + +pg-numeric@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pg-numeric/-/pg-numeric-1.0.2.tgz#816d9a44026086ae8ae74839acd6a09b0636aa3a" + integrity sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw== + +pg-protocol@*: + version "1.7.0" + resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.7.0.tgz#ec037c87c20515372692edac8b63cf4405448a93" + integrity sha512-hTK/mE36i8fDDhgDFjy6xNOG+LCorxLG3WO17tku+ij6sVHXh1jQUJ8hYAnRhNla4QVD2H8er/FOjc/+EgC6yQ== + +pg-types@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-2.2.0.tgz#2d0250d636454f7cfa3b6ae0382fdfa8063254a3" + integrity sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== + dependencies: + pg-int8 "1.0.1" + postgres-array "~2.0.0" + postgres-bytea "~1.0.0" + postgres-date "~1.0.4" + postgres-interval "^1.1.0" + +pg-types@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-4.0.2.tgz#399209a57c326f162461faa870145bb0f918b76d" + integrity sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng== + dependencies: + pg-int8 "1.0.1" + pg-numeric "1.0.2" + postgres-array "~3.0.1" + postgres-bytea "~3.0.0" + postgres-date "~2.1.0" + postgres-interval "^3.0.0" + postgres-range "^1.1.1" + 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.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" + integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== + 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" @@ -7338,6 +8123,55 @@ postcss@8.4.32, postcss@^8.4.23, postcss@^8.4.27: picocolors "^1.0.0" source-map-js "^1.0.2" +postgres-array@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" + integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== + +postgres-array@~3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-3.0.2.tgz#68d6182cb0f7f152a7e60dc6a6889ed74b0a5f98" + integrity sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog== + +postgres-bytea@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35" + integrity sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== + +postgres-bytea@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-3.0.0.tgz#9048dc461ac7ba70a6a42d109221619ecd1cb089" + integrity sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw== + dependencies: + obuf "~1.1.2" + +postgres-date@~1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.7.tgz#51bc086006005e5061c591cee727f2531bf641a8" + integrity sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== + +postgres-date@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-2.1.0.tgz#b85d3c1fb6fb3c6c8db1e9942a13a3bf625189d0" + integrity sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA== + +postgres-interval@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.2.0.tgz#b460c82cb1587507788819a06aa0fffdb3544695" + integrity sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== + dependencies: + xtend "^4.0.0" + +postgres-interval@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-3.0.0.tgz#baf7a8b3ebab19b7f38f07566c7aab0962f0c86a" + integrity sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw== + +postgres-range@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/postgres-range/-/postgres-range-1.1.4.tgz#a59c5f9520909bcec5e63e8cf913a92e4c952863" + integrity sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w== + posthog-js@1.96.1: version "1.96.1" resolved "https://registry.npmjs.org/posthog-js/-/posthog-js-1.96.1.tgz" @@ -7918,6 +8752,15 @@ remark-stringify@^11.0.0: mdast-util-to-markdown "^2.0.0" unified "^11.0.0" +require-in-the-middle@^7.1.1: + version "7.4.0" + resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.4.0.tgz#606977820d4b5f9be75e5a108ce34cfed25b3bb4" + integrity sha512-X34iHADNbNDfr6OTStIAHWSAvvKQRYgLO6duASaVf7J2VA3lvmNYboAHOuLC2huav1IwgZJtyEcJCKVzFxOSMQ== + dependencies: + debug "^4.3.5" + module-details-from-path "^1.0.3" + resolve "^1.22.8" + requires-port@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" @@ -7938,7 +8781,7 @@ resolve-pkg-maps@^1.0.0: resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz" integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== -resolve@1.22.8, resolve@^1.1.7, resolve@^1.19.0, resolve@^1.22.2, resolve@^1.22.4: +resolve@1.22.8, resolve@^1.1.7, resolve@^1.19.0, resolve@^1.22.2, resolve@^1.22.4, resolve@^1.22.8: version "1.22.8" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -7973,10 +8816,10 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" -rollup@2.78.0: - version "2.78.0" - resolved "https://registry.npmjs.org/rollup/-/rollup-2.78.0.tgz" - integrity sha512-4+YfbQC9QEVvKTanHhIAFVUFSRsezvQF8vFOJwtGfb9Bb+r014S+qryr9PSmw8x6sMnPkmFBGAvIFVQxvJxjtg== +rollup@3.29.5: + version "3.29.5" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.5.tgz#8a2e477a758b520fb78daf04bca4c522c1da8a54" + integrity sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w== optionalDependencies: fsevents "~2.3.2" @@ -8087,6 +8930,11 @@ semver@^7.3.5, semver@^7.3.7, semver@^7.5.4: dependencies: lru-cache "^6.0.0" +semver@^7.5.2: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + 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" @@ -8127,6 +8975,11 @@ shebang-regex@^3.0.0: resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== +shimmer@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337" + integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== + side-channel@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" @@ -9021,6 +9874,16 @@ universalify@^0.2.0: resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== +unplugin@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.0.1.tgz#83b528b981cdcea1cad422a12cd02e695195ef3f" + integrity sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA== + dependencies: + acorn "^8.8.1" + chokidar "^3.5.3" + webpack-sources "^3.2.3" + webpack-virtual-modules "^0.5.0" + untildify@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz" @@ -9034,6 +9897,14 @@ update-browserslist-db@^1.0.11: escalade "^3.1.1" picocolors "^1.0.0" +update-browserslist-db@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.0" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" @@ -9081,6 +9952,11 @@ uuid@^10.0.0: resolved "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz" integrity sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ== +uuid@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + vfile-location@^5.0.0: version "5.0.2" resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz" @@ -9535,11 +10411,16 @@ webidl-conversions@^7.0.0: resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz" integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== -"webpack-sources@^2.0.0 || ^3.0.0": +webpack-sources@^3.2.3: version "3.2.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== +webpack-virtual-modules@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz#362f14738a56dae107937ab98ea7062e8bdd3b6c" + integrity sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw== + websocket@^1.0.34: version "1.0.34" resolved "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz" @@ -9690,6 +10571,11 @@ xmlchars@^2.2.0: resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + yaeti@^0.0.6: version "0.0.6" resolved "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz"