diff --git a/packages/gpt-runner-core/package.json b/packages/gpt-runner-core/package.json index 6cc6b1b..e706baf 100644 --- a/packages/gpt-runner-core/package.json +++ b/packages/gpt-runner-core/package.json @@ -48,13 +48,13 @@ "dependencies": { "@nicepkg/gpt-runner-shared": "workspace:*", "ignore": "^5.2.4", - "langchain": "^0.0.118", - "unconfig": "^0.3.9", + "langchain": "^0.0.122", + "unconfig": "^0.3.10", "uuid": "^9.0.0", "zod": "^3.21.4" }, "devDependencies": { - "@anthropic-ai/sdk": "^0.5.8", + "@anthropic-ai/sdk": "^0.5.10", "openai": "^3.3.0" } -} +} \ No newline at end of file diff --git a/packages/gpt-runner-shared/package.json b/packages/gpt-runner-shared/package.json index 29d4e31..736f896 100644 --- a/packages/gpt-runner-shared/package.json +++ b/packages/gpt-runner-shared/package.json @@ -106,8 +106,8 @@ "launch-editor": "^2.6.0", "minimatch": "^9.0.3", "open": "^8.4.2", - "socket.io": "^4.7.1", - "socket.io-client": "^4.7.1", + "socket.io": "^4.7.2", + "socket.io-client": "^4.7.2", "zod": "^3.21.4", "zod-to-json-schema": "^3.21.4" }, @@ -116,4 +116,4 @@ "@types/ip": "^1.1.0", "express": "^4.18.2" } -} +} \ No newline at end of file diff --git a/packages/gpt-runner-web/assets/app-config.json b/packages/gpt-runner-web/assets/app-config.json index 4442379..8390143 100644 --- a/packages/gpt-runner-web/assets/app-config.json +++ b/packages/gpt-runner-web/assets/app-config.json @@ -1,9 +1,9 @@ { "common": { "notificationConfig": { - "createAt": "2023-07-24 23:31:22", + "createAt": "2023-08-06 18:37:10", "title": "GPT Runner Notification", - "message": "v1.2.0 is release" + "message": "v1.2.2 is release" }, "releaseConfig": { "createAt": "2023-07-24 23:41:04", @@ -23,18 +23,18 @@ }, "zh_CN": { "notificationConfig": { - "createAt": "2023-07-24 23:31:26", + "createAt": "2023-08-06 18:37:06", "title": "GPT Runner 通知", - "message": "\n### 版本更新到了 v1.2.0\n1. 重启 vscode 即可去扩展处更新\n2. cli 的执行 `npm i -g gptr` 即可更新\n\n### 本次功能更新\n1. 针对语言为简体中文的用户提供 OpenAI API key 供应商,也就是你可以白嫖了。\n2. 点击左上角设置,切换供应商即可。\n3. 本次 API Key 由慷慨大方的 `剑廿三` 提供,让我们把掌声送给他。\n\n### 交流\n1. 想进群交流的加 wechat: `qq2214962083`\n " + "message": "\n### 🚀 新版 v1.2.2 (2023-08-06)\n\n> vscode 用户重启 vscode 后即可在扩展处更新。\n>\n> cli 用户执行 `npm i -g gptr` 即可更新。\n\n1. 针对语言为简体中文的用户提供 OpenAI API key 第三方供应商,也就是你可以白嫖了。\n2. 点击左上角设置,切换供应商即可。\n3. 本次 API Key 由慷慨大方的 `朝云云` 提供,让我们把掌声送给他。\n\n### 💬 交流\n\n1. 想进群交流的加 wechat: `qq2214962083`\n2. 所有捐赠 API Key 的朋友,都可以在这里免费展示 50 字以内的广告直到 API Key 失效,如果你也想捐赠 API Key,可以联系我。\n3. 此处广告仅供展示,与 GPT-Runner 无关,**若有财产交易,请自行承担风险**\n\n### 📢 YunAI - AI驱动的WEB对话应用 (朝云云供应商广告)\n\n🔵 [**点击进入**](https://faschat.zyai.online/)注册即送大量3.5使用次数\n\n如需适配 GPT-Runner 的 4.0-32k 或 Claude 接口服务,可 VX 联系:`YunAi0101`\n\n " }, "vendorsConfig": { - "createAt": "2023-07-24 23:40:49", + "createAt": "2023-08-06 18:37:22", "openai": [ { - "vendorName": "xabcai", + "vendorName": "朝云云供应商", "vendorSecrets": { - "basePath": "https://api.xabcai.com/v1", - "apiKey": "c2stWHZQeGJQMVBySFduZDJFZ0xpa0lKTlQzOTNoc3pZdDdmN0NNZUozSE1pdkw2QVdx" + "basePath": "http://8.130.89.91:3000/v1", + "apiKey": "c2stQUlBc2NTUGk2RVR0cXVSVThmMmYzODU1NTk4NzQ4M2U4YjE1QWU4MzEwMjMxZTRi" } } ], diff --git a/packages/gpt-runner-web/client/public/locales/de.json b/packages/gpt-runner-web/client/public/locales/de.json index cf1fc63..becef23 100644 --- a/packages/gpt-runner-web/client/public/locales/de.json +++ b/packages/gpt-runner-web/client/public/locales/de.json @@ -51,6 +51,7 @@ "settings_tab_settings": "Einstellungen", "settings_tab_config_info": "Konfigurationsinformationen", "settings_tab_about": "Über", + "settings_tab_notifications": "Benachrichtigungen", "override_model_type": "Modelltyp überschreiben", "default": "Standard", "override_settings": "Einstellungen überschreiben", @@ -101,4 +102,4 @@ "file_editor_forgot_save_tips_title": "Möchten Sie die Änderungen an {{fileName}} speichern?", "file_editor_forgot_save_tips_content": "Ihre Änderungen gehen verloren, wenn Sie sie nicht speichern." } -} +} \ No newline at end of file diff --git a/packages/gpt-runner-web/client/public/locales/en.json b/packages/gpt-runner-web/client/public/locales/en.json index 161b7bd..1138f46 100644 --- a/packages/gpt-runner-web/client/public/locales/en.json +++ b/packages/gpt-runner-web/client/public/locales/en.json @@ -51,6 +51,7 @@ "settings_tab_settings": "Settings", "settings_tab_config_info": "Config Info", "settings_tab_about": "About", + "settings_tab_notifications": "Notifications", "override_model_type": "Override Model Type", "default": "Default", "override_settings": "Override Settings", @@ -101,4 +102,4 @@ "file_editor_forgot_save_tips_title": "Do you want to save changes to {{fileName}}?", "file_editor_forgot_save_tips_content": "Your changes will be lost if you don't save them." } -} +} \ No newline at end of file diff --git a/packages/gpt-runner-web/client/public/locales/ja.json b/packages/gpt-runner-web/client/public/locales/ja.json index c7d1561..a2f0a95 100644 --- a/packages/gpt-runner-web/client/public/locales/ja.json +++ b/packages/gpt-runner-web/client/public/locales/ja.json @@ -51,6 +51,7 @@ "settings_tab_settings": "設定", "settings_tab_config_info": "設定情報", "settings_tab_about": "情報", + "settings_tab_notifications": "通知", "override_model_type": "モデルタイプを上書き", "default": "デフォルト", "override_settings": "設定を上書き", @@ -101,4 +102,4 @@ "file_editor_forgot_save_tips_title": "変更を{{fileName}}に保存しますか?", "file_editor_forgot_save_tips_content": "保存しない場合、変更は失われます。" } -} +} \ No newline at end of file diff --git a/packages/gpt-runner-web/client/public/locales/zh_CN.json b/packages/gpt-runner-web/client/public/locales/zh_CN.json index 80d61cb..980a466 100644 --- a/packages/gpt-runner-web/client/public/locales/zh_CN.json +++ b/packages/gpt-runner-web/client/public/locales/zh_CN.json @@ -51,6 +51,7 @@ "settings_tab_settings": "设置", "settings_tab_config_info": "配置信息", "settings_tab_about": "关于", + "settings_tab_notifications": "通知", "override_model_type": "覆盖模型类型", "default": "默认", "override_settings": "覆盖设置", @@ -101,4 +102,4 @@ "file_editor_forgot_save_tips_title": "你想要保存对{{fileName}}的更改吗?", "file_editor_forgot_save_tips_content": "如果你不保存,你的改动将会丢失." } -} +} \ No newline at end of file diff --git a/packages/gpt-runner-web/client/public/locales/zh_Hant.json b/packages/gpt-runner-web/client/public/locales/zh_Hant.json index 0c79423..64cbd46 100644 --- a/packages/gpt-runner-web/client/public/locales/zh_Hant.json +++ b/packages/gpt-runner-web/client/public/locales/zh_Hant.json @@ -51,6 +51,7 @@ "settings_tab_settings": "設定", "settings_tab_config_info": "配置信息", "settings_tab_about": "關於", + "settings_tab_notifications": "通知", "override_model_type": "覆蓋模型類型", "default": "默認", "override_settings": "覆寫設置", @@ -101,4 +102,4 @@ "file_editor_forgot_save_tips_title": "你想要保存對{{fileName}}的更改嗎?", "file_editor_forgot_save_tips_content": "如果你不保存,你的改動將會丟失." } -} +} \ No newline at end of file diff --git a/packages/gpt-runner-web/client/src/app.tsx b/packages/gpt-runner-web/client/src/app.tsx index 8695f75..b2d8591 100644 --- a/packages/gpt-runner-web/client/src/app.tsx +++ b/packages/gpt-runner-web/client/src/app.tsx @@ -1,5 +1,5 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query' -import { type ComponentType, type FC, type PropsWithChildren, Suspense, memo, useEffect } from 'react' +import { type ComponentType, type FC, type PropsWithChildren, Suspense, memo, useEffect, useMemo } from 'react' import type { FallbackProps } from 'react-error-boundary' import { ErrorBoundary } from 'react-error-boundary' import { useTranslation } from 'react-i18next' @@ -16,6 +16,7 @@ import { Toast } from './components/toast' import { LoadingView } from './components/loading-view' import { ConfettiProvider } from './store/context/confetti-context' import { ModalProvider } from './store/context/modal-context' +import { useCssVarColor } from './hooks/use-css-var-color.hook' const queryClient = new QueryClient({ defaultOptions: { @@ -86,10 +87,38 @@ export const AppProviders: FC = memo(({ children }) => { }) export const App: FC = memo(() => { + const { rgba: backgroundRgba, isDark } = useCssVarColor({ + cssVarName: '--panel-view-background', + }) + + const { rgba: borderRgba } = useCssVarColor({ + cssVarName: '--panel-view-border', + }) + + const myBackdropBg = useMemo(() => { + if (!backgroundRgba) + return 'transparent' + + return `rgba(${backgroundRgba.r}, ${backgroundRgba.g}, ${backgroundRgba.b}, ${isDark ? '0.6' : '0.8'})` + }, [backgroundRgba, isDark]) + + const [myScrollbarBg, myScrollbarHoverBg] = useMemo(() => { + if (!borderRgba) + return ['var(--panel-view-border)', 'var(--panel-view-border)'] as const + + return [`rgba(${borderRgba.r}, ${borderRgba.g}, ${borderRgba.b}, 0.2)`, `rgba(${borderRgba.r}, ${borderRgba.g}, ${borderRgba.b}, 0.8)`] as const + }, [borderRgba, isDark]) + return ( }> - + diff --git a/packages/gpt-runner-web/client/src/components/chat-message-input/chat-message-input.styles.ts b/packages/gpt-runner-web/client/src/components/chat-message-input/chat-message-input.styles.ts index 43383af..fc5edde 100644 --- a/packages/gpt-runner-web/client/src/components/chat-message-input/chat-message-input.styles.ts +++ b/packages/gpt-runner-web/client/src/components/chat-message-input/chat-message-input.styles.ts @@ -1,5 +1,6 @@ import { styled } from 'styled-components' import { Logo } from '../logo' +import { backDropBg } from '../../styles/utils' export const Wrapper = styled.div` display: flex; @@ -9,6 +10,7 @@ export const Wrapper = styled.div` flex-shrink: 0; padding: 0.5rem; border-top: 1px solid var(--panel-view-border); + ${backDropBg} ` export const ToolbarWrapper = styled.div` @@ -34,6 +36,18 @@ export const TextAreaWrapper = styled.div` &:hover { border-color: var(--focus-border); } + + .monaco-editor { + background-color: transparent !important; + + .margin { + background-color: transparent !important; + } + } + + .monaco-editor-background { + background-color: transparent !important; + } } ` diff --git a/packages/gpt-runner-web/client/src/components/chat-message-input/index.tsx b/packages/gpt-runner-web/client/src/components/chat-message-input/index.tsx index 490cc58..8be109b 100644 --- a/packages/gpt-runner-web/client/src/components/chat-message-input/index.tsx +++ b/packages/gpt-runner-web/client/src/components/chat-message-input/index.tsx @@ -138,7 +138,7 @@ export const ChatMessageInput: FC = memo((props) => { {toolbarSlot} {showTopLogo && - + } diff --git a/packages/gpt-runner-web/client/src/components/chat-message-item/chat-message-item.styles.ts b/packages/gpt-runner-web/client/src/components/chat-message-item/chat-message-item.styles.ts index 8e7badd..be92228 100644 --- a/packages/gpt-runner-web/client/src/components/chat-message-item/chat-message-item.styles.ts +++ b/packages/gpt-runner-web/client/src/components/chat-message-item/chat-message-item.styles.ts @@ -1,5 +1,4 @@ import { styled } from 'styled-components' -import type { MessageItemProps } from '.' export const MsgWrapper = styled.div<{ $isMe: boolean }>` display: flex; @@ -26,7 +25,7 @@ export const MsgContentWrapper = styled.div<{ $isMe: boolean }>` position: relative; ` -export const MsgContent = styled.div<{ $showToolbar: MessageItemProps['showToolbar']; $isMe: boolean }>` +export const MsgContent = styled.div<{ $isMe: boolean }>` display: flex; flex-direction: column; border-radius: 0.5rem; @@ -43,34 +42,6 @@ export const MsgContent = styled.div<{ $showToolbar: MessageItemProps['showToolb & .msg-content-footer { flex-wrap: wrap; } - - ${({ $showToolbar, $isMe }) => ($showToolbar === 'hover' -? ` - position: absolute; - top: 0; - ${$isMe ? 'right' : 'left'}: 0; - z-index: 1; - min-height: 100%; - - & .msg-content-footer { - opacity: 0; - margin-top: 0; - height: 0; - } - - &:hover .msg-content-footer { - opacity: 1; - margin-top: 0.5rem; - height: auto; - } - ` -: $showToolbar === 'never' -? ` - & .msg-content-footer { - display: none; - } -` -: '')} ` export const MsgContentFooterWrapper = styled.div` diff --git a/packages/gpt-runner-web/client/src/components/chat-message-item/index.tsx b/packages/gpt-runner-web/client/src/components/chat-message-item/index.tsx index 21c049f..a7569cf 100644 --- a/packages/gpt-runner-web/client/src/components/chat-message-item/index.tsx +++ b/packages/gpt-runner-web/client/src/components/chat-message-item/index.tsx @@ -5,7 +5,6 @@ import { ChatMessageStatus, ChatRole } from '@nicepkg/gpt-runner-shared/common' import type { MessageTextViewProps } from '../chat-message-text-view' import { MessageTextView } from '../chat-message-text-view' import { Icon } from '../icon' -import { useHover } from '../../hooks/use-hover.hook' import { MsgAvatarWrapper, MsgContent, MsgContentFooterWrapper, MsgContentWrapper, MsgWrapper } from './chat-message-item.styles' export interface BuildMessageToolbarState extends SingleChatMessage { @@ -13,7 +12,6 @@ export interface BuildMessageToolbarState extends SingleChatMessage { } export interface MessageItemProps extends SingleChatMessage, Partial { status: ChatMessageStatus - showToolbar?: 'always' | 'hover' | 'never' showAvatar?: boolean style?: React.CSSProperties buildMessageToolbar?: (state: BuildMessageToolbarState) => React.ReactNode @@ -26,34 +24,12 @@ export const MessageItem: FC = memo((props) => { status, style, showAvatar = false, - showToolbar = 'hover', buildCodeToolbar, buildMessageToolbar, ...messageTextViewProps } = props - const [hoverContentRef, isContentHover] = useHover() const contents = status === ChatMessageStatus.Pending ? `${text}\u{258A}` : text - const renderContent = ({ showToolbar }: Pick) => { - return - - - - - {buildMessageToolbar?.({ - name, - text, - status, - })} - - - } return ( @@ -61,29 +37,26 @@ export const MessageItem: FC = memo((props) => { - { - showToolbar === 'hover' - ? ( - <> - {/* use absolute position to render a same content with toolbar - this is helpful to not change height */} - {renderContent({ - showToolbar: 'never', - })} - {isContentHover && renderContent({ - showToolbar: 'hover', - })} - ) - : renderContent({ - showToolbar, - }) - } + + + + + {buildMessageToolbar?.({ + name, + text, + status, + })} + + ) diff --git a/packages/gpt-runner-web/client/src/components/chat-message-panel/index.tsx b/packages/gpt-runner-web/client/src/components/chat-message-panel/index.tsx index 98011b0..ded3d59 100644 --- a/packages/gpt-runner-web/client/src/components/chat-message-panel/index.tsx +++ b/packages/gpt-runner-web/client/src/components/chat-message-panel/index.tsx @@ -4,7 +4,10 @@ import { MessageItem } from '../chat-message-item' import { Panel } from './chat-message-panel.styles' export interface ChatMessagePanelProps { + style?: React.CSSProperties + topSlot?: React.ReactNode messageItems: MessageItemProps[] + bottomSlot?: React.ReactNode } // Define the ref type for the component @@ -12,13 +15,15 @@ export type ChatMessagePanelRef = HTMLDivElement // Use ForwardRefRenderFunction to define the component with an explicit ref parameter export const ChatMessagePanel = memo(forwardRef((props, ref) => { - const { messageItems } = props + const { messageItems, style, topSlot, bottomSlot } = props return ( - + + {topSlot} {messageItems.map((item, index) => { return })} + {bottomSlot} ) })) diff --git a/packages/gpt-runner-web/client/src/components/drag-resize-view/drag-resize-view.styles.ts b/packages/gpt-runner-web/client/src/components/drag-resize-view/drag-resize-view.styles.ts index fa77659..53a90af 100644 --- a/packages/gpt-runner-web/client/src/components/drag-resize-view/drag-resize-view.styles.ts +++ b/packages/gpt-runner-web/client/src/components/drag-resize-view/drag-resize-view.styles.ts @@ -5,6 +5,7 @@ const lineWeight = '8px' export const DragLine = styled.div<{ $dragLineColor: string; $dragLineActiveColor: string; $dragLineWidth: string }>` position: absolute; + z-index: 10; /* background: ${({ $dragLineColor }) => $dragLineColor}; */ border-color: ${({ $dragLineColor }) => $dragLineColor}; border-style: solid; diff --git a/packages/gpt-runner-web/client/src/components/drag-resize-view/index.tsx b/packages/gpt-runner-web/client/src/components/drag-resize-view/index.tsx index 44590cb..3689d1a 100644 --- a/packages/gpt-runner-web/client/src/components/drag-resize-view/index.tsx +++ b/packages/gpt-runner-web/client/src/components/drag-resize-view/index.tsx @@ -1,9 +1,8 @@ -import type { FC } from 'react' -import { memo, useEffect, useMemo, useRef } from 'react' +import { forwardRef, memo, useEffect, useImperativeHandle, useMemo, useRef } from 'react' import type { UserDragConfig } from '@use-gesture/react' import { useDrag } from '@use-gesture/react' -import type { SpringOptions } from 'framer-motion' -import { motion, useMotionValue, useSpring } from 'framer-motion' +import type { MotionValue, SpringOptions } from 'framer-motion' +import { AnimatePresence, motion, useMotionValue, useSpring } from 'framer-motion' import { isDomHidden } from '../../helpers/utils' import { DragLine } from './drag-resize-view.styles' @@ -16,6 +15,12 @@ export interface DragDirectionConfig { */ boundary: number[] } + +export interface DragResizeViewRef { + motionDragWidth: MotionValue | undefined + motionDragHeight: MotionValue | undefined +} + export interface DragResizeViewProps { initWidth?: number initHeight?: number @@ -29,14 +34,10 @@ export interface DragResizeViewProps { dragLineActiveColor?: string dragLineWidth?: string children: React.ReactNode - - // drawer - drawerClassName?: string - drawerStyle?: React.CSSProperties open?: boolean } -export const DragResizeView: FC = memo((props) => { +export const DragResizeView = memo(forwardRef((props, ref) => { const { initWidth, initHeight, @@ -51,13 +52,11 @@ export const DragResizeView: FC = memo((props) => { dragLineWidth = '1px', children, - // drawer - drawerClassName, - drawerStyle, + // drag open = true, } = props - const ref = useRef(null) + const dragRef = useRef(null) const finalWidth = useMotionValue(initWidth) const finalHeight = useMotionValue(initHeight) @@ -83,9 +82,9 @@ export const DragResizeView: FC = memo((props) => { useEffect(() => { const handleWindowResize = () => { - if (ref.current && !isDomHidden(ref.current)) { - finalWidth.set(ref.current.offsetWidth) - finalHeight.set(ref.current.offsetHeight) + if (dragRef.current && !isDomHidden(dragRef.current)) { + finalWidth.set(dragRef.current.offsetWidth) + finalHeight.set(dragRef.current.offsetHeight) } } @@ -198,39 +197,33 @@ export const DragResizeView: FC = memo((props) => { const dragWidth = useSpring(finalWidth, springConfig) const dragHeight = useSpring(finalHeight, springConfig) - // drawer - const drawerWidth = useSpring(finalWidth, springConfig) - const drawerHeight = useSpring(finalHeight, springConfig) - useEffect(() => { - drawerWidth.set(!open && isX ? 0 : finalWidth.get()) + // drawer + dragWidth.set(!open && isX ? 0 : finalWidth.get()) }, [open, isX]) useEffect(() => { - drawerHeight.set(!open && isY ? 0 : finalHeight.get()) + // drawer + dragHeight.set(!open && isY ? 0 : finalHeight.get()) }, [open, isY]) - // drawer - return + useImperativeHandle(ref, () => ({ + motionDragWidth: initWidth !== undefined ? dragWidth : undefined, + motionDragHeight: initHeight !== undefined ? dragHeight : undefined, + }), [initWidth, initHeight]) - {/* drag */} + // drag & drag + return {children} @@ -250,7 +243,7 @@ export const DragResizeView: FC = memo((props) => { : null })} - -}) + +})) DragResizeView.displayName = 'DragResizeView' diff --git a/packages/gpt-runner-web/client/src/components/editor/index.tsx b/packages/gpt-runner-web/client/src/components/editor/index.tsx index 63e81c5..55daba3 100644 --- a/packages/gpt-runner-web/client/src/components/editor/index.tsx +++ b/packages/gpt-runner-web/client/src/components/editor/index.tsx @@ -4,8 +4,7 @@ import type { FC } from 'react' import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react' import * as monaco from 'monaco-editor' import type { MonacoEditorInstance } from '../../types/monaco-editor' -import { useGlobalStore } from '../../store/zustand/global' -import { isDarkTheme } from '../../styles/themes' +import { useDarkTheme } from '../../hooks/use-css-var-color.hook' import { initLanguageSettings } from './monaco/init-languages-settings' import { createSwitchLanguageCommand } from './monaco/commands/switch-language' import { createCtrlSToSaveAction } from './monaco/actions/ctrls-to-save' @@ -67,10 +66,7 @@ export const Editor: FC = memo((props) => { const defaultLanguage = defaultLanguageFromProps || DEFAULT_LANGUAGE const language = languageFromProps || currentExtLanguage || defaultLanguage - const { - themeName, - } = useGlobalStore() - const isDark = isDarkTheme(themeName) + const isDark = useDarkTheme() const handleEditorWillMount = useCallback((monaco: Monaco) => { // here is the monaco instance diff --git a/packages/gpt-runner-web/client/src/components/icon-button/icon-button.styles.ts b/packages/gpt-runner-web/client/src/components/icon-button/icon-button.styles.ts index 0e72fd7..3ff49e0 100644 --- a/packages/gpt-runner-web/client/src/components/icon-button/icon-button.styles.ts +++ b/packages/gpt-runner-web/client/src/components/icon-button/icon-button.styles.ts @@ -1,13 +1,13 @@ import { css, styled } from 'styled-components' -export const ButtonWrapper = styled.div<{ $hoverShowText?: boolean }>` +export const ButtonWrapper = styled.div<{ $transparentBgWhenNotHover: boolean; $hoverShowText?: boolean }>` display: flex; flex-shrink: 0; overflow: hidden; vscode-button { &:not(:hover) { - background: transparent; + background: ${({ $transparentBgWhenNotHover }) => ($transparentBgWhenNotHover ? 'transparent' : '')}; } /* &::part(control) { diff --git a/packages/gpt-runner-web/client/src/components/icon-button/index.tsx b/packages/gpt-runner-web/client/src/components/icon-button/index.tsx index b567866..4234ef6 100644 --- a/packages/gpt-runner-web/client/src/components/icon-button/index.tsx +++ b/packages/gpt-runner-web/client/src/components/icon-button/index.tsx @@ -17,6 +17,7 @@ export interface IconButtonProps extends GetComponentProps = memo((props) => { iconClassName, showText = true, hoverShowText = true, + transparentBgWhenNotHover = false, radius = '0.25rem', className, style, buttonStyle, @@ -95,7 +97,7 @@ export const IconButton: FC = memo((props) => { }, } - return + return = memo((props) => { }, menu: { maxHeight: Math.min(childrenY, windowHeight) - minusHeightSpace, - height: childrenInMenuWhenOpen ? 'unset' : '100vh', + height: childrenInMenuWhenOpen ? 'unset' : 'auto', }, }, bottom: { @@ -164,7 +164,7 @@ export const PopoverMenu: React.FC = memo((props) => { }, menu: { maxHeight: Math.min(windowHeight - childrenY - childrenHeight, windowHeight) - minusHeightSpace, - height: childrenInMenuWhenOpen ? 'unset' : '100vh', + height: childrenInMenuWhenOpen ? 'unset' : 'auto', }, }, } @@ -234,7 +234,9 @@ export const PopoverMenu: React.FC = memo((props) => { > {yPosition === 'bottom' && renderToolbar()} - + {yPosition === 'top' && buildMenuSlot()} {childrenInMenuWhenOpen @@ -250,6 +252,7 @@ export const PopoverMenu: React.FC = memo((props) => { {yPosition === 'top' && renderToolbar()} + diff --git a/packages/gpt-runner-web/client/src/components/popover-menu/popover-menu.styles.ts b/packages/gpt-runner-web/client/src/components/popover-menu/popover-menu.styles.ts index db31e87..03656d3 100644 --- a/packages/gpt-runner-web/client/src/components/popover-menu/popover-menu.styles.ts +++ b/packages/gpt-runner-web/client/src/components/popover-menu/popover-menu.styles.ts @@ -1,4 +1,5 @@ import styled from 'styled-components' +import { backDropBg } from '../../styles/utils' export const MenuMask = styled.div` overflow: hidden; @@ -16,12 +17,13 @@ export const Toolbar = styled.div` ` export const Menu = styled.div` + position: relative; display: flex; flex-direction: column; - background-color: var(--panel-view-background); border: 1px solid var(--panel-view-border); border-radius: 0.5rem; overflow: hidden; + ${backDropBg} ` export const MenuChildrenWrapper = styled.div` @@ -29,7 +31,6 @@ export const MenuChildrenWrapper = styled.div` overflow-x: hidden; overflow-y: auto; - & > .icon-button { margin-left: 0; margin-right: 0; diff --git a/packages/gpt-runner-web/client/src/components/sidebar/index.tsx b/packages/gpt-runner-web/client/src/components/sidebar/index.tsx index 2be1cc4..e6de8ac 100644 --- a/packages/gpt-runner-web/client/src/components/sidebar/index.tsx +++ b/packages/gpt-runner-web/client/src/components/sidebar/index.tsx @@ -5,7 +5,8 @@ import type { TreeProps } from '../tree' import { Tree } from '../tree' import type { TreeItemBaseStateOtherInfo, TreeItemProps } from '../tree-item' import { LoadingView } from '../loading-view' -import { SidebarHeader, SidebarSearch, SidebarSearchRightWrapper, SidebarSearchWrapper, SidebarTreeWrapper, SidebarUnderSearchWrapper, SidebarWrapper } from './sidebar.styles' +import { useElementSizeRealTime } from '../../hooks/use-element-size-real-time.hook' +import { SidebarHeader, SidebarSearch, SidebarSearchRightWrapper, SidebarSearchWrapper, SidebarTopBlurContainer, SidebarTreeWrapper, SidebarUnderSearchWrapper, SidebarWrapper } from './sidebar.styles' export interface SidebarProps { defaultSearchKeyword?: string @@ -37,6 +38,7 @@ function Sidebar_[]>([]) + const [SidebarTopBlurContainerRef, { height: SidebarTopBlurContainerHeight }] = useElementSizeRealTime() useDebounce(() => { setDebouncedSearchKeyword(searchKeyword) @@ -78,26 +80,38 @@ function Sidebar_ - - {buildTopToolbarSlot?.()} - - - { - setSearchKeyword(e.target?.value) - }}> - - - {buildSearchRightSlot?.()} - - - - {buildUnderSearchSlot?.()} - + + + {buildTopToolbarSlot?.()} + + + { + setSearchKeyword(e.target?.value) + }}> + + + {buildSearchRightSlot?.()} + + + + {buildUnderSearchSlot?.()} + + + {loading && } + +
+ +
+ = 3) { + const [r, g, b, a = 1] = rgbaArr + rgba = { r, g, b, a } + } + } + isDark = isColorDark(rgba) + } + + return { rgba, isDark } +} + +export function isDarkTheme() { + const { isDark } = getCssVarColorInfo({ element: document.body, cssVarName: '--panel-view-background' }) + return isDark +} + +export type UseCssVarColorProps = Omit & { + elementRef?: React.RefObject +} + +export type UseCssVarColorResult = GetCssVarColorInfoResult & { + updateColor: () => void +} + +export function useCssVarColor(props: UseCssVarColorProps): UseCssVarColorResult { + const { elementRef: elementRefFromProps, cssVarName } = props + + const elementRefFromPrivate = useRef(document.body) + const elementRef = elementRefFromProps || elementRefFromPrivate + const hasElement = (elementRefFromProps ? elementRefFromProps.current : elementRefFromPrivate.current) instanceof HTMLElement + + const [rgba, setRgbColor] = useState(null) + const [isDark, setIsDark] = useState(false) + const { themeName } = useGlobalStore() + + const updateColor = useCallback(() => { + const app = document.querySelector('#root') + if (app) + elementRefFromPrivate.current = app + + if (!hasElement) + return + + const { rgba, isDark } = getCssVarColorInfo({ element: elementRef.current, cssVarName }) + setRgbColor(rgba) + setIsDark(isDark) + }, [cssVarName, hasElement, elementRef.current]) + + useLayoutEffect(() => { + if (!hasElement) + return + + updateColor() + const observer = new MutationObserver((mutationsList) => { + for (const mutation of mutationsList) { + if (mutation.type === 'attributes') + updateColor() + } + }) + + observer.observe(document.body, { attributes: true }) + + return () => observer.disconnect() + }, [updateColor, hasElement, themeName]) + + return { rgba, isDark, updateColor } +} + +export function useDarkTheme(): boolean { + const { isDark } = useCssVarColor({ cssVarName: '--panel-view-background' }) + + return isDark +} diff --git a/packages/gpt-runner-web/client/src/pages/chat/chat.styles.ts b/packages/gpt-runner-web/client/src/pages/chat/chat.styles.ts index 00ea151..038b0c2 100644 --- a/packages/gpt-runner-web/client/src/pages/chat/chat.styles.ts +++ b/packages/gpt-runner-web/client/src/pages/chat/chat.styles.ts @@ -15,7 +15,6 @@ export const ContentWrapper = styled.div<{ $isPopoverContent?: boolean; $isTopTo ${props => props.$isPopoverContent && css` width: calc(100vw - 1rem); height: 100%; - background: var(--panel-view-background); max-width: 500px; ${withBreakpoint('sm', css` diff --git a/packages/gpt-runner-web/client/src/pages/chat/components/chat-panel/chat-panel.styles.ts b/packages/gpt-runner-web/client/src/pages/chat/components/chat-panel/chat-panel.styles.ts index 4b3a05d..58bbd28 100644 --- a/packages/gpt-runner-web/client/src/pages/chat/components/chat-panel/chat-panel.styles.ts +++ b/packages/gpt-runner-web/client/src/pages/chat/components/chat-panel/chat-panel.styles.ts @@ -2,6 +2,7 @@ import { css, styled } from 'styled-components' import { withBreakpoint } from '../../../../helpers/with-breakpoint' export const ChatPanelWrapper = styled.div` + position: relative; display: flex; flex-direction: column; flex: 1; @@ -15,5 +16,4 @@ export const ChatPanelWrapper = styled.div` ` export const ChatPanelPopoverTreeWrapper = styled.div` - height: 100%; ` diff --git a/packages/gpt-runner-web/client/src/pages/chat/components/chat-panel/index.tsx b/packages/gpt-runner-web/client/src/pages/chat/components/chat-panel/index.tsx index 3f20a84..f0b35e2 100644 --- a/packages/gpt-runner-web/client/src/pages/chat/components/chat-panel/index.tsx +++ b/packages/gpt-runner-web/client/src/pages/chat/components/chat-panel/index.tsx @@ -1,9 +1,10 @@ import type { FC, RefObject } from 'react' -import { memo, useCallback, useEffect, useMemo, useState } from 'react' +import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react' import { ChatMessageStatus, ChatRole, ClientEventName, getErrorMsg } from '@nicepkg/gpt-runner-shared/common' import { useTranslation } from 'react-i18next' import { toast } from 'react-hot-toast' import { copyToClipboard } from '@nicepkg/gpt-runner-shared/browser' +import { motion } from 'framer-motion' import type { ChatMessagePanelProps } from '../../../../components/chat-message-panel' import { FormTitle } from '../../../../components/form-title' import { ChatMessagePanel } from '../../../../components/chat-message-panel' @@ -16,16 +17,17 @@ import { useGlobalStore } from '../../../../store/zustand/global' import type { GptFileTreeItem } from '../../../../store/zustand/global/sidebar-tree.slice' import { getGlobalConfig } from '../../../../helpers/global-config' import { PopoverMenu } from '../../../../components/popover-menu' +import type { DragResizeViewRef } from '../../../../components/drag-resize-view' import { DragResizeView } from '../../../../components/drag-resize-view' import { useElementSizeRealTime } from '../../../../hooks/use-element-size-real-time.hook' import { useTempStore } from '../../../../store/zustand/temp' import type { MessageCodeBlockTheme } from '../../../../components/chat-message-code-block' -import { isDarkTheme } from '../../../../styles/themes' import { emitter } from '../../../../helpers/emitter' import { ModelSettings } from '../settings/components/model-settings' import { ContentWrapper } from '../../chat.styles' import { ContextSettings } from '../settings/components/context-settings' import { OverrideModelTypeSettings } from '../settings/components/model-settings/override-model-type' +import { useDarkTheme } from '../../../../hooks/use-css-var-color.hook' import { ChatPanelPopoverTreeWrapper, ChatPanelWrapper } from './chat-panel.styles' import { createRemarkOpenEditorPlugin } from './remark-plugin' @@ -68,6 +70,7 @@ export const ChatPanel: FC = memo((props) => { const [gptFileTreeItem, setGptFileTreeItem] = useState() const [chatPanelRef, { width: chatPanelWidth, height: chatPanelHeight }] = useElementSizeRealTime() const { filesRelativePaths } = useTempStore() + const dargChatInputRef = useRef(null) const defaultInitChatInputHeight = useMemo(() => { const DEFAULT_CHAT_INPUT_HEIGHT = 250 @@ -251,13 +254,13 @@ export const ChatPanel: FC = memo((props) => { }, [handleCopy, handleInsertCodes, handleDiffCodes]) - const codeBlockTheme: MessageCodeBlockTheme = isDarkTheme(themeName) ? 'dark' : 'light' + const isDark = useDarkTheme() + const codeBlockTheme: MessageCodeBlockTheme = isDark ? 'dark' : 'light' const messagePanelProps: ChatMessagePanelProps = useMemo(() => { return { messageItems: chatInstance?.messages.map((message, i) => { const isLast = i === chatInstance.messages.length - 1 - const isLastTwo = i >= chatInstance.messages.length - 2 const isAi = message.name === ChatRole.Assistant const handleRegenerateMessage = () => { @@ -320,7 +323,6 @@ export const ChatPanel: FC = memo((props) => { ...message, remarkPlugins, status: isLast ? status : ChatMessageStatus.Success, - showToolbar: isLastTwo ? 'always' : 'hover', showAvatar: chatPanelWidth > 600, theme: codeBlockTheme, buildCodeToolbar: status === ChatMessageStatus.Pending ? undefined : buildCodeToolbar, @@ -482,6 +484,9 @@ export const ChatPanel: FC = memo((props) => { childrenInMenuWhenOpen={true} buildChildrenSlot={({ isHovering }) => { return = memo((props) => { } return - + + } + > - {initChatInputHeight && - 600} - showBottomLogo={chatPanelWidth <= 600} - value={chatInstance?.inputtingPrompt || ''} - onChange={handleInputChange} - toolbarSlot={renderInputToolbar()} - onSendMessage={handleGenerateAnswer} - logoProps={{ - onClick() { - setInitChatInputHeight(initChatInputHeight === defaultInitChatInputHeight ? maxInitChatInputHeight : defaultInitChatInputHeight) + {initChatInputHeight + && - } + > + 600} + showBottomLogo={chatPanelWidth <= 600} + value={chatInstance?.inputtingPrompt || ''} + onChange={handleInputChange} + toolbarSlot={renderInputToolbar()} + onSendMessage={handleGenerateAnswer} + logoProps={{ + onClick() { + setInitChatInputHeight(initChatInputHeight === defaultInitChatInputHeight ? maxInitChatInputHeight : defaultInitChatInputHeight) + }, + }} + > + + } }) diff --git a/packages/gpt-runner-web/client/src/pages/chat/components/settings/components/config-info/index.tsx b/packages/gpt-runner-web/client/src/pages/chat/components/settings/components/config-info/index.tsx index ecbdaae..c32d8cf 100644 --- a/packages/gpt-runner-web/client/src/pages/chat/components/settings/components/config-info/index.tsx +++ b/packages/gpt-runner-web/client/src/pages/chat/components/settings/components/config-info/index.tsx @@ -3,12 +3,12 @@ import type { SingleFileConfig, UserConfig } from '@nicepkg/gpt-runner-shared/co import { useGlobalStore } from '../../../../../../store/zustand/global' import type { MessageCodeBlockTheme } from '../../../../../../components/chat-message-code-block' import { MessageCodeBlock } from '../../../../../../components/chat-message-code-block' -import { isDarkTheme } from '../../../../../../styles/themes' import { useUserConfig } from '../../../../../../hooks/use-user-config.hook' import { ConfigInfoWrapper } from '../../settings.styles' import { FormTitle } from '../../../../../../components/form-title' import { FlexColumn } from '../../../../../../styles/global.styles' import { LoadingView } from '../../../../../../components/loading-view' +import { useDarkTheme } from '../../../../../../hooks/use-css-var-color.hook' export interface ConfigInfoProps { rootPath?: string @@ -19,11 +19,12 @@ export interface ConfigInfoProps { export const ConfigInfo: FC = memo((props) => { const { rootPath, chatId, singleFileConfig: singleFileConfigFromProps, userConfig: userConfigFromProps } = props - const { themeName, getGptFileTreeItemFromChatId } = useGlobalStore() + const { getGptFileTreeItemFromChatId } = useGlobalStore() + const isDark = useDarkTheme() const codeBlockTheme: MessageCodeBlockTheme = useMemo(() => { - return isDarkTheme(themeName) ? 'dark' : 'light' - }, [themeName]) + return isDark ? 'dark' : 'light' + }, [isDark]) const gptFileTreeItem = useMemo(() => { if (!chatId) diff --git a/packages/gpt-runner-web/client/src/pages/chat/components/top-toolbar/index.tsx b/packages/gpt-runner-web/client/src/pages/chat/components/top-toolbar/index.tsx index 784145e..503fdf3 100644 --- a/packages/gpt-runner-web/client/src/pages/chat/components/top-toolbar/index.tsx +++ b/packages/gpt-runner-web/client/src/pages/chat/components/top-toolbar/index.tsx @@ -8,6 +8,7 @@ import { useIsMobile } from '../../../../hooks/use-is-mobile.hook' import type { UseTokenNumProps } from '../../../../hooks/use-token-num.hook' import { useTokenNum } from '../../../../hooks/use-token-num.hook' import { formatNumWithK } from '../../../../helpers/utils' +import { useTempStore } from '../../../../store/zustand/temp' import { TopToolbarBlank, TopToolbarLeft, TopToolbarRight, TopToolbarWrapper } from './top-toolbar.styles' export interface TopToolbarProps extends UseTokenNumProps { @@ -23,13 +24,15 @@ export const TopToolbar = memo(forwardRef((prop const { t } = useTranslation() const isMobile = useIsMobile() const { totalTokenNum } = useTokenNum(useTokenNumProps) + const { updateCurrentAppConfig } = useTempStore() - const popMenus: { + const menus: { text: string alwaysShowText?: boolean iconClassName: string menuView?: React.ReactNode menuProps?: PopoverMenuProps + onClick?: () => void }[] = [{ text: t('chat_page.settings_btn'), alwaysShowText: true, @@ -45,12 +48,21 @@ export const TopToolbar = memo(forwardRef((prop alwaysShowText: !isMobile, iconClassName: 'codicon-info', menuView: aboutView, + }, { + text: t('chat_page.settings_tab_notifications'), + alwaysShowText: !isMobile, + iconClassName: 'codicon-bell', + onClick() { + updateCurrentAppConfig({ + showNotificationModal: true, + }) + }, }] return <> - {popMenus.map((popMenu, index) => { + {menus.map((popMenu, index) => { const { text, alwaysShowText, iconClassName, menuView, menuProps } = popMenu return ((prop text={text} iconClassName={iconClassName} hoverShowText={!alwaysShowText && !isHovering} + transparentBgWhenNotHover style={{ paddingLeft: '0.5rem', }} + onClick={(e: any) => { + if (popMenu.onClick) { + e.stopPropagation() + popMenu.onClick?.() + } + }} > }} buildMenuSlot={() => { diff --git a/packages/gpt-runner-web/client/src/styles/global.styles.ts b/packages/gpt-runner-web/client/src/styles/global.styles.ts index 9895af8..e2a1084 100644 --- a/packages/gpt-runner-web/client/src/styles/global.styles.ts +++ b/packages/gpt-runner-web/client/src/styles/global.styles.ts @@ -1,32 +1,54 @@ import { createGlobalStyle, styled } from 'styled-components' -export const GlobalStyle = createGlobalStyle` +export const GlobalStyle = createGlobalStyle<{ appendCss?: string }>` #root { - width: 100%; - height: 100%; + width: 100%; + height: 100%; } body { - margin: 0; - padding: 0; - width: 100%; - height: 100vh; - overflow: hidden; - user-select: none; - -webkit-user-select: none; - -webkit-user-drag: none; - background: var(--background); - color: var(--foreground); - font-family: var(--font-family); + margin: 0; + padding: 0; + width: 100%; + height: 100vh; + overflow: hidden; + user-select: none; + -webkit-user-select: none; + -webkit-user-drag: none; + background: var(--background); + color: var(--foreground); + font-family: var(--font-family); - --my-button-height: calc(var(--border-width) * 1px * 2 + var(--button-padding-vertical) * 2 + var(--type-ramp-base-font-size)); - --my-input-height: calc(var(--border-width) * 1px * 2 + var(--input-height) * 1px); + --my-button-height: calc(var(--border-width) * 1px * 2 + var(--button-padding-vertical) * 2 + var(--type-ramp-base-font-size)); + --my-input-height: calc(var(--border-width) * 1px * 2 + var(--input-height) * 1px); + --my-backdrop-filter: saturate(180%) blur(20px); } * { - box-sizing: border-box; - padding: 0; - margin: 0; + box-sizing: border-box; + padding: 0; + margin: 0; + + ::-webkit-scrollbar { + width: 10px; + background: transparent !important; + } + + ::-webkit-scrollbar-track { + background: transparent !important; + } + + ::-webkit-scrollbar-thumb { + background: var(--my-scrollbar-bg); + border-radius: 5px; + transition: all 0.3s ease-in-out; + + &:hover { + background: var(--my-scrollbar-hover-bg); + } + } } + + ${props => props.appendCss} ` export const FlexRow = styled.div` diff --git a/packages/gpt-runner-web/client/src/styles/markdown.styles.ts b/packages/gpt-runner-web/client/src/styles/markdown.styles.ts index 1e3f9a4..31dbb3c 100644 --- a/packages/gpt-runner-web/client/src/styles/markdown.styles.ts +++ b/packages/gpt-runner-web/client/src/styles/markdown.styles.ts @@ -173,6 +173,7 @@ export const MarkdownStyle = createGlobalStyle` blockquote { border-left: 4px solid var(--panel-view-border); padding: 0 15px; + margin-left: 15px; } blockquote > :first-child { margin-top: 0; diff --git a/packages/gpt-runner-web/client/src/styles/themes/index.ts b/packages/gpt-runner-web/client/src/styles/themes/index.ts index 637aff6..8c335fd 100644 --- a/packages/gpt-runner-web/client/src/styles/themes/index.ts +++ b/packages/gpt-runner-web/client/src/styles/themes/index.ts @@ -23,9 +23,4 @@ if (getGlobalConfig().defaultTheme !== 'default') { ;(themeMap as any).default = defaultTheme } -export function isDarkTheme(themeName: ThemeName) { - const darkThemes: ThemeName[] = ['default', 'gptrDark', 'vscodeDynamic', 'vscodeDark', 'jetbrainsDark'] - return darkThemes.includes(themeName) -} - export type ThemeName = keyof typeof themeMap diff --git a/packages/gpt-runner-web/client/src/styles/utils.ts b/packages/gpt-runner-web/client/src/styles/utils.ts index 2f4f33a..8c92a06 100644 --- a/packages/gpt-runner-web/client/src/styles/utils.ts +++ b/packages/gpt-runner-web/client/src/styles/utils.ts @@ -5,3 +5,18 @@ export const textEllipsis = css` text-overflow: ellipsis; white-space: nowrap; ` + +export const backDropBg = css` + &::before { + content: ''; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: -1; + backdrop-filter: var(--my-backdrop-filter); + -webkit-backdrop-filter: var(--my-backdrop-filter); + background: var(--my-backdrop-bg); + } +` diff --git a/packages/gpt-runner-web/client/src/views/layout/index.tsx b/packages/gpt-runner-web/client/src/views/layout/index.tsx index 33590ef..f96571e 100644 --- a/packages/gpt-runner-web/client/src/views/layout/index.tsx +++ b/packages/gpt-runner-web/client/src/views/layout/index.tsx @@ -1,12 +1,13 @@ import { useMutation, useQuery } from '@tanstack/react-query' import type { ReactNode } from 'react' -import { memo, useMemo } from 'react' +import { memo } from 'react' import type { MarkAsVisitedAppConfigReqParams } from '@nicepkg/gpt-runner-shared/common' import { useTempStore } from '../../store/zustand/temp' import { useGlobalStore } from '../../store/zustand/global' import { fetchAppConfig, markAsVisitedAppConfig } from '../../networks/config' import { Modal } from '../../components/modal' import { MessageTextView } from '../../components/chat-message-text-view' +import { Wrapper } from './layout.styles' export interface LayoutProps { children?: ReactNode @@ -37,18 +38,18 @@ export const Layout = memo((props: LayoutProps) => { }) const notificationConfig = currentAppConfig?.currentConfig?.notificationConfig - const releaseConfig = currentAppConfig?.currentConfig?.releaseConfig + // const releaseConfig = currentAppConfig?.currentConfig?.releaseConfig - const releaseLog = useMemo(() => { - let content = '' - releaseConfig?.changeLogs.forEach((log) => { - content += `## ${log.version}\n` - content += `${log.changes}\n\n` - }) - return content - }, [releaseConfig?.changeLogs]) + // const releaseLog = useMemo(() => { + // let content = '' + // releaseConfig?.changeLogs.forEach((log) => { + // content += `## ${log.version}\n` + // content += `${log.changes}\n\n` + // }) + // return content + // }, [releaseConfig?.changeLogs]) - return <> + return {/* notification modal */} { {/* release log modal */} - { > - + */} {children} - + }) Layout.displayName = 'Layout' diff --git a/packages/gpt-runner-web/client/src/views/layout/layout.styles.ts b/packages/gpt-runner-web/client/src/views/layout/layout.styles.ts new file mode 100644 index 0000000..1a54663 --- /dev/null +++ b/packages/gpt-runner-web/client/src/views/layout/layout.styles.ts @@ -0,0 +1,6 @@ +import { styled } from 'styled-components' + +export const Wrapper = styled.div` + width: 100%; + height: 100%; +` diff --git a/packages/gpt-runner-web/package.json b/packages/gpt-runner-web/package.json index 222d01f..10d2ee0 100644 --- a/packages/gpt-runner-web/package.json +++ b/packages/gpt-runner-web/package.json @@ -80,19 +80,19 @@ "@monaco-editor/react": "^4.5.1", "@nicepkg/gpt-runner-core": "workspace:*", "@nicepkg/gpt-runner-shared": "workspace:*", - "@tanstack/react-query": "^4.32.0", + "@tanstack/react-query": "^4.32.5", "@types/connect-history-api-fallback": "^1.5.0", "@types/cors": "^2.8.13", "@types/express": "^4.17.17", "@types/global-agent": "^2.1.1", "@types/keyboardjs": "^2.5.1", "@types/lodash-es": "^4.17.8", - "@types/react": "^18.2.17", + "@types/react": "^18.2.18", "@types/react-dom": "^18.2.7", "@types/react-syntax-highlighter": "^15.5.7", "@types/uuid": "^9.0.2", "@use-gesture/react": "^10.2.27", - "@vitejs/plugin-react": "^4.0.3", + "@vitejs/plugin-react": "^4.0.4", "@vscode/webview-ui-toolkit": "^1.2.2", "clsx": "^2.0.0", "commander": "^10.0.1", @@ -104,32 +104,33 @@ "framer-motion": "^10.15.0", "fs-extra": "^11.1.1", "global-agent": "^3.0.0", - "i18next": "^23.3.0", + "i18next": "^23.4.1", "i18next-browser-languagedetector": "^7.1.0", "i18next-http-backend": "^2.2.1", "js-base64": "^3.7.5", "keyboardjs": "^2.7.0", "lodash-es": "^4.17.21", - "monaco-editor": "^0.40.0", + "monaco-editor": "^0.41.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-error-boundary": "^4.0.10", "react-hook-form": "^7.45.2", "react-hot-toast": "^2.4.1", - "react-i18next": "^13.0.2", + "react-i18next": "^13.0.3", "react-markdown": "^8.0.7", "react-router-dom": "^6.14.2", "react-syntax-highlighter": "^15.5.0", "react-tiny-popover": "^7.2.4", "react-use": "^17.4.0", "remark-gfm": "^3.0.1", - "styled-components": "^6.0.5", - "undici": "^5.22.1", + "styled-components": "^6.0.7", + "undici": "^5.23.0", "unist-util-visit": "^5.0.0", "uuid": "^9.0.0", - "vite": "^4.4.7", + "vite": "^4.4.8", "vite-plugin-monaco-editor": "^1.1.0", "vite-plugin-svgr": "^3.2.0", - "zustand": "^4.3.9" + "web-streams-polyfill": "^3.2.1", + "zustand": "^4.4.0" } -} +} \ No newline at end of file diff --git a/packages/gpt-runner-web/server/src/helpers/app-config/notification.config.ts b/packages/gpt-runner-web/server/src/helpers/app-config/notification.config.ts index dbab523..2e92057 100644 --- a/packages/gpt-runner-web/server/src/helpers/app-config/notification.config.ts +++ b/packages/gpt-runner-web/server/src/helpers/app-config/notification.config.ts @@ -1,25 +1,36 @@ import type { NotificationConfig } from '@nicepkg/gpt-runner-shared/common' export const notificationConfig: NotificationConfig = { - createAt: '2023-07-24 23:31:22', + createAt: '2023-08-06 18:37:10', title: 'GPT Runner Notification', - message: 'v1.2.0 is release', + message: 'v1.2.2 is release', } export const cnNotificationConfig: NotificationConfig = { - createAt: '2023-07-24 23:31:26', + createAt: '2023-08-06 18:37:06', title: 'GPT Runner 通知', message: ` -### 版本更新到了 v1.2.0 -1. 重启 vscode 即可去扩展处更新 -2. cli 的执行 \`npm i -g gptr\` 即可更新 +### 🚀 新版 v1.2.2 (2023-08-06) -### 本次功能更新 -1. 针对语言为简体中文的用户提供 OpenAI API key 供应商,也就是你可以白嫖了。 +> vscode 用户重启 vscode 后即可在扩展处更新。 +> +> cli 用户执行 \`npm i -g gptr\` 即可更新。 + +1. 针对语言为简体中文的用户提供 OpenAI API key 第三方供应商,也就是你可以白嫖了。 2. 点击左上角设置,切换供应商即可。 -3. 本次 API Key 由慷慨大方的 \`剑廿三\` 提供,让我们把掌声送给他。 +3. 本次 API Key 由慷慨大方的 \`朝云云\` 提供,让我们把掌声送给他。 + +### 💬 交流 -### 交流 1. 想进群交流的加 wechat: \`qq2214962083\` +2. 所有捐赠 API Key 的朋友,都可以在这里免费展示 50 字以内的广告直到 API Key 失效,如果你也想捐赠 API Key,可以联系我。 +3. 此处广告仅供展示,与 GPT-Runner 无关,**若有财产交易,请自行承担风险** + +### 📢 YunAI - AI驱动的WEB对话应用 (朝云云供应商广告) + +🔵 [**点击进入**](https://faschat.zyai.online/)注册即送大量3.5使用次数 + +如需适配 GPT-Runner 的 4.0-32k 或 Claude 接口服务,可 VX 联系:\`YunAi0101\` + `, } diff --git a/packages/gpt-runner-web/server/src/helpers/app-config/vendors.config.ts b/packages/gpt-runner-web/server/src/helpers/app-config/vendors.config.ts index ea11c80..dae07b0 100644 --- a/packages/gpt-runner-web/server/src/helpers/app-config/vendors.config.ts +++ b/packages/gpt-runner-web/server/src/helpers/app-config/vendors.config.ts @@ -8,13 +8,13 @@ export const vendorsConfig: VendorsConfig = { } export const cnVendorsConfig: VendorsConfig = { - createAt: '2023-07-24 23:40:49', + createAt: '2023-08-06 18:37:22', [ChatModelType.Openai]: [{ - vendorName: 'xabcai', + vendorName: '朝云云供应商', vendorSecrets: { - basePath: 'https://api.xabcai.com/v1', + basePath: 'http://8.130.89.91:3000/v1', // don't forgot it should be base64 - apiKey: 'c2stWHZQeGJQMVBySFduZDJFZ0xpa0lKTlQzOTNoc3pZdDdmN0NNZUozSE1pdkw2QVdx', + apiKey: 'c2stQUlBc2NTUGk2RVR0cXVSVThmMmYzODU1NTk4NzQ4M2U4YjE1QWU4MzEwMjMxZTRi', }, }], [ChatModelType.Anthropic]: [], diff --git a/packages/gpt-runner-web/server/src/proxy.ts b/packages/gpt-runner-web/server/src/proxy.ts index 6e80272..cda582b 100644 --- a/packages/gpt-runner-web/server/src/proxy.ts +++ b/packages/gpt-runner-web/server/src/proxy.ts @@ -1,6 +1,7 @@ import { canUseNodeFetchWithoutCliFlag, getDefaultProxyUrl } from '@nicepkg/gpt-runner-shared/node' import { bootstrap } from 'global-agent' import { Headers, ProxyAgent, Request, Response, fetch, setGlobalDispatcher } from 'undici' +import { ReadableStream } from 'web-streams-polyfill/ponyfill' if (!canUseNodeFetchWithoutCliFlag()) { console.log('GPT Runner: add polyfill for fetch', process.version) @@ -9,6 +10,7 @@ if (!canUseNodeFetchWithoutCliFlag()) { globalThis.Headers = Headers as any globalThis.Request = Request as any globalThis.Response = Response as any + globalThis.ReadableStream = ReadableStream as any } // global proxy diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1817fc8..ff24739 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -165,11 +165,11 @@ importers: specifier: ^5.2.4 version: 5.2.4 langchain: - specifier: ^0.0.118 - version: 0.0.118(ignore@5.2.4) + specifier: ^0.0.122 + version: 0.0.122(ignore@5.2.4) unconfig: - specifier: ^0.3.9 - version: 0.3.9 + specifier: ^0.3.10 + version: 0.3.10 uuid: specifier: ^9.0.0 version: 9.0.0 @@ -178,8 +178,8 @@ importers: version: 3.21.4 devDependencies: '@anthropic-ai/sdk': - specifier: ^0.5.8 - version: 0.5.8 + specifier: ^0.5.10 + version: 0.5.10 openai: specifier: ^3.3.0 version: 3.3.0 @@ -226,11 +226,11 @@ importers: specifier: ^8.4.2 version: 8.4.2 socket.io: - specifier: ^4.7.1 - version: 4.7.1 + specifier: ^4.7.2 + version: 4.7.2 socket.io-client: - specifier: ^4.7.1 - version: 4.7.1 + specifier: ^4.7.2 + version: 4.7.2 zod: specifier: ^3.21.4 version: 3.21.4 @@ -300,7 +300,7 @@ importers: version: 2.0.1 '@monaco-editor/react': specifier: ^4.5.1 - version: 4.5.1(monaco-editor@0.40.0)(react-dom@18.2.0)(react@18.2.0) + version: 4.5.1(monaco-editor@0.41.0)(react-dom@18.2.0)(react@18.2.0) '@nicepkg/gpt-runner-core': specifier: workspace:* version: link:../gpt-runner-core @@ -308,8 +308,8 @@ importers: specifier: workspace:* version: link:../gpt-runner-shared '@tanstack/react-query': - specifier: ^4.32.0 - version: 4.32.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^4.32.5 + version: 4.32.5(react-dom@18.2.0)(react@18.2.0) '@types/connect-history-api-fallback': specifier: ^1.5.0 version: 1.5.0 @@ -329,8 +329,8 @@ importers: specifier: ^4.17.8 version: 4.17.8 '@types/react': - specifier: ^18.2.17 - version: 18.2.17 + specifier: ^18.2.18 + version: 18.2.18 '@types/react-dom': specifier: ^18.2.7 version: 18.2.7 @@ -344,8 +344,8 @@ importers: specifier: ^10.2.27 version: 10.2.27(react@18.2.0) '@vitejs/plugin-react': - specifier: ^4.0.3 - version: 4.0.3(vite@4.4.7) + specifier: ^4.0.4 + version: 4.0.4(vite@4.4.8) '@vscode/webview-ui-toolkit': specifier: ^1.2.2 version: 1.2.2(react@18.2.0) @@ -380,8 +380,8 @@ importers: specifier: ^3.0.0 version: 3.0.0 i18next: - specifier: ^23.3.0 - version: 23.3.0 + specifier: ^23.4.1 + version: 23.4.1 i18next-browser-languagedetector: specifier: ^7.1.0 version: 7.1.0 @@ -398,8 +398,8 @@ importers: specifier: ^4.17.21 version: 4.17.21 monaco-editor: - specifier: ^0.40.0 - version: 0.40.0 + specifier: ^0.41.0 + version: 0.41.0 react: specifier: ^18.2.0 version: 18.2.0 @@ -416,11 +416,11 @@ importers: specifier: ^2.4.1 version: 2.4.1(csstype@3.1.2)(react-dom@18.2.0)(react@18.2.0) react-i18next: - specifier: ^13.0.2 - version: 13.0.2(i18next@23.3.0)(react-dom@18.2.0)(react@18.2.0) + specifier: ^13.0.3 + version: 13.0.3(i18next@23.4.1)(react-dom@18.2.0)(react@18.2.0) react-markdown: specifier: ^8.0.7 - version: 8.0.7(@types/react@18.2.17)(react@18.2.0) + version: 8.0.7(@types/react@18.2.18)(react@18.2.0) react-router-dom: specifier: ^6.14.2 version: 6.14.2(react-dom@18.2.0)(react@18.2.0) @@ -437,11 +437,11 @@ importers: specifier: ^3.0.1 version: 3.0.1 styled-components: - specifier: ^6.0.5 - version: 6.0.5(react-dom@18.2.0)(react@18.2.0) + specifier: ^6.0.7 + version: 6.0.7(react-dom@18.2.0)(react@18.2.0) undici: - specifier: ^5.22.1 - version: 5.22.1 + specifier: ^5.23.0 + version: 5.23.0 unist-util-visit: specifier: ^5.0.0 version: 5.0.0 @@ -449,17 +449,20 @@ importers: specifier: ^9.0.0 version: 9.0.0 vite: - specifier: ^4.4.7 - version: 4.4.7(@types/node@18.16.19)(terser@5.19.2) + specifier: ^4.4.8 + version: 4.4.8(@types/node@18.16.19)(terser@5.19.2) vite-plugin-monaco-editor: specifier: ^1.1.0 - version: 1.1.0(monaco-editor@0.40.0) + version: 1.1.0(monaco-editor@0.41.0) vite-plugin-svgr: specifier: ^3.2.0 - version: 3.2.0(rollup@3.26.3)(vite@4.4.7) + version: 3.2.0(rollup@3.26.3)(vite@4.4.8) + web-streams-polyfill: + specifier: ^3.2.1 + version: 3.2.1 zustand: - specifier: ^4.3.9 - version: 4.3.9(react@18.2.0) + specifier: ^4.4.0 + version: 4.4.0(@types/react@18.2.18)(react@18.2.0) playground: devDependencies: @@ -826,15 +829,11 @@ packages: hasBin: true dev: true - /@antfu/utils@0.7.2: - resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==} - /@antfu/utils@0.7.5: resolution: {integrity: sha512-dlR6LdS+0SzOAPx/TPRhnoi7hE251OVeT2Snw0RguNbBSbjUHdWr0l3vcUUDg26rEysT89kCbtw1lVorBXLLCg==} - dev: true - /@anthropic-ai/sdk@0.5.8: - resolution: {integrity: sha512-iHenjcE2Q/az6VZiP1DueOSvKNRmxsly6Rx2yjJBoy7OBYVFGVjEdgs2mPQHtTX0ibKAR7tPq6F6MQbKDPWcKg==} + /@anthropic-ai/sdk@0.5.10: + resolution: {integrity: sha512-P8xrIuTUO/6wDzcjQRUROXp4WSqtngbXaE4GpEu0PhEmnq/1Q8vbF1s0o7W07EV3j8zzRoyJxAKovUJtNXH7ew==} dependencies: '@types/node': 18.16.19 '@types/node-fetch': 2.6.4 @@ -860,14 +859,14 @@ packages: leven: 3.1.0 dev: false - /@babel/cli@7.21.5(@babel/core@7.22.8): + /@babel/cli@7.21.5(@babel/core@7.22.9): resolution: {integrity: sha512-TOKytQ9uQW9c4np8F+P7ZfPINy5Kv+pizDIUwSVH8X5zHgYHV4AA8HE5LA450xXeu4jEfmUckTYvv1I4S26M/g==} engines: {node: '>=6.9.0'} hasBin: true peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.22.9 '@jridgewell/trace-mapping': 0.3.18 commander: 4.1.1 convert-source-map: 1.9.0 @@ -898,7 +897,6 @@ packages: /@babel/compat-data@7.22.9: resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} engines: {node: '>=6.9.0'} - dev: true /@babel/core@7.12.9: resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==} @@ -989,7 +987,6 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true /@babel/generator@7.22.5: resolution: {integrity: sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==} @@ -1109,7 +1106,6 @@ packages: browserslist: 4.21.9 lru-cache: 5.1.1 semver: 6.3.1 - dev: true /@babel/helper-create-class-features-plugin@7.21.8(@babel/core@7.22.5): resolution: {integrity: sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==} @@ -1149,6 +1145,27 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: false + + /@babel/helper-create-class-features-plugin@7.21.8(@babel/core@7.22.9): + resolution: {integrity: sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.21.5 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-member-expression-to-functions': 7.21.5 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.21.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/helper-split-export-declaration': 7.18.6 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true /@babel/helper-create-class-features-plugin@7.22.5(@babel/core@7.22.5): resolution: {integrity: sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==} @@ -1188,6 +1205,7 @@ packages: semver: 6.3.0 transitivePeerDependencies: - supports-color + dev: false /@babel/helper-create-class-features-plugin@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==} @@ -1231,6 +1249,7 @@ packages: '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 + dev: false /@babel/helper-create-regexp-features-plugin@7.21.8(@babel/core@7.22.9): resolution: {integrity: sha512-zGuSdedkFtsFHGbexAvNuipg1hbtitDLo2XE8/uf6Y9sOQV1xsYX/2pNbtedp/X0eU1pIt+kGvaqHCowkRbS5g==} @@ -1266,6 +1285,7 @@ packages: '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 + dev: false /@babel/helper-create-regexp-features-plugin@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==} @@ -1323,6 +1343,7 @@ packages: resolve: 1.22.2 transitivePeerDependencies: - supports-color + dev: false /@babel/helper-define-polyfill-provider@0.4.1(@babel/core@7.22.9): resolution: {integrity: sha512-kX4oXixDxG197yhX+J3Wp+NpL2wuCFjWQAr6yX2jtCnflK9ulMI51ULFGIrWiX1jGfvAxdHp+XQCcP2bZGPs9A==} @@ -1449,7 +1470,6 @@ packages: '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.5 - dev: true /@babel/helper-optimise-call-expression@7.18.6: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} @@ -1503,6 +1523,7 @@ packages: '@babel/types': 7.22.5 transitivePeerDependencies: - supports-color + dev: false /@babel/helper-remap-async-to-generator@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==} @@ -1696,6 +1717,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} @@ -1729,6 +1751,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-transform-optional-chaining': 7.22.6(@babel/core@7.22.8) + dev: false /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} @@ -1742,13 +1765,13 @@ packages: '@babel/plugin-transform-optional-chaining': 7.22.6(@babel/core@7.22.9) dev: true - /@babel/plugin-external-helpers@7.18.6(@babel/core@7.22.8): + /@babel/plugin-external-helpers@7.18.6(@babel/core@7.22.9): resolution: {integrity: sha512-wNqc87qjLvsD1PIMQBzLn1bMuTlGzqLzM/1VGQ22Wm51cbCWS9k71ydp5iZS4hjwQNuTWSn/xbZkkusNENwtZg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1780,14 +1803,14 @@ packages: - supports-color dev: false - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.8): + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.9): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.8) + '@babel/core': 7.22.9 + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 transitivePeerDependencies: - supports-color @@ -1898,18 +1921,18 @@ packages: '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) dev: false - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.8): + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.9): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.22.6 - '@babel/core': 7.22.8 - '@babel/helper-compilation-targets': 7.22.6(@babel/core@7.22.8) + '@babel/core': 7.22.9 + '@babel/helper-compilation-targets': 7.22.6(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.8) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.8) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.9) dev: true /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.22.5): @@ -1970,6 +1993,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.8 + dev: false /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.9): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} @@ -2000,6 +2024,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-create-regexp-features-plugin': 7.21.8(@babel/core@7.22.8) '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.9): resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} @@ -2028,6 +2053,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.9): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} @@ -2054,6 +2080,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.9): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} @@ -2082,6 +2109,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.9): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} @@ -2109,6 +2137,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.21.5 + dev: false /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} @@ -2135,6 +2164,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} @@ -2163,6 +2193,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} @@ -2182,6 +2213,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} @@ -2209,6 +2241,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.9): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} @@ -2235,6 +2268,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} @@ -2272,6 +2306,17 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.21.5 + dev: false + + /@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.22.9): + resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.21.5 + dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.5): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -2289,6 +2334,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.9): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -2315,6 +2361,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} @@ -2341,6 +2388,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.9): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} @@ -2376,6 +2424,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} @@ -2402,6 +2451,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} @@ -2428,6 +2478,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} @@ -2456,6 +2507,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.9): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} @@ -2485,6 +2537,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.9): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} @@ -2514,6 +2567,17 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.21.5 + dev: false + + /@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.22.9): + resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.21.5 + dev: true /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.8): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} @@ -2524,6 +2588,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.8) '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.9): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} @@ -2554,6 +2619,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} @@ -2578,6 +2644,7 @@ packages: '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.8) transitivePeerDependencies: - supports-color + dev: false /@babel/plugin-transform-async-generator-functions@7.22.7(@babel/core@7.22.9): resolution: {integrity: sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==} @@ -2620,6 +2687,7 @@ packages: '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.22.8) transitivePeerDependencies: - supports-color + dev: false /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} @@ -2653,6 +2721,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} @@ -2682,6 +2751,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==} @@ -2704,6 +2774,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 transitivePeerDependencies: - supports-color + dev: false /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} @@ -2730,6 +2801,7 @@ packages: '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.8) transitivePeerDependencies: - supports-color + dev: false /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} @@ -2783,6 +2855,7 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color + dev: false /@babel/plugin-transform-classes@7.22.6(@babel/core@7.22.9): resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} @@ -2824,6 +2897,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 '@babel/template': 7.22.5 + dev: false /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} @@ -2854,6 +2928,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==} @@ -2896,6 +2971,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.8) '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} @@ -2926,6 +3002,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} @@ -2946,6 +3023,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.8) + dev: false /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} @@ -2978,6 +3056,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} @@ -2999,6 +3078,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.8) + dev: false /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} @@ -3029,6 +3109,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} @@ -3062,6 +3143,7 @@ packages: '@babel/helper-compilation-targets': 7.22.6(@babel/core@7.22.8) '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} @@ -3084,6 +3166,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.8) + dev: false /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} @@ -3114,6 +3197,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} @@ -3134,6 +3218,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.8) + dev: false /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} @@ -3164,6 +3249,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} @@ -3199,6 +3285,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 transitivePeerDependencies: - supports-color + dev: false /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} @@ -3227,6 +3314,20 @@ packages: - supports-color dev: false + /@babel/plugin-transform-modules-commonjs@7.21.5(@babel/core@7.22.8): + resolution: {integrity: sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.8 + '@babel/helper-module-transforms': 7.21.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.21.5 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.8): resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} engines: {node: '>=6.9.0'} @@ -3239,6 +3340,7 @@ packages: '@babel/helper-simple-access': 7.22.5 transitivePeerDependencies: - supports-color + dev: false /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} @@ -3282,6 +3384,7 @@ packages: '@babel/helper-validator-identifier': 7.22.5 transitivePeerDependencies: - supports-color + dev: false /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} @@ -3322,6 +3425,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 transitivePeerDependencies: - supports-color + dev: false /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} @@ -3356,6 +3460,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.8) '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} @@ -3386,6 +3491,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} @@ -3406,6 +3512,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.8) + dev: false /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} @@ -3427,6 +3534,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.8) + dev: false /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} @@ -3451,6 +3559,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.8) '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.8) + dev: false /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} @@ -3490,6 +3599,7 @@ packages: '@babel/helper-replace-supers': 7.22.5 transitivePeerDependencies: - supports-color + dev: false /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} @@ -3513,6 +3623,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.8) + dev: false /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} @@ -3535,6 +3646,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.8) + dev: false /@babel/plugin-transform-optional-chaining@7.22.6(@babel/core@7.22.9): resolution: {integrity: sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==} @@ -3586,6 +3698,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} @@ -3608,6 +3721,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 transitivePeerDependencies: - supports-color + dev: false /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} @@ -3635,6 +3749,7 @@ packages: '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.8) transitivePeerDependencies: - supports-color + dev: false /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} @@ -3669,6 +3784,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} @@ -3708,6 +3824,17 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.21.5 + dev: false + + /@babel/plugin-transform-react-display-name@7.18.6(@babel/core@7.22.9): + resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.21.5 + dev: true /@babel/plugin-transform-react-jsx-development@7.18.6(@babel/core@7.22.5): resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==} @@ -3727,24 +3854,35 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/plugin-transform-react-jsx': 7.21.5(@babel/core@7.22.8) + dev: false - /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.8): + /@babel/plugin-transform-react-jsx-development@7.18.6(@babel/core@7.22.9): + resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/plugin-transform-react-jsx': 7.21.5(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.8): + /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -3774,6 +3912,21 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.22.8) '@babel/types': 7.22.5 + dev: false + + /@babel/plugin-transform-react-jsx@7.21.5(@babel/core@7.22.9): + resolution: {integrity: sha512-ELdlq61FpoEkHO6gFRpfj0kUgSwQTGoaEU8eMRoS8Dv3v6e7BjEAj5WMtIBRdHUeAioMhKP5HyxNzNnP+heKbA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.22.9) + '@babel/types': 7.22.5 + dev: true /@babel/plugin-transform-react-pure-annotations@7.18.6(@babel/core@7.22.5): resolution: {integrity: sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==} @@ -3795,6 +3948,18 @@ packages: '@babel/core': 7.22.8 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-plugin-utils': 7.21.5 + dev: false + + /@babel/plugin-transform-react-pure-annotations@7.18.6(@babel/core@7.22.9): + resolution: {integrity: sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-plugin-utils': 7.21.5 + dev: true /@babel/plugin-transform-regenerator@7.21.5(@babel/core@7.22.5): resolution: {integrity: sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==} @@ -3816,6 +3981,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.1 + dev: false /@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==} @@ -3846,6 +4012,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} @@ -3892,6 +4059,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} @@ -3923,6 +4091,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: false /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} @@ -3953,6 +4122,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} @@ -3982,6 +4152,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} @@ -4011,6 +4182,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} @@ -4050,6 +4222,22 @@ packages: '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.22.8) transitivePeerDependencies: - supports-color + dev: false + + /@babel/plugin-transform-typescript@7.21.3(@babel/core@7.22.9): + resolution: {integrity: sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.21.8(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.22.9) + transitivePeerDependencies: + - supports-color + dev: true /@babel/plugin-transform-unicode-escapes@7.21.5(@babel/core@7.22.5): resolution: {integrity: sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==} @@ -4069,6 +4257,7 @@ packages: dependencies: '@babel/core': 7.22.8 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==} @@ -4089,6 +4278,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.8) '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} @@ -4121,6 +4311,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.8) '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} @@ -4142,6 +4333,7 @@ packages: '@babel/core': 7.22.8 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.8) '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} @@ -4330,6 +4522,7 @@ packages: core-js-compat: 3.31.1 transitivePeerDependencies: - supports-color + dev: false /@babel/preset-env@7.22.9(@babel/core@7.22.9): resolution: {integrity: sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==} @@ -4446,6 +4639,7 @@ packages: '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.8) '@babel/types': 7.22.5 esutils: 2.0.3 + dev: false /@babel/preset-modules@0.1.5(@babel/core@7.22.9): resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} @@ -4488,6 +4682,22 @@ packages: '@babel/plugin-transform-react-jsx': 7.21.5(@babel/core@7.22.8) '@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.22.8) '@babel/plugin-transform-react-pure-annotations': 7.18.6(@babel/core@7.22.8) + dev: false + + /@babel/preset-react@7.18.6(@babel/core@7.22.9): + resolution: {integrity: sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.5 + '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.22.9) + '@babel/plugin-transform-react-jsx': 7.21.5(@babel/core@7.22.9) + '@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.22.9) + '@babel/plugin-transform-react-pure-annotations': 7.18.6(@babel/core@7.22.9) + dev: true /@babel/preset-typescript@7.21.5(@babel/core@7.22.5): resolution: {integrity: sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==} @@ -4512,13 +4722,30 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-validator-option': 7.21.0 '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.22.8) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.8) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.8) '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.22.8) transitivePeerDependencies: - supports-color + dev: false + + /@babel/preset-typescript@7.21.5(@babel/core@7.22.9): + resolution: {integrity: sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.5 + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.22.9) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.22.9) + transitivePeerDependencies: + - supports-color + dev: true /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} @@ -4880,7 +5107,7 @@ packages: '@docusaurus/react-loadable': 5.5.2(react@17.0.2) '@docusaurus/types': 2.4.1(@swc/core@1.3.68)(esbuild@0.15.18)(react-dom@17.0.2)(react@17.0.2) '@types/history': 4.7.11 - '@types/react': 18.2.17 + '@types/react': 18.2.18 '@types/react-router-config': 5.0.7 '@types/react-router-dom': 5.3.3 react: 17.0.2 @@ -5353,7 +5580,7 @@ packages: peerDependencies: react: '*' dependencies: - '@types/react': 18.2.17 + '@types/react': 18.2.18 prop-types: 15.8.1 react: 17.0.2 dev: false @@ -5450,7 +5677,7 @@ packages: '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.68)(esbuild@0.15.18) '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1) '@types/history': 4.7.11 - '@types/react': 18.2.17 + '@types/react': 18.2.18 '@types/react-router-config': 5.0.7 clsx: 1.2.1 parse-numeric-range: 1.3.0 @@ -5575,7 +5802,7 @@ packages: react-dom: ^16.8.4 || ^17.0.0 dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.17 + '@types/react': 18.2.18 commander: 5.1.0 joi: 17.9.2 react: 17.0.2 @@ -6554,24 +6781,24 @@ packages: resolution: {integrity: sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==} dev: true - /@monaco-editor/loader@1.3.3(monaco-editor@0.40.0): + /@monaco-editor/loader@1.3.3(monaco-editor@0.41.0): resolution: {integrity: sha512-6KKF4CTzcJiS8BJwtxtfyYt9shBiEv32ateQ9T4UVogwn4HM/uPo9iJd2Dmbkpz8CM6Y0PDUpjnZzCwC+eYo2Q==} peerDependencies: monaco-editor: '>= 0.21.0 < 1' dependencies: - monaco-editor: 0.40.0 + monaco-editor: 0.41.0 state-local: 1.0.7 dev: true - /@monaco-editor/react@4.5.1(monaco-editor@0.40.0)(react-dom@18.2.0)(react@18.2.0): + /@monaco-editor/react@4.5.1(monaco-editor@0.41.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-NNDFdP+2HojtNhCkRfE6/D6ro6pBNihaOzMbGK84lNWzRu+CfBjwzGt4jmnqimLuqp5yE5viHS2vi+QOAnD5FQ==} peerDependencies: monaco-editor: '>= 0.25.0 < 1' react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@monaco-editor/loader': 1.3.3(monaco-editor@0.40.0) - monaco-editor: 0.40.0 + '@monaco-editor/loader': 1.3.3(monaco-editor@0.41.0) + monaco-editor: 0.41.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true @@ -6940,13 +7167,13 @@ packages: string.prototype.matchall: 4.0.8 dev: false - /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.22.8): + /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.22.9): resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.22.9 dev: false /@svgr/babel-plugin-add-jsx-attribute@7.0.0(@babel/core@7.22.5): @@ -6967,13 +7194,13 @@ packages: '@babel/core': 7.22.5 dev: true - /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.22.8): + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.22.9): resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.22.9 dev: false /@svgr/babel-plugin-remove-jsx-empty-expression@7.0.0(@babel/core@7.22.5): @@ -6985,22 +7212,22 @@ packages: '@babel/core': 7.22.5 dev: true - /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.22.8): + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.22.9): resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.22.9 dev: false - /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.22.8): + /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.22.9): resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.22.9 dev: false /@svgr/babel-plugin-replace-jsx-attribute-value@7.0.0(@babel/core@7.22.5): @@ -7012,13 +7239,13 @@ packages: '@babel/core': 7.22.5 dev: true - /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.22.8): + /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.22.9): resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.22.9 dev: false /@svgr/babel-plugin-svg-dynamic-title@7.0.0(@babel/core@7.22.5): @@ -7030,13 +7257,13 @@ packages: '@babel/core': 7.22.5 dev: true - /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.22.8): + /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.22.9): resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.22.9 dev: false /@svgr/babel-plugin-svg-em-dimensions@7.0.0(@babel/core@7.22.5): @@ -7048,13 +7275,13 @@ packages: '@babel/core': 7.22.5 dev: true - /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.22.8): + /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.22.9): resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.22.9 dev: false /@svgr/babel-plugin-transform-react-native-svg@7.0.0(@babel/core@7.22.5): @@ -7066,13 +7293,13 @@ packages: '@babel/core': 7.22.5 dev: true - /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.22.8): + /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.22.9): resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} engines: {node: '>=12'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.22.9 dev: false /@svgr/babel-plugin-transform-svg-component@7.0.0(@babel/core@7.22.5): @@ -7084,21 +7311,21 @@ packages: '@babel/core': 7.22.5 dev: true - /@svgr/babel-preset@6.5.1(@babel/core@7.22.8): + /@svgr/babel-preset@6.5.1(@babel/core@7.22.9): resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.22.8) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.22.8) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.22.8) - '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.22.8) - '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.22.8) - '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.22.8) - '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.22.8) - '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.22.8) + '@babel/core': 7.22.9 + '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.22.9) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.22.9) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.22.9) + '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.22.9) + '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.22.9) + '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.22.9) + '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.22.9) + '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.22.9) dev: false /@svgr/babel-preset@7.0.0(@babel/core@7.22.5): @@ -7122,8 +7349,8 @@ packages: resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.22.8 - '@svgr/babel-preset': 6.5.1(@babel/core@7.22.8) + '@babel/core': 7.22.9 + '@svgr/babel-preset': 6.5.1(@babel/core@7.22.9) '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) camelcase: 6.3.0 cosmiconfig: 7.1.0 @@ -7165,8 +7392,8 @@ packages: peerDependencies: '@svgr/core': ^6.0.0 dependencies: - '@babel/core': 7.22.8 - '@svgr/babel-preset': 6.5.1(@babel/core@7.22.8) + '@babel/core': 7.22.9 + '@svgr/babel-preset': 6.5.1(@babel/core@7.22.9) '@svgr/core': 6.5.1 '@svgr/hast-util-to-babel-ast': 6.5.1 svg-parser: 2.0.4 @@ -7322,12 +7549,12 @@ packages: defer-to-connect: 1.1.3 dev: false - /@tanstack/query-core@4.32.0: - resolution: {integrity: sha512-ei4IYwL2kmlKSlCw9WgvV7PpXi0MiswVwfQRxawhJA690zWO3dU49igaQ/UMTl+Jy9jj9dK5IKAYvbX7kUvviQ==} + /@tanstack/query-core@4.32.5: + resolution: {integrity: sha512-UOxiDYmzYWD21ASIUnW3w+Nq3LcW1BPFFfIyZOor6UsRl76KGLlvUhJ402/dof1JxcQFPK7nZ5iUGPVqLiT8zg==} dev: true - /@tanstack/react-query@4.32.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-B8WUMcByYAH9500ENejDCATOmEZhqjtS9wsfiQ3BNa+s+yAynY8SESI8WWHhSqUmjd0pmCSFRP6BOUGSda3QXA==} + /@tanstack/react-query@4.32.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-4tR0GxyyKhLpYvbglOGpWVqHS+t3bs7yy89DuTgJvnKLnaS5UW2sbfAzlV9JtwL7s5Z8eW2q2EDMcAtutb0lAw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7338,7 +7565,7 @@ packages: react-native: optional: true dependencies: - '@tanstack/query-core': 4.32.0 + '@tanstack/query-core': 4.32.5 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) use-sync-external-store: 1.2.0(react@18.2.0) @@ -7648,14 +7875,14 @@ packages: /@types/react-dom@18.2.7: resolution: {integrity: sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==} dependencies: - '@types/react': 18.2.17 + '@types/react': 18.2.18 dev: true /@types/react-router-config@5.0.7: resolution: {integrity: sha512-pFFVXUIydHlcJP6wJm7sDii5mD/bCmmAY0wQzq+M+uX7bqS95AQqHZWP1iNMKrWVQSuHIzj5qi9BvrtLX2/T4w==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.17 + '@types/react': 18.2.18 '@types/react-router': 5.1.20 dev: false @@ -7663,7 +7890,7 @@ packages: resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.17 + '@types/react': 18.2.18 '@types/react-router': 5.1.20 dev: false @@ -7671,13 +7898,13 @@ packages: resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.17 + '@types/react': 18.2.18 dev: false /@types/react-syntax-highlighter@15.5.7: resolution: {integrity: sha512-bo5fEO5toQeyCp0zVHBeggclqf5SQ/Z5blfFmjwO5dkMVGPgmiwZsJh9nu/Bo5L7IHTuGWrja6LxJVE2uB5ZrQ==} dependencies: - '@types/react': 18.2.17 + '@types/react': 18.2.18 dev: true /@types/react@18.2.17: @@ -7687,6 +7914,13 @@ packages: '@types/scheduler': 0.16.3 csstype: 3.1.2 + /@types/react@18.2.18: + resolution: {integrity: sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==} + dependencies: + '@types/prop-types': 15.7.5 + '@types/scheduler': 0.16.3 + csstype: 3.1.2 + /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: @@ -8071,17 +8305,17 @@ packages: - supports-color dev: true - /@vitejs/plugin-react@4.0.3(vite@4.4.7): - resolution: {integrity: sha512-pwXDog5nwwvSIzwrvYYmA2Ljcd/ZNlcsSG2Q9CNDBwnsd55UGAyr2doXtB5j+2uymRCnCfExlznzzSFbBRcoCg==} + /@vitejs/plugin-react@4.0.4(vite@4.4.8): + resolution: {integrity: sha512-7wU921ABnNYkETiMaZy7XqpueMnpu5VxvVps13MjmCo+utBdD79sZzrApHawHtVX66cCJQQTXFcjH0y9dSUK8g==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.2.0 dependencies: - '@babel/core': 7.22.8 - '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.8) - '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.8) + '@babel/core': 7.22.9 + '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.9) react-refresh: 0.14.0 - vite: 4.4.7(@types/node@18.16.19)(terser@5.19.2) + vite: 4.4.8(@types/node@18.16.19)(terser@5.19.2) transitivePeerDependencies: - supports-color dev: true @@ -8730,6 +8964,7 @@ packages: '@nicolo-ribaudo/semver-v6': 6.3.3 transitivePeerDependencies: - supports-color + dev: false /babel-plugin-polyfill-corejs2@0.4.4(@babel/core@7.22.9): resolution: {integrity: sha512-9WeK9snM1BfxB38goUEv2FLnA6ja07UMfazFHzCXUb3NyDZAwfXvQiURQ6guTTMeHcOsdknULm1PDhs4uWtKyA==} @@ -8778,6 +9013,7 @@ packages: core-js-compat: 3.31.1 transitivePeerDependencies: - supports-color + dev: false /babel-plugin-polyfill-corejs3@0.8.2(@babel/core@7.22.9): resolution: {integrity: sha512-Cid+Jv1BrY9ReW9lIfNlNpsI53N+FN7gE+f73zLAUbr9C52W4gKLWSByx47pfDJsEysojKArqOtOKZSVIIUTuQ==} @@ -8822,6 +9058,7 @@ packages: '@babel/helper-define-polyfill-provider': 0.4.1(@babel/core@7.22.8) transitivePeerDependencies: - supports-color + dev: false /babel-plugin-polyfill-regenerator@0.5.1(@babel/core@7.22.9): resolution: {integrity: sha512-L8OyySuI6OSQ5hFy9O+7zFjyr4WhAfRjLIOkhQGYl+emwJkd/S4XXT1JpfrgR1jrQ1NcGiOh+yAdGlF8pnC3Jw==} @@ -10777,12 +11014,12 @@ packages: dependencies: once: 1.4.0 - /engine.io-client@6.5.1: - resolution: {integrity: sha512-hE5wKXH8Ru4L19MbM1GgYV/2Qo54JSMh1rlJbfpa40bEWkCKNo3ol2eOtGmowcr+ysgbI7+SGL+by42Q3pt/Ng==} + /engine.io-client@6.5.2: + resolution: {integrity: sha512-CQZqbrpEYnrpGqC07a9dJDz4gePZUgTPMU3NKJPSeQOyw27Tst4Pl3FemKoFGAlHzgZmKjoRmiJvbWfhCXUlIg==} dependencies: '@socket.io/component-emitter': 3.1.0 debug: 4.3.4 - engine.io-parser: 5.1.0 + engine.io-parser: 5.2.1 ws: 8.11.0 xmlhttprequest-ssl: 2.0.0 transitivePeerDependencies: @@ -10791,14 +11028,14 @@ packages: - utf-8-validate dev: false - /engine.io-parser@5.1.0: - resolution: {integrity: sha512-enySgNiK5tyZFynt3z7iqBR+Bto9EVVVvDFuTT0ioHCGbzirZVGDGiQjZzEp8hWl6hd5FSVytJGuScX1C1C35w==} + /engine.io-parser@5.2.1: + resolution: {integrity: sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==} engines: {node: '>=10.0.0'} dev: false - /engine.io@6.5.0: - resolution: {integrity: sha512-UlfoK1iD62Hkedw2TmuHdhDsZCGaAyp+LZ/AvnImjYBeWagA3qIEETum90d6shMeFZiDuGT66zVCdx1wKYKGGg==} - engines: {node: '>=10.0.0'} + /engine.io@6.5.2: + resolution: {integrity: sha512-IXsMcGpw/xRfjra46sVZVHiSWo/nJ/3g1337q9KNXtS6YRzbW5yIzTCb9DjhrBe7r3GZQR0I4+nq+4ODk5g/cA==} + engines: {node: '>=10.2.0'} dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.13 @@ -10808,7 +11045,7 @@ packages: cookie: 0.4.2 cors: 2.8.5 debug: 4.3.4 - engine.io-parser: 5.1.0 + engine.io-parser: 5.2.1 ws: 8.11.0 transitivePeerDependencies: - bufferutil @@ -13132,8 +13369,8 @@ packages: - encoding dev: true - /i18next@23.3.0: - resolution: {integrity: sha512-xd/UzWT71zYudCT7qVn6tB4yUVuXAhgCorsowYgM2EOdc14WqQBp5P2wEsxgfiDgdLN5XwJvTbzxrMfoY/nxnw==} + /i18next@23.4.1: + resolution: {integrity: sha512-07ekE7hbUrbxTYj97VnBzyhKcGURTJC9p4iWTwCVC8t63T+YrgqQmb/n1LBQMivZYwR61pqS+PC0G2rtENycyQ==} dependencies: '@babel/runtime': 7.22.5 dev: true @@ -13740,10 +13977,6 @@ packages: supports-color: 8.1.1 dev: false - /jiti@1.18.2: - resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} - hasBin: true - /jiti@1.19.1: resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==} hasBin: true @@ -13966,8 +14199,8 @@ packages: engines: {node: '>= 8'} dev: false - /langchain@0.0.118(ignore@5.2.4): - resolution: {integrity: sha512-MzadedGsgvF5Rf+S94o+mY2Gkf5QEQFjLrCsaKcKeOREMJZ2GTszPlkDpwLWwe5MVugY1DhtC2c4gI13R+WtTw==} + /langchain@0.0.122(ignore@5.2.4): + resolution: {integrity: sha512-M/w6CZH+Y12jrts5ENFLpQF3ZzwI6bluubeL0wjyqz/btd8puXsHyyyt58bKg8bIMZF02Y2Tjr1qyqKQKTaJ0Q==} engines: {node: '>=18'} peerDependencies: '@aws-sdk/client-dynamodb': ^3.310.0 @@ -13976,6 +14209,7 @@ packages: '@aws-sdk/client-s3': ^3.310.0 '@aws-sdk/client-sagemaker-runtime': ^3.310.0 '@aws-sdk/client-sfn': ^3.310.0 + '@azure/storage-blob': ^12.15.0 '@clickhouse/client': ^0.0.14 '@elastic/elasticsearch': ^8.4.0 '@getmetal/metal-sdk': '*' @@ -13996,6 +14230,7 @@ packages: '@tensorflow/tfjs-core': '*' '@tigrisdata/vector': ^1.1.0 '@upstash/redis': ^1.20.6 + '@xata.io/client': ^0.25.1 '@zilliz/milvus2-sdk-node': '>=2.2.7' apify-client: ^2.7.1 axios: '*' @@ -14043,6 +14278,8 @@ packages: optional: true '@aws-sdk/client-sfn': optional: true + '@azure/storage-blob': + optional: true '@clickhouse/client': optional: true '@elastic/elasticsearch': @@ -14083,6 +14320,8 @@ packages: optional: true '@upstash/redis': optional: true + '@xata.io/client': + optional: true '@zilliz/milvus2-sdk-node': optional: true apify-client: @@ -14152,7 +14391,7 @@ packages: weaviate-ts-client: optional: true dependencies: - '@anthropic-ai/sdk': 0.5.8 + '@anthropic-ai/sdk': 0.5.10 ansi-styles: 5.2.0 binary-extensions: 2.2.0 camelcase: 6.3.0 @@ -14163,7 +14402,7 @@ packages: js-tiktoken: 1.0.7 js-yaml: 4.1.0 jsonpointer: 5.0.1 - langsmith: 0.0.14 + langsmith: 0.0.17 ml-distance: 4.0.0 object-hash: 3.0.0 openai: 3.3.0 @@ -14180,8 +14419,8 @@ packages: - supports-color dev: false - /langsmith@0.0.14: - resolution: {integrity: sha512-56K2AkhxsbniK2beCn28zRdHtlRlnVBWnKPsjAhSRBFESNZ0X00J2BXM/Z55M5Rt+Fpud0VldK8V+F25htYTDw==} + /langsmith@0.0.17: + resolution: {integrity: sha512-K9AmQSd84Uvbdej1pIzxiybTN4cGZkSpDuR3RK1QqkWA2sFpN169AkhQsxUMPP6gnJZ3ThwFLFQqClJi1PcX2A==} hasBin: true dependencies: '@types/uuid': 9.0.2 @@ -15289,7 +15528,6 @@ packages: pathe: 1.1.1 pkg-types: 1.0.3 ufo: 1.1.2 - dev: true /mlly@1.4.0: resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} @@ -15298,10 +15536,9 @@ packages: pathe: 1.1.1 pkg-types: 1.0.3 ufo: 1.1.2 - dev: true - /monaco-editor@0.40.0: - resolution: {integrity: sha512-1wymccLEuFSMBvCk/jT1YDW/GuxMLYwnFwF9CDyYCxoTw2Pt379J3FUhwy9c43j51JdcxVPjwk0jm0EVDsBS2g==} + /monaco-editor@0.41.0: + resolution: {integrity: sha512-1o4olnZJsiLmv5pwLEAmzHTE/5geLKQ07BrGxlF4Ri/AXAc2yyDGZwHjiTqD8D/ROKUZmwMA28A+yEowLNOEcA==} dev: true /mri@1.2.0: @@ -16079,7 +16316,6 @@ packages: /pathe@1.1.1: resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} - dev: true /pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} @@ -16136,7 +16372,6 @@ packages: jsonc-parser: 3.2.0 mlly: 1.2.1 pathe: 1.1.1 - dev: true /pkg-up@3.1.0: resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} @@ -16874,6 +17109,7 @@ packages: nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 + dev: false /postcss@8.4.27: resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} @@ -17256,8 +17492,8 @@ packages: - csstype dev: true - /react-i18next@13.0.2(i18next@23.3.0)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-NEVxC32v0oR4egwYM0QM0WE93AiJG5r0NTXTL8mhQfAhsMfDS2fSO6jpluyfsfypP988KzUQrAXncspcJ7+GHA==} + /react-i18next@13.0.3(i18next@23.4.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-/t4kt4Y2o+21hbvx+o9zpVnmoiud7KLDncyZFGN0U6TGAWYaXdTsp/ytAHFcKKSAODg4noIMaOO3X7bMgCqLHw==} peerDependencies: i18next: '>= 23.2.3' react: '>= 16.8.0' @@ -17271,7 +17507,7 @@ packages: dependencies: '@babel/runtime': 7.22.5 html-parse-stringify: 3.0.1 - i18next: 23.3.0 + i18next: 23.4.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true @@ -17325,7 +17561,7 @@ packages: webpack: 5.88.1(@swc/core@1.3.68)(esbuild@0.15.18) dev: false - /react-markdown@8.0.7(@types/react@18.2.17)(react@18.2.0): + /react-markdown@8.0.7(@types/react@18.2.18)(react@18.2.0): resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==} peerDependencies: '@types/react': '>=16' @@ -17333,7 +17569,7 @@ packages: dependencies: '@types/hast': 2.3.4 '@types/prop-types': 15.7.5 - '@types/react': 18.2.17 + '@types/react': 18.2.18 '@types/unist': 2.0.6 comma-separated-tokens: 2.0.3 hast-util-whitespace: 2.0.1 @@ -18504,13 +18740,13 @@ packages: - utf-8-validate dev: false - /socket.io-client@4.7.1: - resolution: {integrity: sha512-Qk3Xj8ekbnzKu3faejo4wk2MzXA029XppiXtTF/PkbTg+fcwaTw1PlDrTrrrU4mKoYC4dvlApOnSeyLCKwek2w==} + /socket.io-client@4.7.2: + resolution: {integrity: sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==} engines: {node: '>=10.0.0'} dependencies: '@socket.io/component-emitter': 3.1.0 debug: 4.3.4 - engine.io-client: 6.5.1 + engine.io-client: 6.5.2 socket.io-parser: 4.2.4 transitivePeerDependencies: - bufferutil @@ -18528,15 +18764,15 @@ packages: - supports-color dev: false - /socket.io@4.7.1: - resolution: {integrity: sha512-W+utHys2w//dhFjy7iQQu9sGd3eokCjGbl2r59tyLqNiJJBdIebn3GAKEXBr3osqHTObJi2die/25bCx2zsaaw==} - engines: {node: '>=10.0.0'} + /socket.io@4.7.2: + resolution: {integrity: sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==} + engines: {node: '>=10.2.0'} dependencies: accepts: 1.3.8 base64id: 2.0.0 cors: 2.8.5 debug: 4.3.4 - engine.io: 6.5.0 + engine.io: 6.5.2 socket.io-adapter: 2.5.2 socket.io-parser: 4.2.4 transitivePeerDependencies: @@ -18900,8 +19136,8 @@ packages: inline-style-parser: 0.1.1 dev: true - /styled-components@6.0.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-308zi5o7LrA9cVaP4nPD0TaUpOjGPePkAUFb/OGB0xRI3I9ozpW5UyASvRVi9wJcYASG+Y3mLDLDUZC7nqzimw==} + /styled-components@6.0.7(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-xIwWuiRMYR43mskVsW9MGTRjSo7ol4bcVjT595fGUp3OLBJOlOgaiKaxsHdC4a2HqWKqKnh0CmcRbk5ogyDjTg==} engines: {node: '>= 16'} peerDependencies: babel-plugin-styled-components: '>= 2' @@ -18911,22 +19147,22 @@ packages: babel-plugin-styled-components: optional: true dependencies: - '@babel/cli': 7.21.5(@babel/core@7.22.8) - '@babel/core': 7.22.8 + '@babel/cli': 7.21.5(@babel/core@7.22.9) + '@babel/core': 7.22.9 '@babel/helper-module-imports': 7.22.5 - '@babel/plugin-external-helpers': 7.18.6(@babel/core@7.22.8) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.8) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.8) - '@babel/preset-env': 7.22.7(@babel/core@7.22.8) - '@babel/preset-react': 7.18.6(@babel/core@7.22.8) - '@babel/preset-typescript': 7.21.5(@babel/core@7.22.8) + '@babel/plugin-external-helpers': 7.18.6(@babel/core@7.22.9) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.9) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.9) + '@babel/preset-env': 7.22.9(@babel/core@7.22.9) + '@babel/preset-react': 7.18.6(@babel/core@7.22.9) + '@babel/preset-typescript': 7.21.5(@babel/core@7.22.9) '@babel/traverse': 7.22.8 '@emotion/is-prop-valid': 1.2.1 '@emotion/unitless': 0.8.1 '@types/stylis': 4.2.0 css-to-react-native: 3.2.0 csstype: 3.1.2 - postcss: 8.4.25 + postcss: 8.4.27 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) shallowequal: 1.1.0 @@ -19105,7 +19341,7 @@ packages: pacote: 15.2.0 prompts: 2.4.2 semver: 7.5.4 - unconfig: 0.3.9 + unconfig: 0.3.10 yargs: 17.7.2 transitivePeerDependencies: - bluebird @@ -19549,7 +19785,6 @@ packages: /ufo@1.1.2: resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==} - dev: true /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} @@ -19596,19 +19831,20 @@ packages: - supports-color dev: true - /unconfig@0.3.9: - resolution: {integrity: sha512-8yhetFd48M641mxrkWA+C/lZU4N0rCOdlo3dFsyFPnBHBjMJfjT/3eAZBRT2RxCRqeBMAKBVgikejdS6yeBjMw==} + /unconfig@0.3.10: + resolution: {integrity: sha512-tj317lhIq2iZF/NXrJnU1t2UaGUKKz1eL1sK2t63Oq66V9BxqvZV12m55fp/fpQJ+DDmVlLgo7cnLVOZkhlO/A==} dependencies: - '@antfu/utils': 0.7.2 + '@antfu/utils': 0.7.5 defu: 6.1.2 - jiti: 1.18.2 + jiti: 1.19.1 + mlly: 1.4.0 /underscore@1.13.6: resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} dev: true - /undici@5.22.1: - resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} + /undici@5.23.0: + resolution: {integrity: sha512-1D7w+fvRsqlQ9GscLBwcAJinqcZGHUKjbOmXdlE/v8BvEGXjeWAax+341q44EuTcHXXnfyKNbKRq4Lg7OzhMmg==} engines: {node: '>=14.0'} dependencies: busboy: 1.6.0 @@ -20156,7 +20392,7 @@ packages: mlly: 1.4.0 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.4.7(@types/node@18.16.19)(terser@5.19.2) + vite: 4.4.8(@types/node@18.16.19)(terser@5.19.2) transitivePeerDependencies: - '@types/node' - less @@ -20187,12 +20423,12 @@ packages: - supports-color dev: true - /vite-plugin-monaco-editor@1.1.0(monaco-editor@0.40.0): + /vite-plugin-monaco-editor@1.1.0(monaco-editor@0.41.0): resolution: {integrity: sha512-IvtUqZotrRoVqwT0PBBDIZPNraya3BxN/bfcNfnxZ5rkJiGcNtO5eAOWWSgT7zullIAEqQwxMU83yL9J5k7gww==} peerDependencies: monaco-editor: '>=0.33.0' dependencies: - monaco-editor: 0.40.0 + monaco-editor: 0.41.0 dev: true /vite-plugin-pages@0.31.0(vite@4.4.7): @@ -20218,7 +20454,7 @@ packages: - supports-color dev: true - /vite-plugin-svgr@3.2.0(rollup@3.26.3)(vite@4.4.7): + /vite-plugin-svgr@3.2.0(rollup@3.26.3)(vite@4.4.8): resolution: {integrity: sha512-Uvq6niTvhqJU6ga78qLKBFJSDvxWhOnyfQSoKpDPMAGxJPo5S3+9hyjExE5YDj6Lpa4uaLkGc1cBgxXov+LjSw==} peerDependencies: vite: ^2.6.0 || 3 || 4 @@ -20226,7 +20462,7 @@ packages: '@rollup/pluginutils': 5.0.2(rollup@3.26.3) '@svgr/core': 7.0.0 '@svgr/plugin-jsx': 7.0.0 - vite: 4.4.7(@types/node@18.16.19)(terser@5.19.2) + vite: 4.4.8(@types/node@18.16.19)(terser@5.19.2) transitivePeerDependencies: - rollup - supports-color @@ -20269,6 +20505,43 @@ packages: fsevents: 2.3.2 dev: true + /vite@4.4.8(@types/node@18.16.19)(terser@5.19.2): + resolution: {integrity: sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.16.19 + esbuild: 0.18.11 + postcss: 8.4.27 + rollup: 3.26.3 + terser: 5.19.2 + optionalDependencies: + fsevents: 2.3.2 + dev: true + /vitest@0.33.0(@vitest/ui@0.33.0)(jsdom@22.1.0)(terser@5.19.2): resolution: {integrity: sha512-1CxaugJ50xskkQ0e969R/hW47za4YXDUfWJDxip1hwbnhUjYolpfUn2AMOulqG/Dtd9WYAtkHmM/m3yKVrEejQ==} engines: {node: '>=v14.18.0'} @@ -20323,7 +20596,7 @@ packages: strip-literal: 1.0.1 tinybench: 2.5.0 tinypool: 0.6.0 - vite: 4.4.7(@types/node@18.16.19)(terser@5.19.2) + vite: 4.4.8(@types/node@18.16.19)(terser@5.19.2) vite-node: 0.33.0(@types/node@18.16.19)(terser@5.19.2) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -20437,6 +20710,11 @@ packages: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} dev: false + /web-streams-polyfill@3.2.1: + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} + dev: true + /web-streams-polyfill@4.0.0-beta.3: resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} engines: {node: '>= 14'} @@ -21117,18 +21395,22 @@ packages: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} dev: false - /zustand@4.3.9(react@18.2.0): - resolution: {integrity: sha512-Tat5r8jOMG1Vcsj8uldMyqYKC5IZvQif8zetmLHs9WoZlntTHmIoNM8TpLRY31ExncuUvUOXehd0kvahkuHjDw==} + /zustand@4.4.0(@types/react@18.2.18)(react@18.2.0): + resolution: {integrity: sha512-2dq6wq4dSxbiPTamGar0NlIG/av0wpyWZJGeQYtUOLegIUvhM2Bf86ekPlmgpUtS5uR7HyetSiktYrGsdsyZgQ==} engines: {node: '>=12.7.0'} peerDependencies: + '@types/react': '>=16.8' immer: '>=9.0' react: '>=16.8' peerDependenciesMeta: + '@types/react': + optional: true immer: optional: true react: optional: true dependencies: + '@types/react': 18.2.18 react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) dev: true