From 99f1444c43a59f4e59cc1f6b0a89feb3ab3269a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s?= Date: Tue, 17 Sep 2024 15:29:52 +0200 Subject: [PATCH] Provider & model selector on Prompt editor and evaluation editor (#183) We want to let users pick which of their configured providers want to use with a selector Resolves this issue: https://github.com/latitude-dev/latitude-llm/issues/175 --- apps/web/package.json | 6 +- .../EvaluationEditor/Editor/index.tsx | 71 +- .../DocumentEditor/Editor/index.tsx | 48 +- .../web/src/components/EditorHeader/index.tsx | 224 ++++++ .../useWritePromptProvider/index.test.ts | 142 ++++ .../useWritePromptProvider/index.ts | 97 +++ packages/core/src/constants.ts | 10 +- .../src/services/ai/estimateCost/index.ts | 3 + .../src/services/ai/providers/models/index.ts | 62 ++ .../src/ds/atoms/Select/Primitives/index.tsx | 1 + .../molecules/DocumentTextEditor/editor.tsx | 1 + pnpm-lock.yaml | 672 ++++++++++-------- 12 files changed, 930 insertions(+), 407 deletions(-) create mode 100644 apps/web/src/components/EditorHeader/index.tsx create mode 100644 apps/web/src/components/EditorHeader/useWritePromptProvider/index.test.ts create mode 100644 apps/web/src/components/EditorHeader/useWritePromptProvider/index.ts create mode 100644 packages/core/src/services/ai/providers/models/index.ts diff --git a/apps/web/package.json b/apps/web/package.json index 78d7a4f9c..e596453f6 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -15,6 +15,7 @@ "test:watch": "vitest" }, "dependencies": { + "yaml": "^2.4.5", "@latitude-data/compiler": "workspace:^", "@latitude-data/core": "workspace:*", "@latitude-data/env": "workspace:^", @@ -67,7 +68,10 @@ "node-mocks-http": "^1.15.0", "postcss": "^8.4.39", "tailwindcss": "^3.4.4", - "vitest": "^2.0.3" + "vitest": "^2.0.3", + "@testing-library/dom": "^10.3.2", + "@testing-library/react": "^16.0.0", + "@testing-library/react-hooks": "^8.0.1" }, "optionalDependencies": { "svelte": "^4.2.19", diff --git a/apps/web/src/app/(private)/evaluations/(evaluation)/[evaluationUuid]/editor/_components/EvaluationEditor/Editor/index.tsx b/apps/web/src/app/(private)/evaluations/(evaluation)/[evaluationUuid]/editor/_components/EvaluationEditor/Editor/index.tsx index fe120a946..b7f9ebad2 100644 --- a/apps/web/src/app/(private)/evaluations/(evaluation)/[evaluationUuid]/editor/_components/EvaluationEditor/Editor/index.tsx +++ b/apps/web/src/app/(private)/evaluations/(evaluation)/[evaluationUuid]/editor/_components/EvaluationEditor/Editor/index.tsx @@ -4,16 +4,13 @@ import { Suspense, useCallback, useEffect, useMemo, useState } from 'react' import { ConversationMetadata, readMetadata } from '@latitude-data/compiler' import { - AppLocalStorage, Button, DocumentTextEditor, DocumentTextEditorFallback, - DropdownMenu, - useLocalStorage, } from '@latitude-data/web-ui' +import EditorHeader from '$/components/EditorHeader' import useEvaluations from '$/stores/evaluations' -import { Header } from './Header' import Playground from './Playground' import { EVALUATION_PARAMETERS } from './Playground/Chat' @@ -31,21 +28,6 @@ export default function EvaluationEditor({ ) const [value, setValue] = useState(defaultPrompt) const [metadata, setMetadata] = useState() - - const { value: showLineNumbers, setValue: setShowLineNumbers } = - useLocalStorage({ - key: AppLocalStorage.editorLineNumbers, - defaultValue: true, - }) - const { value: wrapText, setValue: setWrapText } = useLocalStorage({ - key: AppLocalStorage.editorWrapText, - defaultValue: true, - }) - const { value: showMinimap, setValue: setShowMinimap } = useLocalStorage({ - key: AppLocalStorage.editorMinimap, - defaultValue: false, - }) - const save = useCallback( (val: string) => { update({ @@ -75,38 +57,25 @@ export default function EvaluationEditor({ return (
-
- {value !== evaluation.metadata.prompt && ( - - )} - setShowLineNumbers(!showLineNumbers), - checked: showLineNumbers, - }, - { - label: 'Wrap text', - onClick: () => setWrapText(!wrapText), - checked: wrapText, - }, - { - label: 'Show minimap', - onClick: () => setShowMinimap(!showMinimap), - checked: showMinimap, - }, - ]} - side='bottom' - align='end' - /> -
+ + {value !== evaluation.metadata.prompt && ( + + )} + + } + /> }> () - const { value: showLineNumbers, setValue: setShowLineNumbers } = - useLocalStorage({ - key: AppLocalStorage.editorLineNumbers, - defaultValue: true, - }) - const { value: wrapText, setValue: setWrapText } = useLocalStorage({ - key: AppLocalStorage.editorWrapText, - defaultValue: true, - }) - const { value: showMinimap, setValue: setShowMinimap } = useLocalStorage({ - key: AppLocalStorage.editorMinimap, - defaultValue: false, - }) - const { commit } = useCurrentCommit() const { project } = useCurrentProject() @@ -146,29 +129,12 @@ export default function DocumentEditor({ >
-
- setShowLineNumbers(!showLineNumbers), - checked: showLineNumbers, - }, - { - label: 'Wrap text', - onClick: () => setWrapText(!wrapText), - checked: wrapText, - }, - { - label: 'Show minimap', - onClick: () => setShowMinimap(!showMinimap), - checked: showMinimap, - }, - ]} - side='bottom' - align='end' - /> -
+ }> { + const models = provider ? PROVIDER_MODELS[provider] : null + if (!models) return [] + + const options = Object.keys(models).map((model) => ({ + label: model, + value: model, + })) + return [...options, { label: 'Custom Model', value: CUSTOM_MODEL }] + }, [provider]) +} + +type PromptMeta = { providerName: string; model: string } +type IProviderByName = Record +function selectModel({ + promptMetadata, + providersByName, +}: { + promptMetadata: PromptMeta + providersByName: IProviderByName +}) { + const found = providersByName[promptMetadata?.providerName] + const models = found ? PROVIDER_MODELS[found.provider] : null + const model = promptMetadata?.model + const modelInModels = models ? models[model] : undefined + return modelInModels ? modelInModels : model ? CUSTOM_MODEL : undefined +} + +export default function EditorHeader({ + title, + prompt, + metadata, + onChangePrompt, + rightActions, +}: { + title: string + metadata: ConversationMetadata | undefined + prompt: string + onChangePrompt: (prompt: string) => void + rightActions?: ReactNode +}) { + const promptMetadata = useMemo(() => { + const config = metadata?.config + const providerName = config?.provider as string + const model = config?.model as string + return { providerName, model } + }, [metadata?.config]) + const { data: providerApiKeys, isLoading } = useProviderApiKeys() + const { value: showLineNumbers, setValue: setShowLineNumbers } = + useLocalStorage({ + key: AppLocalStorage.editorLineNumbers, + defaultValue: true, + }) + const { value: wrapText, setValue: setWrapText } = useLocalStorage({ + key: AppLocalStorage.editorWrapText, + defaultValue: true, + }) + const { value: showMinimap, setValue: setShowMinimap } = useLocalStorage({ + key: AppLocalStorage.editorMinimap, + defaultValue: false, + }) + const { onProviderDataChange } = useWritePromptProvider({ + prompt, + onChangePrompt, + }) + const providersByName = useMemo(() => { + return providerApiKeys.reduce((acc, data) => { + acc[data.name] = data + return acc + }, {} as IProviderByName) + }, [isLoading, providerApiKeys]) + const [selectedProvider, setProvider] = useState() + const [selectedModel, setModel] = useState(() => + selectModel({ + promptMetadata, + providersByName, + }), + ) + const providerOptions = useMemo(() => { + return providerApiKeys.map((apiKey) => ({ + label: apiKey.name, + value: apiKey.name, + })) + }, [providerApiKeys]) + const modelOptions = useModelsOptions({ + provider: selectedProvider + ? providersByName[selectedProvider]?.provider + : undefined, + }) + useEffect(() => { + if (isLoading) return + + const foundProvider = providersByName[promptMetadata?.providerName] + if (foundProvider?.name === selectedProvider) return + + setProvider(foundProvider?.name) + setModel(undefined) + }, [ + isLoading, + selectedProvider, + providersByName, + promptMetadata?.providerName, + ]) + useEffect(() => { + if (isLoading) return + + const model = selectModel({ + promptMetadata, + providersByName, + }) + + if (selectedModel === model) return + + setModel(model) + }, [ + isLoading, + providersByName, + selectedModel, + promptMetadata?.providerName, + promptMetadata?.model, + ]) + const onSelectProvider = useCallback( + (value: string) => { + const provider = providersByName[value]! + if (!provider) return + + setProvider(provider.name) + const firstModel = Object.keys( + PROVIDER_MODELS[provider.provider] ?? {}, + )[0] + setModel(firstModel) + onProviderDataChange({ + name: provider.name, + model: firstModel, + }) + }, + [providersByName, onProviderDataChange], + ) + const onModelChange = useCallback( + (value: string) => { + if (value === CUSTOM_MODEL) return + if (!selectedProvider) return + + setModel(value) + onProviderDataChange({ + name: selectedProvider, + model: value, + }) + }, + [onProviderDataChange, selectedProvider], + ) + + return ( +
+
+ {title} +
+ {rightActions} + setShowLineNumbers(!showLineNumbers), + checked: showLineNumbers, + }, + { + label: 'Wrap text', + onClick: () => setWrapText(!wrapText), + checked: wrapText, + }, + { + label: 'Show minimap', + onClick: () => setShowMinimap(!showMinimap), + checked: showMinimap, + }, + ]} + side='bottom' + align='end' + /> +
+
+ + + +
+ ) +} diff --git a/apps/web/src/components/EditorHeader/useWritePromptProvider/index.test.ts b/apps/web/src/components/EditorHeader/useWritePromptProvider/index.test.ts new file mode 100644 index 000000000..56c5bb1bd --- /dev/null +++ b/apps/web/src/components/EditorHeader/useWritePromptProvider/index.test.ts @@ -0,0 +1,142 @@ +// @vitest-environment jsdom + +import { act, renderHook } from '@testing-library/react' +import { describe, expect, it, vi } from 'vitest' + +import { trimStartSpace, useWritePromptProvider } from './index' + +describe('useWritePromptProvider', () => { + it('parse and empty prompt and set provider', () => { + const onChangePromptMock = vi.fn() + const { result } = renderHook(() => + useWritePromptProvider({ + prompt: '', + onChangePrompt: onChangePromptMock, + }), + ) + act(() => { + result.current.onProviderDataChange({ name: 'openai', model: 'gpt-4o' }) + }) + expect(onChangePromptMock).toHaveBeenCalledWith( + trimStartSpace(` + --- + provider: openai + model: gpt-4o + --- + `), + ) + }) + + it('parse a prompt with a provider and set a new provider', () => { + const onChangePromptMock = vi.fn() + const { result } = renderHook(() => + useWritePromptProvider({ + prompt: trimStartSpace(` + --- + provider: openai + model: gpt-4o + --- + `), + onChangePrompt: onChangePromptMock, + }), + ) + act(() => { + result.current.onProviderDataChange({ + name: 'mistral', + model: 'open-mistral-nemo-2407', + }) + }) + expect(onChangePromptMock).toHaveBeenCalledWith( + trimStartSpace(`--- + provider: mistral + model: open-mistral-nemo-2407 + --- + `), + ) + }) + + it('parse a prompt with only a provider', () => { + const onChangePromptMock = vi.fn() + const { result } = renderHook(() => + useWritePromptProvider({ + prompt: trimStartSpace(` + --- + provider: openai + --- + `), + onChangePrompt: onChangePromptMock, + }), + ) + act(() => { + result.current.onProviderDataChange({ + name: 'mistral', + model: 'open-mistral-nemo-2407', + }) + }) + expect(onChangePromptMock).toHaveBeenCalledWith( + trimStartSpace(`--- + provider: mistral + model: open-mistral-nemo-2407 + --- + `), + ) + }) + + it('parse a prompt with temperature but not model or provider', () => { + const onChangePromptMock = vi.fn() + const { result } = renderHook(() => + useWritePromptProvider({ + prompt: trimStartSpace(` + --- + temperature: 0.5 + --- + `), + onChangePrompt: onChangePromptMock, + }), + ) + act(() => { + result.current.onProviderDataChange({ + name: 'mistral', + model: 'open-mistral-nemo-2407', + }) + }) + expect(onChangePromptMock).toHaveBeenCalledWith( + trimStartSpace(`--- + temperature: 0.5 + provider: mistral + model: open-mistral-nemo-2407 + --- + `), + ) + }) + + it('with a comment before yaml header', () => { + const onChangePromptMock = vi.fn() + const { result } = renderHook(() => + useWritePromptProvider({ + prompt: trimStartSpace(` + /* This is a comment */ + --- + temperature: 0.5 + --- + `), + onChangePrompt: onChangePromptMock, + }), + ) + act(() => { + result.current.onProviderDataChange({ + name: 'mistral', + model: 'open-mistral-nemo-2407', + }) + }) + expect(onChangePromptMock).toHaveBeenCalledWith( + trimStartSpace(`/* This is a comment */ + --- + temperature: 0.5 + provider: mistral + model: open-mistral-nemo-2407 + --- + `), + ) + }) +}) diff --git a/apps/web/src/components/EditorHeader/useWritePromptProvider/index.ts b/apps/web/src/components/EditorHeader/useWritePromptProvider/index.ts new file mode 100644 index 000000000..bab772c38 --- /dev/null +++ b/apps/web/src/components/EditorHeader/useWritePromptProvider/index.ts @@ -0,0 +1,97 @@ +import { useCallback, useMemo } from 'react' + +import { Config } from '@latitude-data/compiler' +import yaml from 'yaml' + +const findSeparator = (line: string) => line.trim() === '---' +export function trimStartSpace(text: string) { + return text + .split('\n') + .map((line) => line.trimStart()) + .filter((line, index, arr) => !(index === arr.length - 1 && line === '')) + .join('\n') + .replace(/^\n+/, '') +} + +type ParsedDoc = { + beforeYaml: string + config: Config + afterYaml: string +} +export function useWritePromptProvider({ + prompt, + onChangePrompt, +}: { + prompt: string + onChangePrompt: (prompt: string) => void +}) { + const parsedDoc = useMemo(() => { + const promptLines = prompt.split('\n') + const start = promptLines.findIndex(findSeparator) + let parsedConfig: Config = {} + + if (start === -1) { + return { + beforeYaml: '', + config: parsedConfig, + afterYaml: prompt, + } + } + + const endRelative = promptLines.slice(start + 1).findIndex(findSeparator) + + if (endRelative === -1) { + return { + beforeYaml: '', + config: parsedConfig, + afterYaml: prompt, + } + } + + const absoluteEndIndex = start + 1 + endRelative + const yamlSection = promptLines + .slice(start + 1, absoluteEndIndex) + .join('\n') + const beforeYaml = promptLines.slice(0, start).join('\n') + const afterYaml = promptLines.slice(absoluteEndIndex + 1).join('\n') + + try { + parsedConfig = yaml.parse(yamlSection) as Config + } catch { + parsedConfig = {} + } + + return { + beforeYaml, + config: parsedConfig, + afterYaml, + } + }, [prompt]) + + const onProviderDataChange = useCallback( + ({ name, model }: { name: string; model: string | undefined }) => { + const config = parsedDoc.config + + if (config.provider === name && config.model === model) return + if (config.provider !== name) { + config.provider = name + } + if (config.model !== model) { + config.model = model + } + + const newPrompt = trimStartSpace(`${parsedDoc.beforeYaml} + --- + ${trimStartSpace(yaml.stringify(config))} + --- + ${parsedDoc.afterYaml}`) + + onChangePrompt(newPrompt) + }, + [parsedDoc, onChangePrompt], + ) + + return { + onProviderDataChange, + } +} diff --git a/packages/core/src/constants.ts b/packages/core/src/constants.ts index 20fa447a7..c4494323b 100644 --- a/packages/core/src/constants.ts +++ b/packages/core/src/constants.ts @@ -24,6 +24,7 @@ export enum CommitStatus { Draft = 'draft', } +export { Providers, PROVIDER_MODELS } from './services/ai/providers/models' export { PARAMETERS_FROM_LOG } from './services/evaluations/compiler/constants' export type Message = CompilerMessage @@ -57,15 +58,6 @@ export type ChainObjectResponse = ChainStepObjectResponse & { } export type ChainCallResponse = ChainTextResponse | ChainObjectResponse -export enum Providers { - OpenAI = 'openai', - Anthropic = 'anthropic', - Groq = 'groq', - Mistral = 'mistral', - Azure = 'azure', - Google = 'google', -} - export enum LogSources { Playground = 'playground', API = 'api', diff --git a/packages/core/src/services/ai/estimateCost/index.ts b/packages/core/src/services/ai/estimateCost/index.ts index 9734231c2..0409c8380 100644 --- a/packages/core/src/services/ai/estimateCost/index.ts +++ b/packages/core/src/services/ai/estimateCost/index.ts @@ -6,6 +6,8 @@ import { getCostPer1MGroq } from './groq' import { getCostPer1MMistral } from './mistral' import { getCostPer1MOpenAI } from './openai' +// FIXME: Unifify models with src/constants.ts +// The list of supported models for each provider is duplicated. export type ModelCost = { input: number; output: number } function getCostPer1M({ @@ -26,6 +28,7 @@ function getCostPer1M({ return getCostPer1MMistral(model) case Providers.Azure: return getCostPer1MOpenAI(model) + // FIXME: Add Google costs default: throw new Error(`Unknown provider: ${provider}`) } diff --git a/packages/core/src/services/ai/providers/models/index.ts b/packages/core/src/services/ai/providers/models/index.ts new file mode 100644 index 000000000..18661577c --- /dev/null +++ b/packages/core/src/services/ai/providers/models/index.ts @@ -0,0 +1,62 @@ +export enum Providers { + OpenAI = 'openai', + Anthropic = 'anthropic', + Groq = 'groq', + Mistral = 'mistral', + Azure = 'azure', + Google = 'google', +} +const OPEN_AI_MODELS = { + 'gpt-4': 'gpt-4', + 'gpt-4o': 'gpt-4o', + 'gpt-4-32k': 'gpt-4-32k', + 'gpt-4o-2024-08-06': 'gpt-4o-2024-08-06', + 'gpt-4o-2024-05-13': 'gpt-4o-2024-05-13', + 'gpt-4o-mini': 'gpt-4o-mini', + 'gpt-4o-mini-2024-07-18': 'gpt-4o-mini-2024-07-18', + 'chatgpt-4o-latest': 'chatgpt-4o-latest', + 'gpt-4-turbo': 'gpt-4-turbo', + 'gpt-4-turbo-2024-04-09': 'gpt-4-turbo-2024-04-09', + 'gpt-4-0125-preview': 'gpt-4-0125-preview', + 'gpt-4-1106-preview': 'gpt-4-1106-preview', +} + +export const PROVIDER_MODELS: Partial< + Record> +> = { + [Providers.OpenAI]: OPEN_AI_MODELS, + [Providers.Anthropic]: { + 'claude-3-5-sonnet-20240620': 'claude-3-5-sonnet-20240620', + 'claude-3-opus-20240229': 'claude-3-opus-20240229', + 'claude-3-sonnet-20240229': 'claude-3-sonnet-20240229', + 'claude-3-haiku-20240307': 'claude-3-haiku-20240307', + 'claude-2.1': 'claude-2.1', + }, + [Providers.Groq]: { + 'gemma-7b-it': 'gemma-7b-it', + 'gemma2-9b-it': 'gemma2-9b-it', + // 'llama-3.1-405b-reasoning': N/A + // 'llama-3.1-70b-versatile': N/A + // 'llama-3.1-8b-instant': N/A + 'llama3-70b-8192': 'llama3-70b-8192', + 'llama3-8b-8192': 'llama3-8b-8192', + 'llama-guard-3-8b': 'llama-guard-3-8b', + 'llama3-groq-70b-8192-tool-use-preview': + 'llama3-groq-70b-8192-tool-use-preview', + 'llama3-groq-8b-8192-tool-use-preview': + 'llama3-groq-8b-8192-tool-use-preview', + 'mixtral-8x7b-32768': 'mixtral-8x7b-32768', + }, + [Providers.Mistral]: { + 'open-mistral-nemo-2407': 'open-mistral-nemo-2407', + 'mistral-large-2407': 'mistral-large-2407', + 'codestral-2405': 'codestral-2405', + 'open-mistral-7b': 'open-mistral-7b', + 'open-mixtral-8x7b': 'open-mixtral-8x7b', + 'open-mixtral-8x22b': 'open-mixtral-8x22b', + 'mistral-small-latest': 'mistral-small-latest', + 'mistral-medium-latest': 'mistral-medium-latest', + }, + [Providers.Azure]: OPEN_AI_MODELS, + // FIXME: Add models for Google +} diff --git a/packages/web-ui/src/ds/atoms/Select/Primitives/index.tsx b/packages/web-ui/src/ds/atoms/Select/Primitives/index.tsx index bbbf2bd14..5e89b5b17 100644 --- a/packages/web-ui/src/ds/atoms/Select/Primitives/index.tsx +++ b/packages/web-ui/src/ds/atoms/Select/Primitives/index.tsx @@ -92,6 +92,7 @@ const SelectTrigger = forwardRef< ref={ref} className={cn( 'flex w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-[5px] text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-offset-2 focus:ring-2 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1', + 'min-h-8', className, { 'w-full': fullWidth, diff --git a/packages/web-ui/src/ds/molecules/DocumentTextEditor/editor.tsx b/packages/web-ui/src/ds/molecules/DocumentTextEditor/editor.tsx index 809081030..1b9247963 100644 --- a/packages/web-ui/src/ds/molecules/DocumentTextEditor/editor.tsx +++ b/packages/web-ui/src/ds/molecules/DocumentTextEditor/editor.tsx @@ -139,6 +139,7 @@ export function DocumentTextEditor({ language='document' loading={} defaultValue={defaultValue} + value={value} beforeMount={handleEditorWillMount} onMount={handleEditorDidMount} onChange={handleValueChange} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 84b1a332c..8b945e96b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -79,7 +79,7 @@ importers: version: 0.11.1(typescript@5.6.2)(zod@3.23.8) ai: specifier: ^3.2.42 - version: 3.3.37(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.5(typescript@5.6.2))(zod@3.23.8) + version: 3.3.39(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.6(typescript@5.6.2))(zod@3.23.8) argon2: specifier: ^0.41.0 version: 0.41.1 @@ -179,7 +179,7 @@ importers: version: 4.2.19 vue: specifier: ^3.4.38 - version: 3.5.5(typescript@5.6.2) + version: 3.5.6(typescript@5.6.2) devDependencies: '@babel/parser': specifier: ^7.25.4 @@ -189,7 +189,7 @@ importers: version: 22.5.5 eslint: specifier: '8' - version: 8.57.0 + version: 8.57.1 glob: specifier: ^11.0.0 version: 11.0.0 @@ -210,10 +210,10 @@ importers: dependencies: '@hono/node-server': specifier: ^1.12.0 - version: 1.12.2(hono@4.6.1) + version: 1.13.0(hono@4.6.2) '@hono/zod-validator': specifier: ^0.2.2 - version: 0.2.2(hono@4.6.1)(zod@3.23.8) + version: 0.2.2(hono@4.6.2)(zod@3.23.8) '@latitude-data/compiler': specifier: workspace:^ version: link:../../packages/compiler @@ -237,7 +237,7 @@ importers: version: 0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.0)(pg@8.12.0)(react@18.3.1) hono: specifier: ^4.5.3 - version: 4.6.1 + version: 4.6.2 jet-paths: specifier: ^1.0.6 version: 1.0.9 @@ -259,28 +259,28 @@ importers: version: 10.0.0 tsup: specifier: ^8.2.4 - version: 8.2.4(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1) + version: 8.3.0(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1) tsx: specifier: ^4.16.2 version: 4.19.1 vitest: specifier: ^2.0.4 - version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0) + version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.8(typescript@5.6.2))(terser@5.32.0) apps/infra: dependencies: '@pulumi/aws': specifier: ^6.50.1 - version: 6.51.1(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + version: 6.52.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) '@pulumi/awsx': specifier: ^2.14.0 - version: 2.14.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + version: 2.15.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) '@pulumi/docker': specifier: ^4.5.5 version: 4.5.5(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) '@pulumi/pulumi': specifier: ^3.113.0 - version: 3.132.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + version: 3.133.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) devDependencies: '@types/node': specifier: ^18 @@ -332,7 +332,7 @@ importers: version: 0.10.1(typescript@5.6.2)(zod@3.23.8) ai: specifier: ^3.2.42 - version: 3.3.37(react@19.0.0-rc-f994737d14-20240522)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.5(typescript@5.6.2))(zod@3.23.8) + version: 3.3.39(react@19.0.0-rc-f994737d14-20240522)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.6(typescript@5.6.2))(zod@3.23.8) bullmq: specifier: ^5.8.5 version: 5.13.0 @@ -390,6 +390,9 @@ importers: use-debounce: specifier: ^10.0.1 version: 10.0.3(react@19.0.0-rc-f994737d14-20240522) + yaml: + specifier: ^2.4.5 + version: 2.5.1 zod: specifier: ^3.23.8 version: 3.23.8 @@ -405,7 +408,7 @@ importers: version: 4.2.19 vue: specifier: ^3.4.38 - version: 3.5.5(typescript@5.6.2) + version: 3.5.6(typescript@5.6.2) devDependencies: '@faker-js/faker': specifier: ^8.4.1 @@ -419,6 +422,15 @@ importers: '@next/eslint-plugin-next': specifier: ^14.2.4 version: 14.2.11 + '@testing-library/dom': + specifier: ^10.3.2 + version: 10.4.0 + '@testing-library/react': + specifier: ^16.0.0 + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.0)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522))(react@19.0.0-rc-f994737d14-20240522) + '@testing-library/react-hooks': + specifier: ^8.0.1 + version: 8.0.1(@types/react@18.3.0)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522))(react@19.0.0-rc-f994737d14-20240522) '@types/js-cookie': specifier: ^3.0.6 version: 3.0.6 @@ -454,7 +466,7 @@ importers: version: 3.4.11(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.6.2)) vitest: specifier: ^2.0.3 - version: 2.1.1(@types/node@20.16.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0) + version: 2.1.1(@types/node@20.16.5)(jsdom@24.1.3)(msw@2.4.8(typescript@5.6.2))(terser@5.32.0) apps/websockets: dependencies: @@ -491,7 +503,7 @@ importers: version: 22.5.5 tsup: specifier: ^8.2.4 - version: 8.2.4(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1) + version: 8.3.0(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1) tsx: specifier: ^4.16.2 version: 4.19.1 @@ -528,7 +540,7 @@ importers: version: 22.5.5 tsup: specifier: ^8.2.4 - version: 8.2.4(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1) + version: 8.3.0(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1) tsx: specifier: ^4.16.2 version: 4.19.1 @@ -644,7 +656,7 @@ importers: version: 10.0.0 ai: specifier: ^3.2.42 - version: 3.3.37(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.5(typescript@5.6.2))(zod@3.23.8) + version: 3.3.39(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.6(typescript@5.6.2))(zod@3.23.8) argon2: specifier: ^0.41.0 version: 0.41.1 @@ -659,10 +671,10 @@ importers: version: 0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.0)(pg@8.12.0)(react@18.3.1) eslint: specifier: '8' - version: 8.57.0 + version: 8.57.1 eslint-plugin-drizzle: specifier: ^0.2.3 - version: 0.2.3(eslint@8.57.0) + version: 0.2.3(eslint@8.57.1) flydrive: specifier: ^1.1.0 version: 1.1.0(@aws-sdk/client-s3@3.651.1)(@aws-sdk/s3-request-presigner@3.651.1) @@ -701,10 +713,10 @@ importers: version: 10.0.0 vitest: specifier: ^2.0.3 - version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0) + version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.8(typescript@5.6.2))(terser@5.32.0) vue: specifier: ^3.4.38 - version: 3.5.5(typescript@5.6.2) + version: 3.5.6(typescript@5.6.2) zod: specifier: ^3.23.8 version: 3.23.8 @@ -753,7 +765,7 @@ importers: version: 5.4.1 vitest: specifier: ^2.0.5 - version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0) + version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.8(typescript@5.6.2))(terser@5.32.0) zod: specifier: ^3.23.8 version: 3.23.8 @@ -848,7 +860,7 @@ importers: version: 1.1.15 msw: specifier: ^2.3.5 - version: 2.4.6(typescript@5.6.2) + version: 2.4.8(typescript@5.6.2) rollup: specifier: ^4.21.1 version: 4.21.3 @@ -857,7 +869,7 @@ importers: version: 6.1.1(rollup@4.21.3)(typescript@5.6.2) vitest: specifier: ^2.0.5 - version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0) + version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.8(typescript@5.6.2))(terser@5.32.0) packages/web-ui: dependencies: @@ -987,7 +999,7 @@ importers: version: 10.0.3(react@18.3.0) vitest: specifier: ^2.0.3 - version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0) + version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.8(typescript@5.6.2))(terser@5.32.0) zod: specifier: ^3.23.8 version: 3.23.8 @@ -999,22 +1011,22 @@ importers: devDependencies: '@ianvs/prettier-plugin-sort-imports': specifier: ^4.3.0 - version: 4.3.1(@vue/compiler-sfc@3.5.5)(prettier@3.3.3) + version: 4.3.1(@vue/compiler-sfc@3.5.6)(prettier@3.3.3) '@typescript-eslint/eslint-plugin': specifier: ^7.16.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2) + version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2) '@typescript-eslint/parser': specifier: ^7.16.0 - version: 7.18.0(eslint@8.57.0)(typescript@5.6.2) + version: 7.18.0(eslint@8.57.1)(typescript@5.6.2) '@vercel/style-guide': specifier: ^5.2.0 - version: 5.2.0(@next/eslint-plugin-next@14.2.11)(eslint@8.57.0)(prettier@3.3.3)(typescript@5.6.2) + version: 5.2.0(@next/eslint-plugin-next@14.2.11)(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.2) eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) + version: 9.1.0(eslint@8.57.1) eslint-config-turbo: specifier: ^2.0.6 - version: 2.1.2(eslint@8.57.0) + version: 2.1.2(eslint@8.57.1) eslint-plugin-only-warn: specifier: ^1.1.0 version: 1.1.0 @@ -2133,8 +2145,8 @@ packages: resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + '@eslint/js@8.57.1': + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@faker-js/faker@8.4.1': @@ -2165,8 +2177,8 @@ packages: engines: {node: '>=6'} hasBin: true - '@hono/node-server@1.12.2': - resolution: {integrity: sha512-xjzhqhSWUE/OhN0g3KCNVzNsQMlFUAL+/8GgPUr3TKcU7cvgZVBGswFofJ8WwGEHTqobzze1lDpGJl9ZNckDhA==} + '@hono/node-server@1.13.0': + resolution: {integrity: sha512-kz323qIQkNQElEGroo/E9MKPDuIR5pkuk/XEWd50K+cSEKdmdiYx0PKWUdaNY2ecJYngtF+njDMsMKplL6zfEg==} engines: {node: '>=18.14.1'} peerDependencies: hono: ^4 @@ -2177,8 +2189,8 @@ packages: hono: '>=3.9.0' zod: ^3.19.1 - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} deprecated: Use @eslint/config-array instead @@ -2312,16 +2324,20 @@ packages: resolution: {integrity: sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==} engines: {node: '>=18'} - '@inquirer/core@9.1.0': - resolution: {integrity: sha512-RZVfH//2ytTjmaBIzeKT1zefcQZzuruwkpTwwbe/i2jTl4o9M+iML5ChULzz6iw1Ok8iUBBsRCjY2IEbD8Ft4w==} + '@inquirer/core@9.2.1': + resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} + engines: {node: '>=18'} + + '@inquirer/figures@1.0.6': + resolution: {integrity: sha512-yfZzps3Cso2UbM7WlxKwZQh2Hs6plrbjs1QnzQDZhK2DgyCo6D8AaHps9olkNcUFlcYERMqU3uJSp1gmy3s/qQ==} engines: {node: '>=18'} - '@inquirer/figures@1.0.5': - resolution: {integrity: sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA==} + '@inquirer/type@1.5.5': + resolution: {integrity: sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==} engines: {node: '>=18'} - '@inquirer/type@1.5.3': - resolution: {integrity: sha512-xUQ14WQGR/HK5ei+2CvgcwoH9fQ4PgPGmVFSN0pc1+fVyDL3MREhyAY7nxEErSu6CkllBM3D7e3e+kOvtu+eIg==} + '@inquirer/type@2.0.0': + resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} engines: {node: '>=18'} '@ioredis/commands@1.2.0': @@ -2394,8 +2410,8 @@ packages: resolution: {integrity: sha512-RFkU9/i7cN2bsq/iTkurMWOEErmYcY6JiQI3Jn+WeR/FGISH8JbHERjpS9oRuSOPvDMJI0Z8nJeKkbOs9sBYQw==} peerDependencies: monaco-editor: '>= 0.25.0 < 1' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=18.x - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=18.x + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3': resolution: {integrity: sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==} @@ -2427,8 +2443,8 @@ packages: cpu: [x64] os: [win32] - '@mswjs/interceptors@0.35.5': - resolution: {integrity: sha512-xm4Ascrnx+GMHVnSx0OBfJrBuR3mW8m5jygEgGa4r1FgJPQfdkDvxHa6NiTibUhCDa0YNQnZAP6Qn2LwO5Ljhw==} + '@mswjs/interceptors@0.35.6': + resolution: {integrity: sha512-PpD687w7qLxVMK176bpQjbzU9O0VC75QnBK5U1lKd29s4hIuxfTItUD6raNKyQ6BN8b64/8HE34RuYTkwH9uPQ==} engines: {node: '>=18'} '@next/env@14.2.3': @@ -3079,11 +3095,11 @@ packages: '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - '@pulumi/aws@6.51.1': - resolution: {integrity: sha512-rsOcRkt5/yDUs8e1QohowNEwM1OHf0eRyD/vp2n0w6TBoKZUzPpIwPic8LF3ysWfa2GmB2ylxQ+lSQ5813Ut0w==} + '@pulumi/aws@6.52.0': + resolution: {integrity: sha512-Q1XHHk9y5YDQ8PkYa3tDnh6173goQCMUNhJKG4A0u87M4oa68Erbo5wgX4x7pbJ0Z4QixVX2eELJGwsy+6+dAw==} - '@pulumi/awsx@2.14.0': - resolution: {integrity: sha512-vAv4qKT1vvFYDERR+IxjXiSikz20E8fRsWEg1xg5Hc7W9Go2WjsAXx9EgNtZrXr/dCNtHk3lQgOVdNmhrPnfCw==} + '@pulumi/awsx@2.15.0': + resolution: {integrity: sha512-cUIl85f7452m1SIV74/b7askNeBM+gco2yGSVtVGKCu89Vqaf08CxBUkhl3UNUVJeLEXQtcUpkpiu69wFUYgJA==} '@pulumi/docker@3.6.1': resolution: {integrity: sha512-BZME50QkT556v+LvmTXPT8ssB2xxNkp9+msB5xYFEnUnWcdGAx5yUysQw70RJCb+U0GbkJSbxtlgMJgOQf/now==} @@ -3091,8 +3107,8 @@ packages: '@pulumi/docker@4.5.5': resolution: {integrity: sha512-+5u0A3H3PTkxGfVuvDafbdyyYT8xLzLJnKdKc2jFEpphwKlXF+lc4YhjsDLBp1cc/5JPfE4hujOxGAxwt/5BUQ==} - '@pulumi/pulumi@3.132.0': - resolution: {integrity: sha512-ntsEo17gALvRdkfKMFrf7EEWrfPHPuRHG/96ziVSItYHofwMLtMk2f7BoRqOSYq3B08wHRkz6J15IUrT9l9wuQ==} + '@pulumi/pulumi@3.133.0': + resolution: {integrity: sha512-GP5pEmc9yOfbKM59oJqFIKPLSHB+THp0jecWADaVIJUF5CgUE0o8kenWrdOEbYBE9tgNTSCto8MExNrG2NJH+Q==} engines: {node: '>=18'} peerDependencies: ts-node: '>= 7.0.1 < 12' @@ -3130,8 +3146,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -3143,8 +3159,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -3164,7 +3180,7 @@ packages: resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -3221,7 +3237,7 @@ packages: resolution: {integrity: sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -3231,8 +3247,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -3248,7 +3264,7 @@ packages: resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -3297,8 +3313,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -3310,8 +3326,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -3323,8 +3339,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -3431,7 +3447,7 @@ packages: resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -3486,8 +3502,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -3530,7 +3546,7 @@ packages: resolution: {integrity: sha512-RcBoffx2IZG6quLBXo5sj3fF47rKmmkiMhG1ZBua4nFjHYlmW8j1uUMyO5HNglxIF9E52NYq4sF7XeZRp9jYjg==} engines: {node: '>=18.0.0'} peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc || >=18.x + react: ^18.0 || ^19.0 || ^19.0.0-rc '@react-email/container@0.0.14': resolution: {integrity: sha512-NgoaJJd9tTtsrveL86Ocr/AYLkGyN3prdXKd/zm5fQpfDhy/NXezyT3iF6VlwAOEUIu64ErHpAJd+P6ygR+vjg==} @@ -4370,8 +4386,8 @@ packages: '@types/pluralize@0.0.33': resolution: {integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==} - '@types/prop-types@15.7.12': - resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + '@types/prop-types@15.7.13': + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} '@types/qs@6.9.16': resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} @@ -4627,34 +4643,34 @@ packages: '@vitest/utils@2.1.1': resolution: {integrity: sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==} - '@vue/compiler-core@3.5.5': - resolution: {integrity: sha512-ZrxcY8JMoV+kgDrmRwlDufz0SjDZ7jfoNZiIBluAACMBmgr55o/jTbxnyrccH6VSJXnFaDI4Ik1UFCiq9r8i7w==} + '@vue/compiler-core@3.5.6': + resolution: {integrity: sha512-r+gNu6K4lrvaQLQGmf+1gc41p3FO2OUJyWmNqaIITaJU6YFiV5PtQSFZt8jfztYyARwqhoCayjprC7KMvT3nRA==} - '@vue/compiler-dom@3.5.5': - resolution: {integrity: sha512-HSvK5q1gmBbxRse3S0Wt34RcKuOyjDJKDDMuF3i7NC+QkDFrbAqw8NnrEm/z7zFDxWZa4/5eUwsBOMQzm1RHBA==} + '@vue/compiler-dom@3.5.6': + resolution: {integrity: sha512-xRXqxDrIqK8v8sSScpistyYH0qYqxakpsIvqMD2e5sV/PXQ1mTwtXp4k42yHK06KXxKSmitop9e45Ui/3BrTEw==} - '@vue/compiler-sfc@3.5.5': - resolution: {integrity: sha512-MzBHDxwZhgQPHrwJ5tj92gdTYRCuPDSZr8PY3+JFv8cv2UD5/WayH5yo0kKCkKfrtJhc39jNSMityHrkMSbfnA==} + '@vue/compiler-sfc@3.5.6': + resolution: {integrity: sha512-pjWJ8Kj9TDHlbF5LywjVso+BIxCY5wVOLhkEXRhuCHDxPFIeX1zaFefKs8RYoHvkSMqRWt93a0f2gNJVJixHwg==} - '@vue/compiler-ssr@3.5.5': - resolution: {integrity: sha512-oFasHnpv/upubjJEmqiTKQYb4qS3ziJddf4UVWuFw6ebk/QTrTUc+AUoTJdo39x9g+AOQBzhOU0ICCRuUjvkmw==} + '@vue/compiler-ssr@3.5.6': + resolution: {integrity: sha512-VpWbaZrEOCqnmqjE83xdwegtr5qO/2OPUC6veWgvNqTJ3bYysz6vY3VqMuOijubuUYPRpG3OOKIh9TD0Stxb9A==} - '@vue/reactivity@3.5.5': - resolution: {integrity: sha512-V4tTWElZQhT73PSK3Wnax9R9m4qvMX+LeKHnfylZc6SLh4Jc5/BPakp6e3zEhKWi5AN8TDzRkGnLkp8OqycYng==} + '@vue/reactivity@3.5.6': + resolution: {integrity: sha512-shZ+KtBoHna5GyUxWfoFVBCVd7k56m6lGhk5e+J9AKjheHF6yob5eukssHRI+rzvHBiU1sWs/1ZhNbLExc5oYQ==} - '@vue/runtime-core@3.5.5': - resolution: {integrity: sha512-2/CFaRN17jgsXy4MpigWFBCAMmLkXPb4CjaHrndglwYSra7ajvkH2cat21dscuXaH91G8fXAeg5gCyxWJ+wCRA==} + '@vue/runtime-core@3.5.6': + resolution: {integrity: sha512-FpFULR6+c2lI+m1fIGONLDqPQO34jxV8g6A4wBOgne8eSRHP6PQL27+kWFIx5wNhhjkO7B4rgtsHAmWv7qKvbg==} - '@vue/runtime-dom@3.5.5': - resolution: {integrity: sha512-0bQGgCuL+4Muz5PsCLgF4Ata9BTdhHi5VjsxtTDyI0Wy4MgoSvBGaA6bDc7W7CGgZOyirf9LNeetMYHQ05pgpw==} + '@vue/runtime-dom@3.5.6': + resolution: {integrity: sha512-SDPseWre45G38ENH2zXRAHL1dw/rr5qp91lS4lt/nHvMr0MhsbCbihGAWLXNB/6VfFOJe2O+RBRkXU+CJF7/sw==} - '@vue/server-renderer@3.5.5': - resolution: {integrity: sha512-XjRamLIq5f47cxgy+hiX7zUIY+4RHdPDVrPvvMDAUTdW5RJWX/S0ji/rCbm3LWTT/9Co9bvQME8ZI15ahL4/Qw==} + '@vue/server-renderer@3.5.6': + resolution: {integrity: sha512-zivnxQnOnwEXVaT9CstJ64rZFXMS5ZkKxCjDQKiMSvUhXRzFLWZVbaBiNF4HGDqGNNsTgmjcCSmU6TB/0OOxLA==} peerDependencies: - vue: 3.5.5 + vue: 3.5.6 - '@vue/shared@3.5.5': - resolution: {integrity: sha512-0KyMXyEgnmFAs6rNUL+6eUHtUCqCaNrVd+AW3MX3LyA0Yry5SA0Km03CDKiOua1x1WWnIr+W9+S0GMFoSDWERQ==} + '@vue/shared@3.5.6': + resolution: {integrity: sha512-eidH0HInnL39z6wAt6SFIwBrvGOpDWsDxlw3rCgo1B+CQ1781WzQUSU3YjxgdkcJo9Q8S6LmXTkvI+cLHGkQfA==} '@webassemblyjs/ast@1.12.1': resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} @@ -4746,8 +4762,8 @@ packages: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} - ai@3.3.37: - resolution: {integrity: sha512-NgeKmmROI2qPiy98ZLBjGeiHPSq5/G5//rIm0jGm1qzPm3ctIT2AggevKq7ErCDRtoOTr1lsgbNxzb05UBYL4g==} + ai@3.3.39: + resolution: {integrity: sha512-6/URulDBjhRE0r/gircxjiRd62tUl37rrGL3NLAGen5V9w9m43dBhUING906tMEJmr6xPvDUlBSmh0bdpWzHMQ==} engines: {node: '>=18'} peerDependencies: openai: ^4.42.0 @@ -5802,8 +5818,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.23: - resolution: {integrity: sha512-mBhODedOXg4v5QWwl21DjM5amzjmI1zw9EPrPK/5Wx7C8jt33bpZNrC7OhHUG3pxRtbLpr3W2dXT+Ph1SsfRZA==} + electron-to-chromium@1.5.24: + resolution: {integrity: sha512-0x0wLCmpdKFCi9ulhvYZebgcPmHTkFVUfU2wzDykadkslKwT4oAmDTHEKLnlrDsMGZe4B+ksn8quZfZjYsBetA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -6098,8 +6114,8 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true @@ -6490,9 +6506,9 @@ packages: hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - hono@4.6.1: - resolution: {integrity: sha512-6NGwvttY1+HAFii08VYiEKI6ETPAFbpLntpm2M/MogEsAFWdZV74UNT+2M4bmqX90cIQhjlpBSP+tO+CfB0uww==} - engines: {node: '>=16.0.0'} + hono@4.6.2: + resolution: {integrity: sha512-v+39817TgAhetmHUEli8O0uHDmxp2Up3DnhS4oUZXOl5IQ9np9tYtldd42e5zgdLVS0wsOoXQNZ6mx+BGmEvCA==} + engines: {node: '>=16.9.0'} hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -7254,8 +7270,8 @@ packages: msgpackr@1.11.0: resolution: {integrity: sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==} - msw@2.4.6: - resolution: {integrity: sha512-flx3DIP3+a81vvEY1lCmZVFKVYVcDiizNHg6mHYc2+F2xU+4LmZ6P2eYZUGEFoJWqA3yRWS70pJa0riFVTb5FQ==} + msw@2.4.8: + resolution: {integrity: sha512-a+FUW1m5yT8cV9GBy0L/cbNg0EA4//SKEzgu3qFrpITrWYeZmqfo7dqtM74T2lAl69jjUjjCaEhZKaxG2Ns8DA==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -7721,6 +7737,10 @@ packages: resolution: {integrity: sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==} engines: {node: '>=10'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -8677,6 +8697,10 @@ packages: tinyexec@0.3.0: resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} + tinyglobby@0.2.6: + resolution: {integrity: sha512-NbBoFBpqfcgd1tCiO8Lkfdk+xrA7mlLR9zgvZcZWQQwU63XAfUePyd6wZBaU93Hqw347lHnwFzttAkemHzzz4g==} + engines: {node: '>=12.0.0'} + tinypool@0.8.4: resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} engines: {node: '>=14.0.0'} @@ -8774,8 +8798,8 @@ packages: tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - tsup@8.2.4: - resolution: {integrity: sha512-akpCPePnBnC/CXgRrcy72ZSntgIEUa1jN0oJbbvpALWKNOz1B7aM+UVDWGRGIO/T/PZugAESWDJUAb5FD48o8Q==} + tsup@8.3.0: + resolution: {integrity: sha512-ALscEeyS03IomcuNdFdc0YWGVIkwH1Ws7nfTbAPuoILvEV2hpGQAY72LIOjglGo4ShWpZfpBqP/jpQVCzqYQag==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -9055,8 +9079,8 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite@5.4.5: - resolution: {integrity: sha512-pXqR0qtb2bTwLkev4SE3r4abCNioP3GkjvIDLlzziPpXtHgiJIjuKl+1GN6ESOT3wMjG3JTeARopj2SwYaHTOA==} + vite@5.4.6: + resolution: {integrity: sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -9136,8 +9160,8 @@ packages: jsdom: optional: true - vue@3.5.5: - resolution: {integrity: sha512-ybC+xn67K4+df1yVeov4UjBGyVcXM0a1g7JVZr+pWVUX3xF6ntXU0wIjkTkduZBUIpxTlsftJSxz2kwhsT7dgA==} + vue@3.5.6: + resolution: {integrity: sha512-zv+20E2VIYbcJOzJPUWp03NOGFhMmpCKOfSxVTmCYyYFFko48H9tmuQFzYj7tu4qX1AeXlp9DmhIP89/sSxxhw==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -9481,13 +9505,13 @@ snapshots: optionalDependencies: zod: 3.23.8 - '@ai-sdk/vue@0.0.49(vue@3.5.5(typescript@5.6.2))(zod@3.23.8)': + '@ai-sdk/vue@0.0.49(vue@3.5.6(typescript@5.6.2))(zod@3.23.8)': dependencies: '@ai-sdk/provider-utils': 1.0.19(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.44(zod@3.23.8) - swrv: 1.0.4(vue@3.5.5(typescript@5.6.2)) + swrv: 1.0.4(vue@3.5.6(typescript@5.6.2)) optionalDependencies: - vue: 3.5.5(typescript@5.6.2) + vue: 3.5.6(typescript@5.6.2) transitivePeerDependencies: - zod @@ -10105,11 +10129,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/eslint-parser@7.25.1(@babel/core@7.25.2)(eslint@8.57.0)': + '@babel/eslint-parser@7.25.1(@babel/core@7.25.2)(eslint@8.57.1)': dependencies: '@babel/core': 7.25.2 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 8.57.0 + eslint: 8.57.1 eslint-visitor-keys: 2.1.0 semver: 6.3.1 @@ -10603,9 +10627,9 @@ snapshots: '@esbuild/win32-x64@0.23.1': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.1': {} @@ -10624,7 +10648,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@8.57.1': {} '@faker-js/faker@8.4.1': {} @@ -10663,16 +10687,16 @@ snapshots: protobufjs: 7.4.0 yargs: 17.7.2 - '@hono/node-server@1.12.2(hono@4.6.1)': + '@hono/node-server@1.13.0(hono@4.6.2)': dependencies: - hono: 4.6.1 + hono: 4.6.2 - '@hono/zod-validator@0.2.2(hono@4.6.1)(zod@3.23.8)': + '@hono/zod-validator@0.2.2(hono@4.6.2)(zod@3.23.8)': dependencies: - hono: 4.6.1 + hono: 4.6.2 zod: 3.23.8 - '@humanwhocodes/config-array@0.11.14': + '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.7 @@ -10686,7 +10710,7 @@ snapshots: '@humanwhocodes/retry@0.3.0': {} - '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.5.5)(prettier@3.3.3)': + '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.5.6)(prettier@3.3.3)': dependencies: '@babel/core': 7.25.2 '@babel/generator': 7.25.6 @@ -10696,7 +10720,7 @@ snapshots: prettier: 3.3.3 semver: 7.6.3 optionalDependencies: - '@vue/compiler-sfc': 3.5.5 + '@vue/compiler-sfc': 3.5.6 transitivePeerDependencies: - supports-color @@ -10777,18 +10801,17 @@ snapshots: '@inquirer/confirm@3.2.0': dependencies: - '@inquirer/core': 9.1.0 - '@inquirer/type': 1.5.3 + '@inquirer/core': 9.2.1 + '@inquirer/type': 1.5.5 - '@inquirer/core@9.1.0': + '@inquirer/core@9.2.1': dependencies: - '@inquirer/figures': 1.0.5 - '@inquirer/type': 1.5.3 + '@inquirer/figures': 1.0.6 + '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 '@types/node': 22.5.5 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 - cli-spinners: 2.9.2 cli-width: 4.1.0 mute-stream: 1.0.0 signal-exit: 4.1.0 @@ -10796,9 +10819,13 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 - '@inquirer/figures@1.0.5': {} + '@inquirer/figures@1.0.6': {} - '@inquirer/type@1.5.3': + '@inquirer/type@1.5.5': + dependencies: + mute-stream: 1.0.0 + + '@inquirer/type@2.0.0': dependencies: mute-stream: 1.0.0 @@ -10910,7 +10937,7 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': optional: true - '@mswjs/interceptors@0.35.5': + '@mswjs/interceptors@0.35.6': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -11601,9 +11628,9 @@ snapshots: '@protobufjs/utf8@1.1.0': {} - '@pulumi/aws@6.51.1(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': + '@pulumi/aws@6.52.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': dependencies: - '@pulumi/pulumi': 3.132.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + '@pulumi/pulumi': 3.133.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) builtin-modules: 3.0.0 mime: 2.6.0 resolve: 1.22.8 @@ -11613,12 +11640,12 @@ snapshots: - ts-node - typescript - '@pulumi/awsx@2.14.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': + '@pulumi/awsx@2.15.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': dependencies: '@aws-sdk/client-ecs': 3.651.1 - '@pulumi/aws': 6.51.1(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + '@pulumi/aws': 6.52.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) '@pulumi/docker': 4.5.5(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) - '@pulumi/pulumi': 3.132.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + '@pulumi/pulumi': 3.133.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) '@types/aws-lambda': 8.10.145 aws-sdk: 2.1691.0 docker-classic: '@pulumi/docker@3.6.1(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)' @@ -11632,7 +11659,7 @@ snapshots: '@pulumi/docker@3.6.1(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': dependencies: - '@pulumi/pulumi': 3.132.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + '@pulumi/pulumi': 3.133.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) semver: 5.7.2 transitivePeerDependencies: - bluebird @@ -11642,7 +11669,7 @@ snapshots: '@pulumi/docker@4.5.5(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': dependencies: - '@pulumi/pulumi': 3.132.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + '@pulumi/pulumi': 3.133.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) semver: 5.7.2 transitivePeerDependencies: - bluebird @@ -11650,7 +11677,7 @@ snapshots: - ts-node - typescript - '@pulumi/pulumi@3.132.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': + '@pulumi/pulumi@3.133.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': dependencies: '@grpc/grpc-js': 1.11.2 '@logdna/tail-file': 2.2.0 @@ -13339,6 +13366,15 @@ snapshots: '@types/react': 18.3.0 react-dom: 18.3.0(react@18.3.0) + '@testing-library/react-hooks@8.0.1(@types/react@18.3.0)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522))(react@19.0.0-rc-f994737d14-20240522)': + dependencies: + '@babel/runtime': 7.25.6 + react: 19.0.0-rc-f994737d14-20240522 + react-error-boundary: 3.1.4(react@19.0.0-rc-f994737d14-20240522) + optionalDependencies: + '@types/react': 18.3.0 + react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522) + '@testing-library/react@16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.0)(react-dom@18.3.0(react@18.3.0))(react@18.3.0)': dependencies: '@babel/runtime': 7.25.6 @@ -13349,6 +13385,16 @@ snapshots: '@types/react': 18.3.0 '@types/react-dom': 18.3.0 + '@testing-library/react@16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.0)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522))(react@19.0.0-rc-f994737d14-20240522)': + dependencies: + '@babel/runtime': 7.25.6 + '@testing-library/dom': 10.4.0 + react: 19.0.0-rc-f994737d14-20240522 + react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522) + optionalDependencies: + '@types/react': 18.3.0 + '@types/react-dom': 18.3.0 + '@tsconfig/node10@1.0.11': {} '@tsconfig/node12@1.0.11': {} @@ -13532,7 +13578,7 @@ snapshots: '@types/pluralize@0.0.33': {} - '@types/prop-types@15.7.12': {} + '@types/prop-types@15.7.13': {} '@types/qs@6.9.16': {} @@ -13548,7 +13594,7 @@ snapshots: '@types/react@18.3.0': dependencies: - '@types/prop-types': 15.7.12 + '@types/prop-types': 15.7.13 csstype: 3.1.3 '@types/responselike@1.0.3': @@ -13580,16 +13626,16 @@ snapshots: '@types/wrap-ansi@3.0.0': {} - '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2)': + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)': dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.2) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.6.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.6.2) + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.6.2) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -13600,15 +13646,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2)': + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)': dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.6.2) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.6.2) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.0)(typescript@5.6.2) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.6.2) + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.6.2) '@typescript-eslint/visitor-keys': 7.18.0 - eslint: 8.57.0 + eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -13618,27 +13664,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2)': + '@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.2) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2)': + '@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2) '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: @@ -13659,24 +13705,24 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.6.2)': + '@typescript-eslint/type-utils@6.21.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.6.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.6.2) debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.6.2)': + '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.6.2) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.6.2) debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: typescript: 5.6.2 @@ -13733,42 +13779,42 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.6.2)': + '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.6.2) - eslint: 8.57.0 + eslint: 8.57.1 eslint-scope: 5.1.1 semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.6.2)': + '@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.2) - eslint: 8.57.0 + eslint: 8.57.1 semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.6.2)': + '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2) - eslint: 8.57.0 + eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript @@ -13790,30 +13836,30 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vercel/style-guide@5.2.0(@next/eslint-plugin-next@14.2.11)(eslint@8.57.0)(prettier@3.3.3)(typescript@5.6.2)': + '@vercel/style-guide@5.2.0(@next/eslint-plugin-next@14.2.11)(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.2)': dependencies: '@babel/core': 7.25.2 - '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.0) + '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) '@rushstack/eslint-patch': 1.10.4 - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2) - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.2) - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)) - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.0) - eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0) - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-playwright: 0.16.0(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0) - eslint-plugin-react: 7.36.1(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) - eslint-plugin-testing-library: 6.3.0(eslint@8.57.0)(typescript@5.6.2) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.1) + eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.1) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-playwright: 0.16.0(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) + eslint-plugin-testing-library: 6.3.0(eslint@8.57.1)(typescript@5.6.2) eslint-plugin-tsdoc: 0.2.17 - eslint-plugin-unicorn: 48.0.1(eslint@8.57.0) + eslint-plugin-unicorn: 48.0.1(eslint@8.57.1) prettier-plugin-packagejson: 2.5.2(prettier@3.3.3) optionalDependencies: '@next/eslint-plugin-next': 14.2.11 - eslint: 8.57.0 + eslint: 8.57.1 prettier: 3.3.3 typescript: 5.6.2 transitivePeerDependencies: @@ -13836,23 +13882,23 @@ snapshots: chai: 5.1.1 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(msw@2.4.6(typescript@5.6.2))(vite@5.4.5(@types/node@20.16.5)(terser@5.32.0))': + '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(msw@2.4.8(typescript@5.6.2))(vite@5.4.6(@types/node@20.16.5)(terser@5.32.0))': dependencies: '@vitest/spy': 2.1.1 estree-walker: 3.0.3 magic-string: 0.30.11 optionalDependencies: - msw: 2.4.6(typescript@5.6.2) - vite: 5.4.5(@types/node@20.16.5)(terser@5.32.0) + msw: 2.4.8(typescript@5.6.2) + vite: 5.4.6(@types/node@20.16.5)(terser@5.32.0) - '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(msw@2.4.6(typescript@5.6.2))(vite@5.4.5(@types/node@22.5.5)(terser@5.32.0))': + '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(msw@2.4.8(typescript@5.6.2))(vite@5.4.6(@types/node@22.5.5)(terser@5.32.0))': dependencies: '@vitest/spy': 2.1.1 estree-walker: 3.0.3 magic-string: 0.30.11 optionalDependencies: - msw: 2.4.6(typescript@5.6.2) - vite: 5.4.5(@types/node@22.5.5)(terser@5.32.0) + msw: 2.4.8(typescript@5.6.2) + vite: 5.4.6(@types/node@22.5.5)(terser@5.32.0) '@vitest/pretty-format@2.1.1': dependencies: @@ -13902,59 +13948,59 @@ snapshots: loupe: 3.1.1 tinyrainbow: 1.2.0 - '@vue/compiler-core@3.5.5': + '@vue/compiler-core@3.5.6': dependencies: '@babel/parser': 7.25.6 - '@vue/shared': 3.5.5 + '@vue/shared': 3.5.6 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.5': + '@vue/compiler-dom@3.5.6': dependencies: - '@vue/compiler-core': 3.5.5 - '@vue/shared': 3.5.5 + '@vue/compiler-core': 3.5.6 + '@vue/shared': 3.5.6 - '@vue/compiler-sfc@3.5.5': + '@vue/compiler-sfc@3.5.6': dependencies: '@babel/parser': 7.25.6 - '@vue/compiler-core': 3.5.5 - '@vue/compiler-dom': 3.5.5 - '@vue/compiler-ssr': 3.5.5 - '@vue/shared': 3.5.5 + '@vue/compiler-core': 3.5.6 + '@vue/compiler-dom': 3.5.6 + '@vue/compiler-ssr': 3.5.6 + '@vue/shared': 3.5.6 estree-walker: 2.0.2 magic-string: 0.30.11 postcss: 8.4.47 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.5': + '@vue/compiler-ssr@3.5.6': dependencies: - '@vue/compiler-dom': 3.5.5 - '@vue/shared': 3.5.5 + '@vue/compiler-dom': 3.5.6 + '@vue/shared': 3.5.6 - '@vue/reactivity@3.5.5': + '@vue/reactivity@3.5.6': dependencies: - '@vue/shared': 3.5.5 + '@vue/shared': 3.5.6 - '@vue/runtime-core@3.5.5': + '@vue/runtime-core@3.5.6': dependencies: - '@vue/reactivity': 3.5.5 - '@vue/shared': 3.5.5 + '@vue/reactivity': 3.5.6 + '@vue/shared': 3.5.6 - '@vue/runtime-dom@3.5.5': + '@vue/runtime-dom@3.5.6': dependencies: - '@vue/reactivity': 3.5.5 - '@vue/runtime-core': 3.5.5 - '@vue/shared': 3.5.5 + '@vue/reactivity': 3.5.6 + '@vue/runtime-core': 3.5.6 + '@vue/shared': 3.5.6 csstype: 3.1.3 - '@vue/server-renderer@3.5.5(vue@3.5.5(typescript@5.6.2))': + '@vue/server-renderer@3.5.6(vue@3.5.6(typescript@5.6.2))': dependencies: - '@vue/compiler-ssr': 3.5.5 - '@vue/shared': 3.5.5 - vue: 3.5.5(typescript@5.6.2) + '@vue/compiler-ssr': 3.5.6 + '@vue/shared': 3.5.6 + vue: 3.5.6(typescript@5.6.2) - '@vue/shared@3.5.5': {} + '@vue/shared@3.5.6': {} '@webassemblyjs/ast@1.12.1': dependencies: @@ -14074,7 +14120,7 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ai@3.3.37(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.5(typescript@5.6.2))(zod@3.23.8): + ai@3.3.39(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.6(typescript@5.6.2))(zod@3.23.8): dependencies: '@ai-sdk/provider': 0.0.23 '@ai-sdk/provider-utils': 1.0.19(zod@3.23.8) @@ -14082,7 +14128,7 @@ snapshots: '@ai-sdk/solid': 0.0.47(zod@3.23.8) '@ai-sdk/svelte': 0.0.49(svelte@4.2.19)(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.44(zod@3.23.8) - '@ai-sdk/vue': 0.0.49(vue@3.5.5(typescript@5.6.2))(zod@3.23.8) + '@ai-sdk/vue': 0.0.49(vue@3.5.6(typescript@5.6.2))(zod@3.23.8) '@opentelemetry/api': 1.9.0 eventsource-parser: 1.1.2 json-schema: 0.4.0 @@ -14099,7 +14145,7 @@ snapshots: - solid-js - vue - ai@3.3.37(react@19.0.0-rc-f994737d14-20240522)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.5(typescript@5.6.2))(zod@3.23.8): + ai@3.3.39(react@19.0.0-rc-f994737d14-20240522)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.6(typescript@5.6.2))(zod@3.23.8): dependencies: '@ai-sdk/provider': 0.0.23 '@ai-sdk/provider-utils': 1.0.19(zod@3.23.8) @@ -14107,7 +14153,7 @@ snapshots: '@ai-sdk/solid': 0.0.47(zod@3.23.8) '@ai-sdk/svelte': 0.0.49(svelte@4.2.19)(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.44(zod@3.23.8) - '@ai-sdk/vue': 0.0.49(vue@3.5.5(typescript@5.6.2))(zod@3.23.8) + '@ai-sdk/vue': 0.0.49(vue@3.5.6(typescript@5.6.2))(zod@3.23.8) '@opentelemetry/api': 1.9.0 eventsource-parser: 1.1.2 json-schema: 0.4.0 @@ -14374,7 +14420,7 @@ snapshots: browserslist@4.23.3: dependencies: caniuse-lite: 1.0.30001660 - electron-to-chromium: 1.5.23 + electron-to-chromium: 1.5.24 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) @@ -14957,7 +15003,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.23: {} + electron-to-chromium@1.5.24: {} emoji-regex@8.0.0: {} @@ -15277,18 +15323,18 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-prettier@9.1.0(eslint@8.57.0): + eslint-config-prettier@9.1.0(eslint@8.57.1): dependencies: - eslint: 8.57.0 + eslint: 8.57.1 - eslint-config-turbo@2.1.2(eslint@8.57.0): + eslint-config-turbo@2.1.2(eslint@8.57.1): dependencies: - eslint: 8.57.0 - eslint-plugin-turbo: 2.1.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-plugin-turbo: 2.1.2(eslint@8.57.1) - eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)): + eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)): dependencies: - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1) eslint-import-resolver-node@0.3.9: dependencies: @@ -15298,56 +15344,56 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7 enhanced-resolve: 5.17.1 - eslint: 8.57.0 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) + eslint: 8.57.1 + eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1) fast-glob: 3.3.2 get-tsconfig: 4.8.1 is-bun-module: 1.2.1 is-glob: 4.0.3 optionalDependencies: - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.2) - eslint: 8.57.0 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.0) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) + eslint: 8.57.1 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color - eslint-module-utils@2.11.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + eslint-module-utils@2.11.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.6.2) - eslint: 8.57.0 + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.6.2) + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-drizzle@0.2.3(eslint@8.57.0): + eslint-plugin-drizzle@0.2.3(eslint@8.57.1): dependencies: - eslint: 8.57.0 + eslint: 8.57.1 - eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): + eslint-plugin-eslint-comments@3.2.0(eslint@8.57.1): dependencies: escape-string-regexp: 1.0.5 - eslint: 8.57.0 + eslint: 8.57.1 ignore: 5.3.2 - eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0): + eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -15356,9 +15402,9 @@ snapshots: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.0 + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.11.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -15369,23 +15415,23 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.6.2) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.6.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2): + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.6.2) - eslint: 8.57.0 + '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.6.2) + eslint: 8.57.1 optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.0): + eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1): dependencies: aria-query: 5.1.3 array-includes: 3.1.8 @@ -15396,7 +15442,7 @@ snapshots: damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 es-iterator-helpers: 1.0.19 - eslint: 8.57.0 + eslint: 8.57.1 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -15407,17 +15453,17 @@ snapshots: eslint-plugin-only-warn@1.1.0: {} - eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0): + eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1): dependencies: - eslint: 8.57.0 + eslint: 8.57.1 optionalDependencies: - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2) - eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): + eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): dependencies: - eslint: 8.57.0 + eslint: 8.57.1 - eslint-plugin-react@7.36.1(eslint@8.57.0): + eslint-plugin-react@7.36.1(eslint@8.57.1): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -15425,7 +15471,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.0.19 - eslint: 8.57.0 + eslint: 8.57.1 estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -15439,10 +15485,10 @@ snapshots: string.prototype.matchall: 4.0.11 string.prototype.repeat: 1.0.0 - eslint-plugin-testing-library@6.3.0(eslint@8.57.0)(typescript@5.6.2): + eslint-plugin-testing-library@6.3.0(eslint@8.57.1)(typescript@5.6.2): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.6.2) - eslint: 8.57.0 + '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.6.2) + eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript @@ -15452,18 +15498,18 @@ snapshots: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - eslint-plugin-turbo@2.1.2(eslint@8.57.0): + eslint-plugin-turbo@2.1.2(eslint@8.57.1): dependencies: dotenv: 16.0.3 - eslint: 8.57.0 + eslint: 8.57.1 - eslint-plugin-unicorn@48.0.1(eslint@8.57.0): + eslint-plugin-unicorn@48.0.1(eslint@8.57.1): dependencies: '@babel/helper-validator-identifier': 7.24.7 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) ci-info: 3.9.0 clean-regexp: 1.0.0 - eslint: 8.57.0 + eslint: 8.57.1 esquery: 1.6.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -15490,13 +15536,13 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint@8.57.1: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@eslint-community/regexpp': 4.11.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 @@ -15665,6 +15711,10 @@ snapshots: optionalDependencies: picomatch: 3.0.1 + fdir@6.3.0(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 @@ -15960,7 +16010,7 @@ snapshots: dependencies: react-is: 16.13.1 - hono@4.6.1: {} + hono@4.6.2: {} hosted-git-info@2.8.9: {} @@ -16703,13 +16753,13 @@ snapshots: optionalDependencies: msgpackr-extract: 3.0.3 - msw@2.4.6(typescript@5.6.2): + msw@2.4.8(typescript@5.6.2): dependencies: '@bundled-es-modules/cookie': 2.0.0 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 '@inquirer/confirm': 3.2.0 - '@mswjs/interceptors': 0.35.5 + '@mswjs/interceptors': 0.35.6 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 '@types/statuses': 2.0.5 @@ -17284,6 +17334,8 @@ snapshots: picomatch@3.0.1: {} + picomatch@4.0.2: {} + pify@2.3.0: {} pirates@4.0.6: {} @@ -17556,6 +17608,11 @@ snapshots: '@babel/runtime': 7.25.6 react: 18.3.0 + react-error-boundary@3.1.4(react@19.0.0-rc-f994737d14-20240522): + dependencies: + '@babel/runtime': 7.25.6 + react: 19.0.0-rc-f994737d14-20240522 + react-is@16.13.1: {} react-is@17.0.2: {} @@ -18394,9 +18451,9 @@ snapshots: swrev@4.0.0: {} - swrv@1.0.4(vue@3.5.5(typescript@5.6.2)): + swrv@1.0.4(vue@3.5.6(typescript@5.6.2)): dependencies: - vue: 3.5.5(typescript@5.6.2) + vue: 3.5.6(typescript@5.6.2) symbol-tree@3.2.4: {} @@ -18510,6 +18567,11 @@ snapshots: tinyexec@0.3.0: {} + tinyglobby@0.2.6: + dependencies: + fdir: 6.3.0(picomatch@4.0.2) + picomatch: 4.0.2 + tinypool@0.8.4: {} tinypool@1.0.1: {} @@ -18632,7 +18694,7 @@ snapshots: tslib@2.7.0: {} - tsup@8.2.4(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1): + tsup@8.3.0(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1): dependencies: bundle-require: 5.0.0(esbuild@0.23.1) cac: 6.7.14 @@ -18641,7 +18703,6 @@ snapshots: debug: 4.3.7 esbuild: 0.23.1 execa: 5.1.1 - globby: 11.1.0 joycon: 3.1.1 picocolors: 1.1.0 postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(yaml@2.5.1) @@ -18649,6 +18710,7 @@ snapshots: rollup: 4.21.3 source-map: 0.8.0-beta.0 sucrase: 3.35.0 + tinyglobby: 0.2.6 tree-kill: 1.2.2 optionalDependencies: postcss: 8.4.47 @@ -18959,7 +19021,7 @@ snapshots: debug: 4.3.7 pathe: 1.1.2 picocolors: 1.1.0 - vite: 5.4.5(@types/node@20.16.5)(terser@5.32.0) + vite: 5.4.6(@types/node@20.16.5)(terser@5.32.0) transitivePeerDependencies: - '@types/node' - less @@ -18976,7 +19038,7 @@ snapshots: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 - vite: 5.4.5(@types/node@20.16.5)(terser@5.32.0) + vite: 5.4.6(@types/node@20.16.5)(terser@5.32.0) transitivePeerDependencies: - '@types/node' - less @@ -18993,7 +19055,7 @@ snapshots: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 - vite: 5.4.5(@types/node@22.5.5)(terser@5.32.0) + vite: 5.4.6(@types/node@22.5.5)(terser@5.32.0) transitivePeerDependencies: - '@types/node' - less @@ -19005,7 +19067,7 @@ snapshots: - supports-color - terser - vite@5.4.5(@types/node@20.16.5)(terser@5.32.0): + vite@5.4.6(@types/node@20.16.5)(terser@5.32.0): dependencies: esbuild: 0.21.5 postcss: 8.4.47 @@ -19015,7 +19077,7 @@ snapshots: fsevents: 2.3.3 terser: 5.32.0 - vite@5.4.5(@types/node@22.5.5)(terser@5.32.0): + vite@5.4.6(@types/node@22.5.5)(terser@5.32.0): dependencies: esbuild: 0.21.5 postcss: 8.4.47 @@ -19044,7 +19106,7 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.5(@types/node@20.16.5)(terser@5.32.0) + vite: 5.4.6(@types/node@20.16.5)(terser@5.32.0) vite-node: 1.6.0(@types/node@20.16.5)(terser@5.32.0) why-is-node-running: 2.3.0 optionalDependencies: @@ -19060,10 +19122,10 @@ snapshots: - supports-color - terser - vitest@2.1.1(@types/node@20.16.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0): + vitest@2.1.1(@types/node@20.16.5)(jsdom@24.1.3)(msw@2.4.8(typescript@5.6.2))(terser@5.32.0): dependencies: '@vitest/expect': 2.1.1 - '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(msw@2.4.6(typescript@5.6.2))(vite@5.4.5(@types/node@20.16.5)(terser@5.32.0)) + '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(msw@2.4.8(typescript@5.6.2))(vite@5.4.6(@types/node@20.16.5)(terser@5.32.0)) '@vitest/pretty-format': 2.1.1 '@vitest/runner': 2.1.1 '@vitest/snapshot': 2.1.1 @@ -19078,7 +19140,7 @@ snapshots: tinyexec: 0.3.0 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.5(@types/node@20.16.5)(terser@5.32.0) + vite: 5.4.6(@types/node@20.16.5)(terser@5.32.0) vite-node: 2.1.1(@types/node@20.16.5)(terser@5.32.0) why-is-node-running: 2.3.0 optionalDependencies: @@ -19095,10 +19157,10 @@ snapshots: - supports-color - terser - vitest@2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0): + vitest@2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.8(typescript@5.6.2))(terser@5.32.0): dependencies: '@vitest/expect': 2.1.1 - '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(msw@2.4.6(typescript@5.6.2))(vite@5.4.5(@types/node@22.5.5)(terser@5.32.0)) + '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(msw@2.4.8(typescript@5.6.2))(vite@5.4.6(@types/node@22.5.5)(terser@5.32.0)) '@vitest/pretty-format': 2.1.1 '@vitest/runner': 2.1.1 '@vitest/snapshot': 2.1.1 @@ -19113,7 +19175,7 @@ snapshots: tinyexec: 0.3.0 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.5(@types/node@22.5.5)(terser@5.32.0) + vite: 5.4.6(@types/node@22.5.5)(terser@5.32.0) vite-node: 2.1.1(@types/node@22.5.5)(terser@5.32.0) why-is-node-running: 2.3.0 optionalDependencies: @@ -19130,13 +19192,13 @@ snapshots: - supports-color - terser - vue@3.5.5(typescript@5.6.2): + vue@3.5.6(typescript@5.6.2): dependencies: - '@vue/compiler-dom': 3.5.5 - '@vue/compiler-sfc': 3.5.5 - '@vue/runtime-dom': 3.5.5 - '@vue/server-renderer': 3.5.5(vue@3.5.5(typescript@5.6.2)) - '@vue/shared': 3.5.5 + '@vue/compiler-dom': 3.5.6 + '@vue/compiler-sfc': 3.5.6 + '@vue/runtime-dom': 3.5.6 + '@vue/server-renderer': 3.5.6(vue@3.5.6(typescript@5.6.2)) + '@vue/shared': 3.5.6 optionalDependencies: typescript: 5.6.2