From bdb4177ac2b8ab5bdd54d91a355fa09b3367f654 Mon Sep 17 00:00:00 2001 From: adolphzhang Date: Sun, 24 Nov 2024 00:25:19 +0800 Subject: [PATCH] feat: support continuing conversation after audio transcription, support generating audio from text separately, support generating audio after text conversation. chore: add intelligent model tip. chore: due to the limitations of the Vercel AI SDK, the model cannot modify its id midway through. The model modification mechanism has been rolled back to the version before last. --- package.json | 42 +- src/agent/model_middleware.ts | 9 +- src/agent/openai.ts | 28 +- src/agent/request.ts | 6 +- src/agent/types.ts | 6 +- src/config/config.ts | 15 +- src/telegram/command/system.ts | 9 +- src/telegram/handler/chat.ts | 192 +++-- src/telegram/handler/handlers.ts | 29 +- src/telegram/handler/index.ts | 1 - src/telegram/utils/send.ts | 14 +- yarn.lock | 1276 ++++++++++++++++++++---------- 12 files changed, 1108 insertions(+), 519 deletions(-) diff --git a/package.json b/package.json index 6f5545f5..42778838 100644 --- a/package.json +++ b/package.json @@ -40,39 +40,39 @@ "clean": "rm -rf dist" }, "dependencies": { - "@ai-sdk/anthropic": "^1.0.1", - "@ai-sdk/azure": "^1.0.3", - "@ai-sdk/cohere": "^1.0.1", - "@ai-sdk/google": "^1.0.1", - "@ai-sdk/google-vertex": "^1.0.1", - "@ai-sdk/mistral": "^1.0.2", - "@ai-sdk/openai": "^1.0.2", - "@ai-sdk/xai": "^1.0.2", - "ai": "^4.0.2", + "@ai-sdk/anthropic": "^1.0.2", + "@ai-sdk/azure": "^1.0.5", + "@ai-sdk/cohere": "^1.0.3", + "@ai-sdk/google": "^1.0.3", + "@ai-sdk/google-vertex": "^1.0.3", + "@ai-sdk/mistral": "^1.0.3", + "@ai-sdk/openai": "^1.0.4", + "@ai-sdk/xai": "^1.0.3", + "ai": "^4.0.3", "cloudflare-worker-adapter": "^1.3.4", "node-cron": "^3.0.3", "ws": "^8.18.0" }, "devDependencies": { - "@ai-sdk/anthropic": "^1.0.1", - "@ai-sdk/azure": "^1.0.3", - "@ai-sdk/cohere": "^1.0.1", - "@ai-sdk/google": "^1.0.1", - "@ai-sdk/google-vertex": "^1.0.1", - "@ai-sdk/mistral": "^1.0.2", - "@ai-sdk/openai": "^1.0.2", + "@ai-sdk/anthropic": "^1.0.2", + "@ai-sdk/azure": "^1.0.5", + "@ai-sdk/cohere": "^1.0.3", + "@ai-sdk/google": "^1.0.3", + "@ai-sdk/google-vertex": "^1.0.3", + "@ai-sdk/mistral": "^1.0.3", + "@ai-sdk/openai": "^1.0.4", "@antfu/eslint-config": "^3.9.2", "@cloudflare/workers-types": "^4.20241112.0", "@google-cloud/vertexai": "^1.9.0", "@navetacandra/ddg": "^0.0.6", "@rollup/plugin-node-resolve": "^15.3.0", - "@types/node": "^22.9.1", + "@types/node": "^22.9.3", "@types/node-cron": "^3.0.11", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@types/ws": "^8.5.13", - "@vercel/node": "^3.2.25", - "ai": "^4.0.2", + "@vercel/node": "^3.2.26", + "ai": "^4.0.3", "eslint": "^9.15.0", "eslint-plugin-format": "^0.1.2", "gts": "^6.0.2", @@ -82,11 +82,11 @@ "rollup-plugin-node-externals": "^7.1.3", "telegram-bot-api-types": "^7.11.0", "tsx": "^4.19.2", - "typescript": "^5.6.3", + "typescript": "^5.7.2", "vite": "^5.4.11", "vite-plugin-checker": "^0.8.0", "vite-plugin-dts": "^4.3.0", - "wrangler": "^3.88.0", + "wrangler": "^3.90.0", "ws": "^8.18.0" } } diff --git a/src/agent/model_middleware.ts b/src/agent/model_middleware.ts index 61b3d618..6ced5146 100644 --- a/src/agent/model_middleware.ts +++ b/src/agent/model_middleware.ts @@ -14,7 +14,7 @@ import { log } from '../log/logger'; type Writeable = { -readonly [P in keyof T]: T[P] }; -export function AIMiddleware({ config, tools, activeTools, onStream, toolChoice, messageReferencer, chatModel }: { config: AgentUserConfig; tools: Record; activeTools: string[]; onStream: ChatStreamTextHandler | null; toolChoice: ToolChoice[] | []; messageReferencer: string[]; chatModel: string }): LanguageModelV1Middleware & { onChunk: (data: any) => boolean; onStepFinish: (data: StepResult, context: AgentUserConfig) => void } { +export function AIMiddleware({ config, tools, activeTools, onStream, toolChoice, messageReferencer, chatModel }: { config: AgentUserConfig; tools: Record; activeTools: string[]; onStream: ChatStreamTextHandler | null; toolChoice: ToolChoice[] | []; messageReferencer: string[]; chatModel: string }): LanguageModelV1Middleware & { onChunk: (data: any) => void; onStepFinish: (data: StepResult, context: AgentUserConfig) => void } { let startTime: number | undefined; let sendToolCall = false; let step = 0; @@ -22,7 +22,7 @@ export function AIMiddleware({ config, tools, activeTools, onStream, toolChoice, return { wrapGenerate: async ({ doGenerate, params, model }) => { log.info('doGenerate called'); - await warpModel(model, config, activeTools, (params.mode as any).toolChoice, chatModel); + // await warpModel(model, config, activeTools, (params.mode as any).toolChoice, chatModel); recordModelLog(config, model, activeTools, (params.mode as any).toolChoice); const result = await doGenerate(); log.info(`generated text: ${result.text}`); @@ -31,7 +31,7 @@ export function AIMiddleware({ config, tools, activeTools, onStream, toolChoice, wrapStream: async ({ doStream, params, model }) => { log.info('doStream called'); - await warpModel(model, config, activeTools, (params.mode as any).toolChoice, chatModel); + // await warpModel(model, config, activeTools, (params.mode as any).toolChoice, chatModel); recordModelLog(config, model, activeTools, (params.mode as any).toolChoice); return doStream(); }, @@ -60,7 +60,6 @@ export function AIMiddleware({ config, tools, activeTools, onStream, toolChoice, sendToolCall = true; log.info(`will start tool: ${chunk.toolName}`); } - return sendToolCall; }, onStepFinish: (data: StepResult) => { @@ -140,7 +139,7 @@ async function warpModel(model: LanguageModelV1, config: AgentUserConfig, active let newModel: LanguageModelV1 | undefined; if (effectiveModel.includes(':')) { newModel = await createLlmModel(effectiveModel, config); - mutableModel.provider = newModel.provider; + // mutableModel.provider = newModel.provider; mutableModel.specificationVersion = newModel.specificationVersion; mutableModel.doStream = newModel.doStream; mutableModel.doGenerate = newModel.doGenerate; diff --git a/src/agent/openai.ts b/src/agent/openai.ts index 16b47e0b..7a248065 100644 --- a/src/agent/openai.ts +++ b/src/agent/openai.ts @@ -1,5 +1,4 @@ import type { CoreMessage, CoreUserMessage } from 'ai'; -import type { UnionData } from '../telegram/utils/utils'; import type { AudioAgent, ChatAgent, ChatStreamTextHandler, ImageAgent, ImageResult, LLMChatParams, LLMChatRequestParams, ResponseMessage } from './types'; import { createOpenAI } from '@ai-sdk/openai'; import { warpLLMParams } from '.'; @@ -143,7 +142,7 @@ export class Transcription extends OpenAIBase implements AudioAgent { }; @Log - request = async (audio: Blob, context: AgentUserConfig): Promise => { + request = async (audio: Blob, context: AgentUserConfig): Promise => { const url = `${context.OPENAI_API_BASE}/audio/transcriptions`; const header = { Authorization: `Bearer ${this.apikey(context)}`, @@ -173,9 +172,28 @@ export class Transcription extends OpenAIBase implements AudioAgent { throw new Error(resp); } log.info(`Transcription: ${resp.text}`); - return { - type: 'text', - text: resp.text, + return resp.text; + }; +} + +export class ASR extends OpenAIBase { + readonly modelKey = 'OPENAI_TTS_MODEL'; + hander = (text: string, context: AgentUserConfig): Promise => { + const url = `${context.OPENAI_API_BASE}/audio/speech`; + const headers = { + 'Authorization': `Bearer ${this.apikey(context)}`, + 'Content-Type': 'application/json', }; + return fetch(url, { + method: 'POST', + headers, + body: JSON.stringify({ + model: context.OPENAI_TTS_MODEL, + input: text, + voice: context.OPENAI_TTS_VOICE, + response_format: 'opus', + speed: 1, + }), + }).then(r => r.blob()); }; } diff --git a/src/agent/request.ts b/src/agent/request.ts index 879c29f4..f6de2c62 100644 --- a/src/agent/request.ts +++ b/src/agent/request.ts @@ -1,8 +1,8 @@ import type { CoreMessage, LanguageModelV1, StepResult } from 'ai'; -import type { ToolChoice } from '.'; import type { AgentUserConfig } from '../config/env'; import type { ChatStreamTextHandler, OpenAIFuncCallData, ResponseMessage } from './types'; import { generateText, streamText, experimental_wrapLanguageModel as wrapLanguageModel } from 'ai'; +import { createLlmModel, type ToolChoice } from '.'; import { ENV } from '../config/env'; import { log } from '../log/logger'; import { manualRequestTool } from '../tools'; @@ -196,7 +196,7 @@ export async function requestChatCompletionsV2(params: { model: LanguageModelV1; }); const hander_params = { model: wrapLanguageModel({ - model: params.model, + model: params.activeTools?.length ? await createLlmModel(params.context.TOOL_MODEL, params.context) : params.model, middleware, }), messages: params.messages, @@ -208,7 +208,7 @@ export async function requestChatCompletionsV2(params: { model: LanguageModelV1; onStepFinish: middleware.onStepFinish as (data: StepResult) => void, }; if (onStream !== null) { - const stream = await streamText({ + const stream = streamText({ ...hander_params, onChunk: middleware.onChunk as (data: any) => void, }); diff --git a/src/agent/types.ts b/src/agent/types.ts index c610e6a7..c31a723d 100644 --- a/src/agent/types.ts +++ b/src/agent/types.ts @@ -1,5 +1,6 @@ import type { CoreAssistantMessage, CoreMessage, CoreToolMessage, CoreUserMessage } from 'ai'; import type { AgentUserConfig } from '../config/env'; +import type { MessageSender } from '../telegram/utils/send'; import type { UnionData } from '../telegram/utils/utils'; export interface OpenAIFuncCallData { @@ -43,7 +44,8 @@ export type MessageTool = MessageBase & { }; export interface ChatStreamTextHandler { - send: (text: string, sendType?: 'chat' | 'telegraph') => Promise; + sender?: MessageSender; + send: (text: string) => Promise; end?: (text: string) => Promise; } @@ -76,7 +78,7 @@ export interface ImageResult extends UnionData { caption?: string; } -export type AudioAgentRequest = (audio: Blob, context: AgentUserConfig) => Promise; +export type AudioAgentRequest = (audio: Blob, context: AgentUserConfig) => Promise; export interface AudioAgent { name: string | string[]; diff --git a/src/config/config.ts b/src/config/config.ts index ea1c4f70..96dd0950 100644 --- a/src/config/config.ts +++ b/src/config/config.ts @@ -167,8 +167,6 @@ export class EnvironmentConfig { STORE_MEDIA_MESSAGE: boolean = false; // If true, will store text chunk when message separated to multiple chunks STORE_TEXT_CHUNK_MESSAGE: boolean = false; - // Audio handle type, 'transcribe' or 'chat' - AUDIO_HANDLE_TYPE = 'transcribe'; } // -- 通用配置 -- @@ -197,6 +195,7 @@ export class OpenAIConfig { OPENAI_VISION_MODEL = 'gpt-4o-mini'; // OpenAI TTS Model OPENAI_TTS_MODEL = 'tts-1'; + OPENAI_TTS_VOICE = 'alloy'; /** * OpenAI need transform model * @deprecated @@ -381,4 +380,16 @@ export class ExtraUserConfig { RERANK_MODELS: string[] = ['gpt-4o-mini', 'gpt-4o-2024-05-13', 'gpt-4o-2024-08-06', 'chatgpt-4o-latest', 'o1-mini', 'o1-preview', 'claude-3-5-sonnet-20240620', 'claude-3-5-sonnet-20241012', 'gemini-1.5-flash-002', 'gemini-1.5-pro-002', 'gemini-1.5-flash-latest', 'gemini-1.5-pro-latest', 'gemini-exp-1114', 'grok-beta', 'grok-vision-beta', 'claude-3-5-haiku-20241012']; // Whether to enable intelligent model processing ENABLE_INTELLIGENT_MODEL = false; + // text handle type, to asr or or just 'text' to chat with llm + TEXT_HANDLE_TYPE = 'text'; + // Text output type, 'audio' or 'text' + TEXT_OUTPUT = 'text'; + // Audio handle type, 'trans' or just 'audio' to chat with llm + AUDIO_HANDLE_TYPE = 'trans'; + // Audio output type, 'audio' or 'text' + AUDIO_OUTPUT = 'text'; + // Audio contains text + AUDIO_CONTAINS_TEXT = true; + // Audio text format + AUDIO_TEXT_FORMAT: undefined | 'spoiler' | 'bold' | 'italic' | 'underline' | 'strikethrough' | 'code' | 'pre' = undefined; } diff --git a/src/telegram/command/system.ts b/src/telegram/command/system.ts index 9e3e5755..3432a8cf 100644 --- a/src/telegram/command/system.ts +++ b/src/telegram/command/system.ts @@ -6,7 +6,6 @@ import type { HistoryItem } from '../../agent/types'; import type { WorkerContext } from '../../config/context'; import type { AgentUserConfig } from '../../config/env'; import type { MessageSender } from '../utils/send'; -import type { UnionData } from '../utils/utils'; import type { CommandHandler, InlineItem, ScopeType } from './types'; import { authChecker } from '.'; import { CHAT_AGENTS, customInfo, IMAGE_AGENTS, loadChatLLM, loadImageGen } from '../../agent'; @@ -322,7 +321,7 @@ export class SystemCommandHandler implements CommandHandler { export class RedoCommandHandler implements CommandHandler { command = '/redo'; scopes: ScopeType[] = ['all_private_chats', 'all_group_chats', 'all_chat_administrators']; - handle = async (message: Telegram.Message, subcommand: string, context: WorkerContext): Promise => { + handle = async (message: Telegram.Message, subcommand: string, context: WorkerContext): Promise< Response> => { const mf = (history: HistoryItem[], message: CoreUserMessage | null): any => { let nextMessage = message; if (!(history && Array.isArray(history) && history.length > 0)) { @@ -349,7 +348,7 @@ export class RedoCommandHandler implements CommandHandler { } return { history: historyCopy, message: nextMessage }; }; - return chatWithLLM(message, null, context, mf); + return chatWithLLM(message, null, context, mf) as unknown as Response; }; } @@ -535,9 +534,7 @@ export class SetCommandHandler implements CommandHandler { if (!this.relaxAuth && ENV.RELAX_AUTH_KEYS.length === 0) { return; } - if (needUpdate) { - await authChecker(this, message, context); - } else if (keys.length > 0 && keys.some(key => !ENV.RELAX_AUTH_KEYS.includes(key))) { + if (needUpdate || (keys.length > 0 && keys.some(key => !ENV.RELAX_AUTH_KEYS.includes(key)))) { await authChecker(this, message, context); } } diff --git a/src/telegram/handler/chat.ts b/src/telegram/handler/chat.ts index 97f918ca..aaed0aac 100644 --- a/src/telegram/handler/chat.ts +++ b/src/telegram/handler/chat.ts @@ -9,6 +9,7 @@ import type { UnionData } from '../utils/utils'; import type { MessageHandler } from './types'; import { loadAudioLLM, loadChatLLM, loadImageGen } from '../../agent'; import { loadHistory, requestCompletionsFromLLM } from '../../agent/chat'; +import { ASR } from '../../agent/openai'; import { ENV } from '../../config/env'; import { clearLog, getLog, logSingleton } from '../../log/logDecortor'; import { log } from '../../log/logger'; @@ -19,16 +20,12 @@ import { escape } from '../utils/md2tgmd'; import { MessageSender, sendAction, TelegraphSender } from '../utils/send'; import { waitUntil } from '../utils/utils'; -async function messageInitialize(sender: MessageSender, streamSender: ChatStreamTextHandler): Promise { - if (!sender.context.message_id) { - try { - setTimeout(() => sendAction(sender.api.token, sender.context.chat_id, 'typing'), 0); - log.info(`send init message`); - streamSender.send('...', 'chat'); - } catch (e) { - console.error('Failed to initialize message:', e); - } - } +async function messageInitialize(sender: MessageSender, context?: WorkerContext): Promise { + setTimeout(() => sendAction(sender.api.token, sender.context.chat_id, 'typing'), 0); + log.info(`send init message`); + const streamSender = OnStreamHander(sender, context); + streamSender.send('...'); + return streamSender; } export async function chatWithLLM( @@ -36,22 +33,21 @@ export async function chatWithLLM( params: LLMChatRequestParams | null, context: WorkerContext, modifier: HistoryModifier | null, -): Promise { - const sender = MessageSender.from(context.SHARE_CONTEXT.botToken, message); - const streamSender = OnStreamHander(sender, context, message.text || ''); - messageInitialize(sender, streamSender); - + sender?: ChatStreamTextHandler, + isMiddle?: boolean, +): Promise { const agent = loadChatLLM(context.USER_CONFIG); + const streamSender = sender ?? OnStreamHander(MessageSender.from(context.SHARE_CONTEXT.botToken, message), context); if (!agent) { return streamSender.end?.('LLM is not enabled'); } try { log.info(`start chat with LLM`); - const answer = await requestCompletionsFromLLM(params, context, agent, modifier, ENV.STREAM_MODE ? streamSender : null); + const answer = await requestCompletionsFromLLM(params, context, agent, modifier, ENV.STREAM_MODE && !isMiddle ? streamSender : null); log.info(`chat with LLM done`); if (answer.messages.at(-1)?.role === 'tool') { - const result = await sendToolResult(answer.messages.at(-1)?.content as ToolResultPart[], sender, context.USER_CONFIG); + const result = await sendToolResult(answer.messages.at(-1)?.content as ToolResultPart[], streamSender.sender!, context.USER_CONFIG); if (result instanceof Response) { return result; } @@ -59,6 +55,9 @@ export async function chatWithLLM( if (answer.content === '') { return streamSender.end?.('No response'); } + if (isMiddle) { + return answer.content; + } return streamSender.end?.(answer.content); } catch (e) { let errMsg = `Error: `; @@ -92,7 +91,7 @@ export class ChatHandler implements MessageHandler { console.error('Error:', e); const sender = context.MIDDEL_CONTEXT.sender ?? MessageSender.from(context.SHARE_CONTEXT.botToken, message); const filtered = (e as Error).message.replace(context.SHARE_CONTEXT.botToken, '[REDACTED]'); - return sender.sendRichText(`
Error:${filtered.substring(0, 4000)}
`, 'HTML'); + return sender.sendRichText(`
Error: ${filtered.substring(0, 4000)}
`, 'HTML'); } }; @@ -163,8 +162,9 @@ export function OnStreamHander(sender: MessageSender | ChosenInlineSender, conte }; const streamSender = { - send: null as ((text: string, isEnd: boolean, sendType?: 'chat' | 'telegraph') => Promise) | null, + send: null as ((text: string, isEnd: boolean) => Promise) | null, end: null as ((text: string) => Promise) | null, + sender, }; streamSender.send = async (text: string): Promise => { try { @@ -220,7 +220,6 @@ export function OnStreamHander(sender: MessageSender | ChosenInlineSender, conte } const data = context ? `${getLog(context.USER_CONFIG)}\n${text}` : text; log.info(`sent message ids: ${isMessageSender ? [...sender.context.sentMessageIds] : sender.context.inline_message_id}`); - isMessageSender && sendAction(sender.api.token, sender.context.chat_id, 'typing'); while (true) { const finalResp = await (sentError ? sender.sendPlainText(data) : sender.sendRichText(data)); if (finalResp.status === 429) { @@ -271,20 +270,27 @@ async function sendTelegraph(context: WorkerContext, sender: MessageSender | Cho type WorkflowHandler = ( message: Telegram.Message, params: LLMChatRequestParams, - context: WorkerContext -) => Promise; + context: WorkerContext, + streamSender: ChatStreamTextHandler, + handleKey: string, +) => Promise; function workflowHandlers(type: string): WorkflowHandler { switch (type) { case 'text:text': + case 'text:audio': + case 'asr:text': + case 'asr:audio': case 'image:text': case 'photo:text': - return handleTextToText; + return handleText; case 'text:image': return handleTextToImage; - case 'voice:text': case 'audio:text': - return handleAudioToText; + case 'audio:audio': + case 'trans:text': + case 'trans:audio': + return handleAudio; default: throw new Error(`Unsupported message type: ${type}`); } @@ -294,28 +300,47 @@ async function workflow( context: WorkerContext, message: Telegram.Message, params: LLMChatRequestParams, -): Promise { +): Promise { const msgType = context.MIDDEL_CONTEXT.originalMessageInfo.type; - const handlerKey = `${msgType}:text`; + let handlerKey = `${msgType}:`; + if (msgType === 'text') { + handlerKey = `${context.USER_CONFIG.TEXT_HANDLE_TYPE}:${context.USER_CONFIG.TEXT_OUTPUT}`; + } else if (msgType === 'audio' || msgType === 'voice') { + handlerKey = `${context.USER_CONFIG.AUDIO_HANDLE_TYPE}:${context.USER_CONFIG.AUDIO_OUTPUT}`; + } else { + handlerKey += 'text'; + } const handler = workflowHandlers(handlerKey); - return handler(message, params, context); + const sender = MessageSender.from(context.SHARE_CONTEXT.botToken, message); + const streamSender = await messageInitialize(sender, context); + return handler(message, params, context, streamSender, handlerKey); } -async function handleTextToText( +async function handleText( message: Telegram.Message, params: LLMChatRequestParams, context: WorkerContext, -): Promise { - return chatWithLLM(message, params, context, null); + streamSender: ChatStreamTextHandler, + handleKey: string, +): Promise { + switch (handleKey) { + case 'asr:audio': + case 'text:audio': + return handleTextToAudio(message, params, context, streamSender, handleKey); + default: + return chatWithLLM(message, params, context, null, streamSender); + } } async function handleTextToImage( message: Telegram.Message, params: LLMChatRequestParams, context: WorkerContext, + streamSender: ChatStreamTextHandler, + handleKey: string, ): Promise { const agent = loadImageGen(context.USER_CONFIG); - const sender = MessageSender.from(context.SHARE_CONTEXT.botToken, message); + const sender = streamSender.sender!; if (!agent) { return sender.sendPlainText('ERROR: Image generator not found'); } @@ -328,27 +353,84 @@ async function handleTextToImage( return api.deleteMessage({ chat_id: sender.context.chat_id, message_id: sender.context.message_id! }); } -async function handleAudioToText( +async function handleAudio( message: Telegram.Message, params: LLMChatRequestParams, context: WorkerContext, -): Promise { - const agent = loadAudioLLM(context.USER_CONFIG); - const sender = MessageSender.from(context.SHARE_CONTEXT.botToken, message); - if (!agent) { - return sender.sendPlainText('ERROR: Audio agent not found'); - } + streamSender: ChatStreamTextHandler, + handleKey: string, +): Promise { const url = (params.content as FilePart[]).at(-1)?.data as string; const audio = await fetch(url).then(b => b.blob()); - const result = await agent.request(audio, context.USER_CONFIG); - context.MIDDEL_CONTEXT.history.push({ role: 'user', content: result.text || '' }); - await sender.sendRichText(`${getLog(context.USER_CONFIG, false, false)}\n> \n${result.text}`, 'MarkdownV2', 'chat'); - if (ENV.AUDIO_HANDLE_TYPE === 'chat' && result.text) { - clearLog(context.USER_CONFIG); - const otherText = (params.content as TextPart[]).filter(c => c.type === 'text').map(c => c.text).join('\n').trim(); - return chatWithLLM(message, { role: 'user', content: `[AUDIO]: ${result.text}\n${otherText}` }, context, null); + const text = await transcription(audio, context.USER_CONFIG); + context.MIDDEL_CONTEXT.history.push({ role: 'user', content: text }); + const sender = streamSender.sender!; + if (handleKey === 'audio:text' || !ENV.HIDE_MIDDLE_MESSAGE) { + await sender.sendRichText(`${getLog(context.USER_CONFIG, false, false)}\n> \n${text}`); } - return new Response('audio handle done'); + if (handleKey === 'trans:text') { + return new Response('audio handle done'); + } + clearLog(context.USER_CONFIG); + !ENV.HIDE_MIDDLE_MESSAGE && sender.context.sentMessageIds.clear(); + const isMiddle = handleKey === 'audio:audio'; + const otherText = (params.content as TextPart[]).filter(c => c.type === 'text').map(c => c.text).join('\n').trim(); + const resp = await chatWithLLM(message, { role: 'user', content: `[AUDIO TRANSCRIPTION]: ${text}\n${otherText}` }, context, null, streamSender, isMiddle); + if (isMiddle) { + const voice = await asr(resp as string, context.USER_CONFIG); + ENV.HIDE_MIDDLE_MESSAGE && sender.api.deleteMessage({ chat_id: sender.context.chat_id, message_id: sender.context.message_id! }); + return sender.api.sendVoice({ + chat_id: sender.context.chat_id, + voice, + }); + } + return resp; +} + +async function handleTextToAudio( + message: Telegram.Message, + params: LLMChatRequestParams, + context: WorkerContext, + streamSender: ChatStreamTextHandler, + handleKey: string, +): Promise { + let text = params.content as string; + const sender = streamSender.sender!; + if (handleKey === 'text:audio') { + !ENV.HIDE_MIDDLE_MESSAGE && streamSender.send('Chat with LLM in progress'); + text = await chatWithLLM(message, params, context, null, streamSender, true) as string; + !ENV.HIDE_MIDDLE_MESSAGE && streamSender.send('Chat with LLM done'); + } + const agent = new ASR(); + const audio = await agent.hander(text, context.USER_CONFIG); + // const sendPromise = sender.sendPlainText('Audio generation in progress.'); + // sender.update({ message_id: await sendPromise.then(r => r.json()).then(r => r.result.message_id) }); + // const mediaParams: Telegram.InputMediaAudio = { + // type: 'audio', + // media: 'attach://file', + // }; + sendAction(context.SHARE_CONTEXT.botToken, sender.context.chat_id, 'upload_voice'); + const voiceParams: Telegram.SendVoiceParams = { + chat_id: sender.context.chat_id, + voice: audio, + }; + if (context.USER_CONFIG.AUDIO_CONTAINS_TEXT) { + voiceParams.caption = text; + if (['spoiler', 'bold', 'italic', 'underline', 'strikethrough', 'code', 'pre'].includes(context.USER_CONFIG.AUDIO_TEXT_FORMAT || '')) { + voiceParams.caption_entities = [{ + type: context.USER_CONFIG.AUDIO_TEXT_FORMAT as Telegram.MessageEntityType, + offset: 0, + length: text.length, + }]; + } + } + const resp = await sender.api.sendVoice(voiceParams); + if (resp.ok) { + return sender.api.deleteMessage({ chat_id: sender.context.chat_id, message_id: sender.context.message_id! }); + } + log.error(`Failed to send voice message: ${resp.status} ${await resp.text()}`); + throw new Error(`Failed to send voice message: ${resp.status} ${resp.statusText}`); + // return sender.editMessageMedia(mediaParams, undefined, audio); } export async function sendImages(img: ImageResult, SEND_IMAGE_AS_FILE: boolean, sender: MessageSender, config: AgentUserConfig) { @@ -365,7 +447,8 @@ export async function sendImages(img: ImageResult, SEND_IMAGE_AS_FILE: boolean, return sender.editMessageMedia({ type: 'photo', media: img.url[0], - }, caption, ENV.DEFAULT_PARSE_MODE as Telegram.ParseMode); + caption, + }, ENV.DEFAULT_PARSE_MODE as Telegram.ParseMode); } else if (img.url || img.raw) { return sender.sendPhoto((img.url || img.raw)![0], caption, 'MarkdownV2'); } else { @@ -378,3 +461,16 @@ function injectHistory(context: WorkerContext, result: UnionData, nextType: stri return; context.MIDDEL_CONTEXT.history.push({ role: 'user', content: result.text || '', ...(result.url && result.url.length > 0 && { images: result.url }) }); } + +function transcription(audio: Blob, config: AgentUserConfig) { + const agent = loadAudioLLM(config); + if (!agent) { + throw new Error('Audio agent not found'); + } + return agent.request(audio, config); +} + +function asr(text: string, config: AgentUserConfig) { + const agent = new ASR(); + return agent.hander(text, config); +} diff --git a/src/telegram/handler/handlers.ts b/src/telegram/handler/handlers.ts index bd45cec7..ee2cabce 100644 --- a/src/telegram/handler/handlers.ts +++ b/src/telegram/handler/handlers.ts @@ -137,7 +137,9 @@ export class InitUserConfig implements MessageHandler { export class StoreHistory implements MessageHandler { handle = async (message: Telegram.Message, context: WorkerContext): Promise => { const historyDisable = ENV.AUTO_TRIM_HISTORY && ENV.MAX_HISTORY_LENGTH <= 0; - if (!historyDisable) { + const isAsr = context.USER_CONFIG.TEXT_HANDLE_TYPE === 'asr'; + const isTrans = context.USER_CONFIG.AUDIO_HANDLE_TYPE === 'trans'; + if (!historyDisable && !isAsr && !isTrans) { const historyKey = context.SHARE_CONTEXT.chatHistoryKey; const history = context.MIDDEL_CONTEXT.history; const userMessage = history.findLast(h => h.role === 'user'); @@ -145,6 +147,7 @@ export class StoreHistory implements MessageHandler { userMessage.content = userMessage.content.map(c => c.type === 'text' ? c.text : `[${c.type}]`).join('\n'); } await ENV.DATABASE.put(historyKey, JSON.stringify(history)).catch(console.error); + log.info(`[STORE HISTORY] DONE`); } return null; }; @@ -437,9 +440,10 @@ export class IntelligentModelProcess implements MessageHandler { return null; } const regex = /^\s*\/\/(c|v)\s*(\S+)/; - const text = (message.text || message.caption || '').trim().match(regex); - if (text && text[1] && text[2]) { + const text = new RegExp(regex).exec((message.text || message.caption || '').trim()); + if (text?.[1] && text[2]) { const rerank = new Rerank(); + const sendTipPromise = this.sendTip(context, message); try { const similarityModel = (await rerank.rank(context.USER_CONFIG, [text[2], ...context.USER_CONFIG.RERANK_MODELS], 1))[0].name; const mode = text[1]; @@ -449,6 +453,7 @@ export class IntelligentModelProcess implements MessageHandler { } else if (message.caption) { message.caption = textReplace + message.caption.slice(text[0].length).trim(); } + this.deleteTip(context, (await sendTipPromise).result); } catch (error) { log.error(`[INTELLIGENT MODEL PROCESS] Rerank error: ${error}`); return null; @@ -456,4 +461,22 @@ export class IntelligentModelProcess implements MessageHandler { } return null; }; + + sendTip = (context: WorkerContext, message: Telegram.Message) => { + const sendeParams: Telegram.SendMessageParams = { + chat_id: message.chat.id, + text: 'Searching for similarity result', + message_thread_id: message.is_topic_message && message.message_thread_id ? message.message_thread_id : undefined, + }; + return createTelegramBotAPI(context.SHARE_CONTEXT.botToken).sendMessageWithReturns(sendeParams); + }; + + deleteTip = (context: WorkerContext, message: Telegram.Message) => { + const delParams: Telegram.DeleteMessageParams = { + message_id: message.message_id, + chat_id: message.chat.id, + }; + log.info('delete similarity tip.'); + return createTelegramBotAPI(context.SHARE_CONTEXT.botToken).deleteMessage(delParams); + }; } diff --git a/src/telegram/handler/index.ts b/src/telegram/handler/index.ts index 5d3701ce..f52b8ccf 100644 --- a/src/telegram/handler/index.ts +++ b/src/telegram/handler/index.ts @@ -88,7 +88,6 @@ async function handleMessage(token: string, message: Telegram.Message, isForward break; } } - log.info(`[MESSAGE HANDLER] handle message end, to handle exit handlers`); for (const handler of exitHanders) { const result = await handler.handle(message, context); diff --git a/src/telegram/utils/send.ts b/src/telegram/utils/send.ts index 295c1dc6..11ca4b7c 100644 --- a/src/telegram/utils/send.ts +++ b/src/telegram/utils/send.ts @@ -226,7 +226,7 @@ export class MessageSender { return this.api.sendDocument(params); } - editMessageMedia(media: Telegram.InputMedia, caption?: string, parse_mode?: Telegram.ParseMode): Promise { + async editMessageMedia(media: Telegram.InputMedia, parse_mode?: Telegram.ParseMode, file?: File | Blob): Promise { if (!this.context) { throw new Error('Message context not set'); } @@ -238,11 +238,12 @@ export class MessageSender { message_id: this.context.message_id, media: { ...media, - ...(caption ? { caption: parse_mode ? renderMessage(parse_mode, caption)[0] : caption } : {}), parse_mode, + caption: media.caption && parse_mode ? renderMessage(parse_mode, media.caption)[0] : media.caption, }, }; - const resp = this.api.editMessageMedia(params); + + const resp = this.api.request('editMessageMedia', { ...params, file }); return checkIsNeedTagIds(this.context, resp, 'chat'); } } @@ -511,13 +512,12 @@ export class ChosenInlineSender { }); } - editMessageMedia(media: string, type: 'photo' | 'video' | 'audio' | 'document', caption?: string | undefined, parse_mode?: Telegram.ParseMode): Promise { + editMessageMedia(media: Telegram.InputMedia, parse_mode?: Telegram.ParseMode): Promise { return this.api.editMessageMedia({ inline_message_id: this.context.inline_message_id, media: { - type, - media, - ...(caption ? { caption: renderMessage(parse_mode || null, caption)[0] } : {}), + ...media, + parse_mode, }, }); } diff --git a/yarn.lock b/yarn.lock index 89fc4402..1626e40b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,116 +2,106 @@ # yarn lockfile v1 -"@ai-sdk/anthropic@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@ai-sdk/anthropic/-/anthropic-1.0.0.tgz" - integrity sha512-xegqsHU8v9el0Ei98BEkzCcygOKCSuZ+P7zTHjh4sT3isNc+3uv7yotmHQsLovF4MSSUz/zt/q7SG79/lRjLYQ== - dependencies: - "@ai-sdk/provider" "1.0.0" - "@ai-sdk/provider-utils" "2.0.0" - -"@ai-sdk/azure@^1.0.2": +"@ai-sdk/anthropic@^1.0.2": version "1.0.2" - resolved "https://registry.npmjs.org/@ai-sdk/azure/-/azure-1.0.2.tgz" - integrity sha512-pvGEAJ0FEIp6zwVP23AL7un1KgBtAfmUvDtYR4NEHrVkbHtvDjTcQL9+G6pz6pwlXZsEil7ANLn2cjk5GOwbsg== + resolved "https://registry.yarnpkg.com/@ai-sdk/anthropic/-/anthropic-1.0.2.tgz#50b5cb28052461891e2588f9b26219f352ae134e" + integrity sha512-f3Z356AgUe6vcaUJuVY1+UWdUdhx/JzIADaQgybHSBRQ+OXOYs7AveKist01I6fBXGl3DPPbJJr/i0P888Izfg== dependencies: - "@ai-sdk/openai" "1.0.1" - "@ai-sdk/provider" "1.0.0" - "@ai-sdk/provider-utils" "2.0.0" + "@ai-sdk/provider" "1.0.1" + "@ai-sdk/provider-utils" "2.0.2" -"@ai-sdk/cohere@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@ai-sdk/cohere/-/cohere-1.0.0.tgz" - integrity sha512-iN2Ww2VeRnprQBJ7dCp65DtdzCY/53+CA3UmM7Rhn8IZCTqRHkVoZebzv3ZOTb9pikO4CUWqV9yh1oUhQDgyow== +"@ai-sdk/azure@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@ai-sdk/azure/-/azure-1.0.5.tgz#0af882c54880a1a6adf90058f4651ba153b54bac" + integrity sha512-z6YL0pkicHs890U3BtXhXWsXcVZbIjkPuOofwT9BmiMVqdiHRAjr+/7IwRYpF4CoOjQMu6dQvQbn89qHho2Xbw== dependencies: - "@ai-sdk/provider" "1.0.0" - "@ai-sdk/provider-utils" "2.0.0" + "@ai-sdk/openai" "1.0.4" + "@ai-sdk/provider" "1.0.1" + "@ai-sdk/provider-utils" "2.0.2" -"@ai-sdk/google-vertex@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@ai-sdk/google-vertex/-/google-vertex-1.0.0.tgz" - integrity sha512-8Op/aaMFD73cEm8vhCFI+Cogb8l89CpbJGlfw3h5G38gV8u9XXDZIwUMWHBdnmRtsTG/GZF430HABzY1D/GA+g== +"@ai-sdk/cohere@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@ai-sdk/cohere/-/cohere-1.0.3.tgz#4151740a20ec9dd0296b0166962ba6716a8f9a74" + integrity sha512-SDjPinUcGzTNiSMN+9zs1fuAcP8rU1/+CmDWAGu7eMhwVGDurgiOqscC0Oqs/aLsodLt/sFeOvyqj86DAknpbg== dependencies: - "@ai-sdk/provider" "1.0.0" - "@ai-sdk/provider-utils" "2.0.0" + "@ai-sdk/provider" "1.0.1" + "@ai-sdk/provider-utils" "2.0.2" -"@ai-sdk/google@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@ai-sdk/google/-/google-1.0.0.tgz" - integrity sha512-GXt17gZvA9QZdlvNamekLERfM2sWgAOkwHOwKGV2aVPx6lpWs46AMx/IfOi3qxoUjepj3ka0QQg0Ai8mHUPOSg== +"@ai-sdk/google-vertex@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@ai-sdk/google-vertex/-/google-vertex-1.0.3.tgz#fb990d7264fc283251301c78a140acd040047d1d" + integrity sha512-WGKATgQe1z+EUlpCYEiWC2lmm99J43UZqmp4YtfKZpz8iyo7XIDPm7LpuBOEvUvuHGAxtJVYwwzHa6f3kuvfEw== dependencies: - "@ai-sdk/provider" "1.0.0" - "@ai-sdk/provider-utils" "2.0.0" + "@ai-sdk/provider" "1.0.1" + "@ai-sdk/provider-utils" "2.0.2" -"@ai-sdk/mistral@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@ai-sdk/mistral/-/mistral-1.0.1.tgz" - integrity sha512-m/3Ip/JvHMu9A/qNmEC5sK1f18XlMrxAVfS+ToxFuDaoqRZk/OqArxDQjzEqfNZrE2+sEr4Q4ZTXtyiWoQo48w== +"@ai-sdk/google@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@ai-sdk/google/-/google-1.0.3.tgz#3fafcb1a74a9365be06f17ea13c55cf2449308bf" + integrity sha512-vxHQw2ogNUMgiVtflDUh+8izc1H0DUo0GusT+YHG/2qdcoY4M1GxCD6pB1osNDeIxfjzToA5HfqdatjaRiYR9g== dependencies: - "@ai-sdk/provider" "1.0.0" - "@ai-sdk/provider-utils" "2.0.0" + "@ai-sdk/provider" "1.0.1" + "@ai-sdk/provider-utils" "2.0.2" -"@ai-sdk/openai@^1.0.1", "@ai-sdk/openai@1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@ai-sdk/openai/-/openai-1.0.1.tgz" - integrity sha512-snZge8457afWlosVNUn+BG60MrxAPOOm3zmIMxJZih8tneNSiRbTVCbSzAtq/9vsnOHDe5RR83PRl85juOYEnA== +"@ai-sdk/mistral@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@ai-sdk/mistral/-/mistral-1.0.3.tgz#6230e6778e0588993bfd020e234d49a2d4d2a7ac" + integrity sha512-CzwYougArZ0STfVXfg//+BUzW1HHD38slNQYkLMxPjlMVLvNw0H5EqM7Gbk40z5bNibe3o6SWGr0GTX1rUnVxA== dependencies: - "@ai-sdk/provider" "1.0.0" - "@ai-sdk/provider-utils" "2.0.0" + "@ai-sdk/provider" "1.0.1" + "@ai-sdk/provider-utils" "2.0.2" -"@ai-sdk/provider-utils@2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.0.0.tgz" - integrity sha512-uITgVJByhtzuQU2ZW+2CidWRmQqTUTp6KADevy+4aRnmILZxY2LCt+UZ/ZtjJqq0MffwkuQPPY21ExmFAQ6kKA== +"@ai-sdk/openai@1.0.4", "@ai-sdk/openai@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@ai-sdk/openai/-/openai-1.0.4.tgz#5818aff68a3e3e4853da97f6f624bcaea852ff8a" + integrity sha512-3QpgKmkCeJvUdeu3sVRL/ZKWzg8biO0tN2owQW/lFV95o8qskE3bN95R9H136Mmu0124/C28aY6ScxO93nUrtg== dependencies: - "@ai-sdk/provider" "1.0.0" - eventsource-parser "^3.0.0" - nanoid "^5.0.8" - secure-json-parse "^2.7.0" + "@ai-sdk/provider" "1.0.1" + "@ai-sdk/provider-utils" "2.0.2" -"@ai-sdk/provider-utils@2.0.1": - version "2.0.1" - resolved "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.0.1.tgz" - integrity sha512-TNg7rPhRtETB2Z9F0JpOvpGii9Fs8EWM8nYy1jEkvSXkrPJ6b/9zVnDdaJsmLFDyrMbOsPJlkblYtmYEQou36w== +"@ai-sdk/provider-utils@2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@ai-sdk/provider-utils/-/provider-utils-2.0.2.tgz#ea9d510be442b38bd40ae50dbf5b64ffc396952b" + integrity sha512-IAvhKhdlXqiSmvx/D4uNlFYCl8dWT+M9K+IuEcSgnE2Aj27GWu8sDIpAf4r4Voc+wOUkOECVKQhFo8g9pozdjA== dependencies: - "@ai-sdk/provider" "1.0.0" + "@ai-sdk/provider" "1.0.1" eventsource-parser "^3.0.0" nanoid "^3.3.7" secure-json-parse "^2.7.0" -"@ai-sdk/provider@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.0.0.tgz" - integrity sha512-Sj29AzooJ7SYvhPd+AAWt/E7j63E9+AzRnoMHUaJPRYzOd/WDrVNxxv85prF9gDcQ7XPVlSk9j6oAZV9/DXYpA== +"@ai-sdk/provider@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@ai-sdk/provider/-/provider-1.0.1.tgz#8172a3cbbfa61bb40b88512165f70fe3c186cb60" + integrity sha512-mV+3iNDkzUsZ0pR2jG0sVzU6xtQY5DtSCBy3JFycLp6PwjyLw/iodfL3MwdmMCRJWgs3dadcHejRnMvF9nGTBg== dependencies: json-schema "^0.4.0" -"@ai-sdk/react@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@ai-sdk/react/-/react-1.0.0.tgz" - integrity sha512-BDrZqQA07Btg64JCuhFvBgYV+tt2B8cXINzEqWknGoxqcwgdE8wSLG2gkXoLzyC2Rnj7oj0HHpOhLUxDCmoKZg== +"@ai-sdk/react@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-1.0.2.tgz#b0a9592a63f2b03df3285fb6f786862ae5082e88" + integrity sha512-VQfQ6PMiUz4hDquAfjih0DIw4gsQvRFk91SFg2xWirDO4swMZByJzqGGcILPQKbww5ndCo48iZj9S1mLKZo5Dg== dependencies: - "@ai-sdk/provider-utils" "2.0.0" - "@ai-sdk/ui-utils" "1.0.0" + "@ai-sdk/provider-utils" "2.0.2" + "@ai-sdk/ui-utils" "1.0.2" swr "^2.2.5" throttleit "2.1.0" -"@ai-sdk/ui-utils@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-1.0.0.tgz" - integrity sha512-oXBDIM/0niWeTWyw77RVl505dNxBUDLLple7bTsqo2d3i1UKwGlzBUX8XqZsh7GbY7I6V05nlG0Y8iGlWxv1Aw== +"@ai-sdk/ui-utils@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@ai-sdk/ui-utils/-/ui-utils-1.0.2.tgz#2b5ad527f821b055663ddc60f2c45a82956091a0" + integrity sha512-hHrUdeThGHu/rsGZBWQ9PjrAU9Htxgbo9MFyR5B/aWoNbBeXn1HLMY1+uMEnXL5pRPlmyVRjgIavWg7UgeNDOw== dependencies: - "@ai-sdk/provider" "1.0.0" - "@ai-sdk/provider-utils" "2.0.0" + "@ai-sdk/provider" "1.0.1" + "@ai-sdk/provider-utils" "2.0.2" zod-to-json-schema "^3.23.5" -"@ai-sdk/xai@^1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@ai-sdk/xai/-/xai-1.0.2.tgz" - integrity sha512-Dv9z24XavnJUJmyDrr+c0KUnxr12butxxwHW/Z46BNC+LkzlgyMktuGqvPjB39yvlKGsLLRBSmPis17ptpu4nw== +"@ai-sdk/xai@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@ai-sdk/xai/-/xai-1.0.3.tgz#0da5c0b8a9bae864a388450ee00aed1e0cb42fbe" + integrity sha512-Z3ovBU21Wp87EPwkLoP0K4SNkyIzwQk+YAFuBPnRLCSVtBESeMarcI5zDVvBJ0lmQalRX1ZBAs8U1FvQ4T9mqw== dependencies: - "@ai-sdk/provider" "1.0.0" - "@ai-sdk/provider-utils" "2.0.1" + "@ai-sdk/provider" "1.0.1" + "@ai-sdk/provider-utils" "2.0.2" "@antfu/eslint-config@^3.9.2": version "3.9.2" @@ -225,25 +215,45 @@ dependencies: mime "^3.0.0" +"@cloudflare/workerd-darwin-64@1.20241106.1": + version "1.20241106.1" + resolved "https://registry.yarnpkg.com/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20241106.1.tgz#4f470f98ca12dbc3262ec8a432466e1c1525aad9" + integrity sha512-zxvaToi1m0qzAScrxFt7UvFVqU8DxrCO2CinM1yQkv5no7pA1HolpIrwZ0xOhR3ny64Is2s/J6BrRjpO5dM9Zw== + "@cloudflare/workerd-darwin-arm64@1.20241106.1": version "1.20241106.1" resolved "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20241106.1.tgz" integrity sha512-j3dg/42D/bPgfNP3cRUBxF+4waCKO/5YKwXNj+lnVOwHxDu+ne5pFw9TIkKYcWTcwn0ZUkbNZNM5rhJqRn4xbg== -"@cloudflare/workers-shared@0.7.1": - version "0.7.1" - resolved "https://registry.npmjs.org/@cloudflare/workers-shared/-/workers-shared-0.7.1.tgz" - integrity sha512-46cP5FCrl3TrvHeoHLb5SRuiDMKH5kc9Yvo36SAfzt8dqJI/qJRoY1GP3ioHn/gP7v2QIoUOTAzIl7Ml7MnfrA== +"@cloudflare/workerd-linux-64@1.20241106.1": + version "1.20241106.1" + resolved "https://registry.yarnpkg.com/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20241106.1.tgz#42c425137c151348146a70d3f271e5f3293d3b75" + integrity sha512-Ih+Ye8E1DMBXcKrJktGfGztFqHKaX1CeByqshmTbODnWKHt6O65ax3oTecUwyC0+abuyraOpAtdhHNpFMhUkmw== + +"@cloudflare/workerd-linux-arm64@1.20241106.1": + version "1.20241106.1" + resolved "https://registry.yarnpkg.com/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20241106.1.tgz#f3bc7ab9424dafbf1816d8bc2e8aae24646ecad0" + integrity sha512-mdQFPk4+14Yywn7n1xIzI+6olWM8Ybz10R7H3h+rk0XulMumCWUCy1CzIDauOx6GyIcSgKIibYMssVHZR30ObA== + +"@cloudflare/workerd-windows-64@1.20241106.1": + version "1.20241106.1" + resolved "https://registry.yarnpkg.com/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20241106.1.tgz#9e2f1ec0d993c8b12c4cd7f9c5e6b953a0672707" + integrity sha512-4rtcss31E/Rb/PeFocZfr+B9i1MdrkhsTBWizh8siNR4KMmkslU2xs2wPaH1z8+ErxkOsHrKRa5EPLh5rIiFeg== + +"@cloudflare/workers-shared@0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@cloudflare/workers-shared/-/workers-shared-0.8.0.tgz#024c552d0bc8d4abce807d6963ec8d182cc2d960" + integrity sha512-1OvFkNtslaMZAJsaocTmbACApgmWv55uLpNj50Pn2MGcxdAjpqykXJFQw5tKc+lGV9TDZh9oO3Rsk17IEQDzIg== dependencies: mime "^3.0.0" zod "^3.22.3" -"@cloudflare/workers-types@^4.20241106.0", "@cloudflare/workers-types@^4.20241112.0": +"@cloudflare/workers-types@^4.20241112.0": version "4.20241112.0" resolved "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20241112.0.tgz" integrity sha512-Q4p9bAWZrX14bSCKY9to19xl0KMU7nsO5sJ2cTVspHoypsjPUMeQCsjHjmsO2C4Myo8/LPeDvmqFmkyNAPPYZw== -"@cspotcode/source-map-support@^0.8.0", "@cspotcode/source-map-support@0.8.1": +"@cspotcode/source-map-support@0.8.1", "@cspotcode/source-map-support@^0.8.0": version "0.8.1" resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== @@ -323,6 +333,61 @@ escape-string-regexp "^4.0.0" rollup-plugin-node-polyfills "^0.2.1" +"@esbuild/aix-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" + integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== + +"@esbuild/aix-ppc64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz#51299374de171dbd80bb7d838e1cfce9af36f353" + integrity sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ== + +"@esbuild/android-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" + integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== + +"@esbuild/android-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" + integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== + +"@esbuild/android-arm64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz#58565291a1fe548638adb9c584237449e5e14018" + integrity sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw== + +"@esbuild/android-arm@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d" + integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== + +"@esbuild/android-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" + integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== + +"@esbuild/android-arm@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.23.1.tgz#5eb8c652d4c82a2421e3395b808e6d9c42c862ee" + integrity sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ== + +"@esbuild/android-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1" + integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== + +"@esbuild/android-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" + integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== + +"@esbuild/android-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.23.1.tgz#ae19d665d2f06f0f48a6ac9a224b3f672e65d517" + integrity sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg== + "@esbuild/darwin-arm64@0.17.19": version "0.17.19" resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz" @@ -338,6 +403,281 @@ resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz" integrity sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q== +"@esbuild/darwin-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb" + integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== + +"@esbuild/darwin-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" + integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== + +"@esbuild/darwin-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz#c58353b982f4e04f0d022284b8ba2733f5ff0931" + integrity sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw== + +"@esbuild/freebsd-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2" + integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== + +"@esbuild/freebsd-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" + integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== + +"@esbuild/freebsd-arm64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz#f9220dc65f80f03635e1ef96cfad5da1f446f3bc" + integrity sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA== + +"@esbuild/freebsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4" + integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== + +"@esbuild/freebsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" + integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== + +"@esbuild/freebsd-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz#69bd8511fa013b59f0226d1609ac43f7ce489730" + integrity sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g== + +"@esbuild/linux-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb" + integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== + +"@esbuild/linux-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" + integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== + +"@esbuild/linux-arm64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz#8050af6d51ddb388c75653ef9871f5ccd8f12383" + integrity sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g== + +"@esbuild/linux-arm@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a" + integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== + +"@esbuild/linux-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" + integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== + +"@esbuild/linux-arm@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz#ecaabd1c23b701070484990db9a82f382f99e771" + integrity sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ== + +"@esbuild/linux-ia32@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a" + integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== + +"@esbuild/linux-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" + integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== + +"@esbuild/linux-ia32@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz#3ed2273214178109741c09bd0687098a0243b333" + integrity sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ== + +"@esbuild/linux-loong64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72" + integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== + +"@esbuild/linux-loong64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" + integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== + +"@esbuild/linux-loong64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz#a0fdf440b5485c81b0fbb316b08933d217f5d3ac" + integrity sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw== + +"@esbuild/linux-mips64el@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289" + integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== + +"@esbuild/linux-mips64el@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" + integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== + +"@esbuild/linux-mips64el@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz#e11a2806346db8375b18f5e104c5a9d4e81807f6" + integrity sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q== + +"@esbuild/linux-ppc64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7" + integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== + +"@esbuild/linux-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" + integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== + +"@esbuild/linux-ppc64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz#06a2744c5eaf562b1a90937855b4d6cf7c75ec96" + integrity sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw== + +"@esbuild/linux-riscv64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09" + integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== + +"@esbuild/linux-riscv64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" + integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== + +"@esbuild/linux-riscv64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz#65b46a2892fc0d1af4ba342af3fe0fa4a8fe08e7" + integrity sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA== + +"@esbuild/linux-s390x@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829" + integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== + +"@esbuild/linux-s390x@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" + integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== + +"@esbuild/linux-s390x@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz#e71ea18c70c3f604e241d16e4e5ab193a9785d6f" + integrity sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw== + +"@esbuild/linux-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4" + integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== + +"@esbuild/linux-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" + integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== + +"@esbuild/linux-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz#d47f97391e80690d4dfe811a2e7d6927ad9eed24" + integrity sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ== + +"@esbuild/netbsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462" + integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== + +"@esbuild/netbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" + integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== + +"@esbuild/netbsd-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz#44e743c9778d57a8ace4b72f3c6b839a3b74a653" + integrity sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA== + +"@esbuild/openbsd-arm64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz#05c5a1faf67b9881834758c69f3e51b7dee015d7" + integrity sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q== + +"@esbuild/openbsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691" + integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== + +"@esbuild/openbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" + integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== + +"@esbuild/openbsd-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz#2e58ae511bacf67d19f9f2dcd9e8c5a93f00c273" + integrity sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA== + +"@esbuild/sunos-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273" + integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== + +"@esbuild/sunos-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" + integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== + +"@esbuild/sunos-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz#adb022b959d18d3389ac70769cef5a03d3abd403" + integrity sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA== + +"@esbuild/win32-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f" + integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== + +"@esbuild/win32-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" + integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== + +"@esbuild/win32-arm64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz#84906f50c212b72ec360f48461d43202f4c8b9a2" + integrity sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A== + +"@esbuild/win32-ia32@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03" + integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== + +"@esbuild/win32-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" + integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== + +"@esbuild/win32-ia32@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz#5e3eacc515820ff729e90d0cb463183128e82fac" + integrity sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ== + +"@esbuild/win32-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061" + integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== + +"@esbuild/win32-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" + integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== + +"@esbuild/win32-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz#81fd50d11e2c32b2d6241470e3185b70c7b30699" + integrity sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg== + "@eslint-community/eslint-plugin-eslint-comments@^4.4.1": version "4.4.1" resolved "https://registry.npmjs.org/@eslint-community/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-4.4.1.tgz" @@ -456,7 +796,7 @@ resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== -"@google-cloud/vertexai@^1.6.0", "@google-cloud/vertexai@^1.9.0": +"@google-cloud/vertexai@^1.9.0": version "1.9.0" resolved "https://registry.npmjs.org/@google-cloud/vertexai/-/vertexai-1.9.0.tgz" integrity sha512-8brlcJwFXI4fPuBtsDNQqCdWZmz8gV9jeEKOU0vc5H2SjehCQpXK/NwuSEr916zbhlBHtg/sU37qQQdgvh5BRA== @@ -581,7 +921,7 @@ jju "~1.4.0" resolve "~1.22.2" -"@microsoft/tsdoc@~0.15.0", "@microsoft/tsdoc@0.15.0": +"@microsoft/tsdoc@0.15.0", "@microsoft/tsdoc@~0.15.0": version "0.15.0" resolved "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.15.0.tgz" integrity sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA== @@ -599,7 +939,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -666,11 +1006,96 @@ estree-walker "^2.0.2" picomatch "^4.0.2" +"@rollup/rollup-android-arm-eabi@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.4.tgz#c460b54c50d42f27f8254c435a4f3b3e01910bc8" + integrity sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw== + +"@rollup/rollup-android-arm64@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.4.tgz#96e01f3a04675d8d5973ab8d3fd6bc3be21fa5e1" + integrity sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA== + "@rollup/rollup-darwin-arm64@4.24.4": version "4.24.4" resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.4.tgz" integrity sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ== +"@rollup/rollup-darwin-x64@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.4.tgz#f30e4ee6929e048190cf10e0daa8e8ae035b6e46" + integrity sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg== + +"@rollup/rollup-freebsd-arm64@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.4.tgz#c54b2373ec5bcf71f08c4519c7ae80a0b6c8e03b" + integrity sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw== + +"@rollup/rollup-freebsd-x64@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.4.tgz#3bc53aa29d5a34c28ba8e00def76aa612368458e" + integrity sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g== + +"@rollup/rollup-linux-arm-gnueabihf@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.4.tgz#c85aedd1710c9e267ee86b6d1ce355ecf7d9e8d9" + integrity sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA== + +"@rollup/rollup-linux-arm-musleabihf@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.4.tgz#e77313408bf13995aecde281aec0cceb08747e42" + integrity sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw== + +"@rollup/rollup-linux-arm64-gnu@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.4.tgz#633f632397b3662108cfaa1abca2a80b85f51102" + integrity sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg== + +"@rollup/rollup-linux-arm64-musl@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.4.tgz#63edd72b29c4cced93e16113a68e1be9fef88907" + integrity sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA== + +"@rollup/rollup-linux-powerpc64le-gnu@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.4.tgz#a9418a4173df80848c0d47df0426a0bf183c4e75" + integrity sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA== + +"@rollup/rollup-linux-riscv64-gnu@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.4.tgz#bc9c195db036a27e5e3339b02f51526b4ce1e988" + integrity sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw== + +"@rollup/rollup-linux-s390x-gnu@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.4.tgz#1651fdf8144ae89326c01da5d52c60be63e71a82" + integrity sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ== + +"@rollup/rollup-linux-x64-gnu@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.4.tgz#e473de5e4acb95fcf930a35cbb7d3e8080e57a6f" + integrity sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA== + +"@rollup/rollup-linux-x64-musl@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.4.tgz#0af12dd2578c29af4037f0c834b4321429dd5b01" + integrity sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q== + +"@rollup/rollup-win32-arm64-msvc@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.4.tgz#e48e78cdd45313b977c1390f4bfde7ab79be8871" + integrity sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA== + +"@rollup/rollup-win32-ia32-msvc@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.4.tgz#a3fc8536d243fe161c796acb93eba43c250f311c" + integrity sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg== + +"@rollup/rollup-win32-x64-msvc@4.24.4": + version "4.24.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.4.tgz#e2a9d1fd56524103a6cc8a54404d9d3ebc73c454" + integrity sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg== + "@rushstack/node-core-library@5.9.0": version "5.9.0" resolved "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.9.0.tgz" @@ -774,7 +1199,7 @@ resolved "https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.36.tgz" integrity sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg== -"@types/estree@^1.0.0", "@types/estree@^1.0.6", "@types/estree@1.0.6": +"@types/estree@1.0.6", "@types/estree@^1.0.0", "@types/estree@^1.0.6": version "1.0.6" resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz" integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== @@ -821,13 +1246,18 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@^18.0.0 || >=20.0.0", "@types/node@^22.9.1": +"@types/node@*", "@types/node@^22.9.1": version "22.9.1" resolved "https://registry.npmjs.org/@types/node/-/node-22.9.1.tgz" integrity sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg== dependencies: undici-types "~6.19.8" +"@types/node@16.18.11": + version "16.18.11" + resolved "https://registry.npmjs.org/@types/node/-/node-16.18.11.tgz" + integrity sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA== + "@types/node@^18.11.18": version "18.19.64" resolved "https://registry.npmjs.org/@types/node/-/node-18.19.64.tgz" @@ -835,11 +1265,6 @@ dependencies: undici-types "~5.26.4" -"@types/node@16.18.11": - version "16.18.11" - resolved "https://registry.npmjs.org/@types/node/-/node-16.18.11.tgz" - integrity sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA== - "@types/normalize-package-data@^2.4.0": version "2.4.4" resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz" @@ -887,21 +1312,6 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0", "@typescript-eslint/eslint-plugin@^8.15.0": - version "8.15.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.15.0.tgz" - integrity sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg== - dependencies: - "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.15.0" - "@typescript-eslint/type-utils" "8.15.0" - "@typescript-eslint/utils" "8.15.0" - "@typescript-eslint/visitor-keys" "8.15.0" - graphemer "^1.4.0" - ignore "^5.3.1" - natural-compare "^1.4.0" - ts-api-utils "^1.3.0" - "@typescript-eslint/eslint-plugin@5.62.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz" @@ -918,7 +1328,22 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@5.62.0": +"@typescript-eslint/eslint-plugin@^8.15.0": + version "8.15.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.15.0.tgz" + integrity sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "8.15.0" + "@typescript-eslint/type-utils" "8.15.0" + "@typescript-eslint/utils" "8.15.0" + "@typescript-eslint/visitor-keys" "8.15.0" + graphemer "^1.4.0" + ignore "^5.3.1" + natural-compare "^1.4.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/parser@5.62.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz" integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== @@ -928,7 +1353,7 @@ "@typescript-eslint/typescript-estree" "5.62.0" debug "^4.3.4" -"@typescript-eslint/parser@^8.0.0 || ^8.0.0-alpha.0", "@typescript-eslint/parser@^8.15.0": +"@typescript-eslint/parser@^8.15.0": version "8.15.0" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.15.0.tgz" integrity sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A== @@ -983,16 +1408,16 @@ debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/types@^8.9.0", "@typescript-eslint/types@8.13.0": - version "8.13.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.13.0.tgz" - integrity sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng== - "@typescript-eslint/types@5.62.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== +"@typescript-eslint/types@8.13.0", "@typescript-eslint/types@^8.9.0": + version "8.13.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.13.0.tgz" + integrity sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng== + "@typescript-eslint/types@8.15.0": version "8.15.0" resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.15.0.tgz" @@ -1039,17 +1464,21 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@^8.1.0": - version "8.13.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.13.0.tgz" - integrity sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ== +"@typescript-eslint/utils@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.13.0" - "@typescript-eslint/types" "8.13.0" - "@typescript-eslint/typescript-estree" "8.13.0" + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + eslint-scope "^5.1.1" + semver "^7.3.7" -"@typescript-eslint/utils@^8.13.0", "@typescript-eslint/utils@>= 8.0", "@typescript-eslint/utils@8.15.0": +"@typescript-eslint/utils@8.15.0", "@typescript-eslint/utils@^8.13.0": version "8.15.0" resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.15.0.tgz" integrity sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ== @@ -1059,7 +1488,7 @@ "@typescript-eslint/types" "8.15.0" "@typescript-eslint/typescript-estree" "8.15.0" -"@typescript-eslint/utils@^8.9.0": +"@typescript-eslint/utils@^8.1.0", "@typescript-eslint/utils@^8.9.0": version "8.13.0" resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.13.0.tgz" integrity sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ== @@ -1069,20 +1498,6 @@ "@typescript-eslint/types" "8.13.0" "@typescript-eslint/typescript-estree" "8.13.0" -"@typescript-eslint/utils@5.62.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz" - integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - eslint-scope "^5.1.1" - semver "^7.3.7" - "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz" @@ -1113,14 +1528,16 @@ integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== "@upstash/redis@^1.34.3": - version "v1.34.3" + version "1.34.3" + resolved "https://registry.yarnpkg.com/@upstash/redis/-/redis-1.34.3.tgz#df0338f4983bba5141878e851be4fced494b44a0" + integrity sha512-VT25TyODGy/8ljl7GADnJoMmtmJ1F8d84UXfGonRRF8fWYJz7+2J6GzW+a6ETGtk4OyuRTt7FRSvFG5GvrfSdQ== dependencies: crypto-js "^4.2.0" -"@vercel/build-utils@8.4.12": - version "8.4.12" - resolved "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-8.4.12.tgz" - integrity sha512-pIH0b965wJhd1otROVPndfZenPKFVoYSaRjtSKVOT/oNBT13ifq86UVjb5ZjoVfqUI2TtSTP+68kBqLPeoq30g== +"@vercel/build-utils@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@vercel/build-utils/-/build-utils-8.5.0.tgz#954f84eab9197e8052e7f577b93e8734d5b5cfa2" + integrity sha512-zyqeauvze7/XRFj8XRm0ot3Ec7l+Px5k1zzzVnARiXwC3x594dLen8Cjm0dpoy7blfWYXUuCMsbBWT2O2OHXxA== "@vercel/error-utils@2.0.3": version "2.0.3" @@ -1145,16 +1562,16 @@ node-gyp-build "^4.2.2" resolve-from "^5.0.0" -"@vercel/node@^3.2.25": - version "3.2.25" - resolved "https://registry.npmjs.org/@vercel/node/-/node-3.2.25.tgz" - integrity sha512-Htc7I/nHpxfMtmzoii8Fnm01iFiFeTW99OYw67S8UAJuY+Fc18RnZVPjtw1fTgf4EcRxsFGP6+nG1IkSqty6uA== +"@vercel/node@^3.2.26": + version "3.2.26" + resolved "https://registry.yarnpkg.com/@vercel/node/-/node-3.2.26.tgz#d479b060d1a87a6525d28480762151d137ae3fbf" + integrity sha512-nN6S3srh4u/5TNFf7k9efw2RHhy135ETAnrQxgOpdnshqhe/n5Q/CcJy1eB6ZewAs6VJsHJU5TOZ+SO72+pg/w== dependencies: "@edge-runtime/node-utils" "2.3.0" "@edge-runtime/primitives" "4.1.0" "@edge-runtime/vm" "3.2.0" "@types/node" "16.18.11" - "@vercel/build-utils" "8.4.12" + "@vercel/build-utils" "8.5.0" "@vercel/error-utils" "2.0.3" "@vercel/nft" "0.27.3" "@vercel/static-config" "3.0.0" @@ -1185,7 +1602,7 @@ resolved "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.10.tgz" integrity sha512-uScH5Kz5v32vvtQYB2iodpoPg2mGASK+VKpjlc2IUgE0+16uZKqVKi2vQxjxJ6sMCQLBs4xhBFZlmZBszsmfKQ== -"@volar/language-core@~2.4.1", "@volar/language-core@2.4.9": +"@volar/language-core@2.4.9", "@volar/language-core@~2.4.1": version "2.4.9" resolved "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.9.tgz" integrity sha512-t++GIrUeQnKCieZdY9e+Uar2VmTqOE4Z9KcEcdSHKmKZPuqpbbWow1YKe1i3HpU2s1JqLRVM8y/n87WKXyxJAg== @@ -1217,7 +1634,7 @@ estree-walker "^2.0.2" source-map-js "^1.2.0" -"@vue/compiler-dom@^3.4.0", "@vue/compiler-dom@3.5.13": +"@vue/compiler-dom@^3.4.0": version "3.5.13" resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz" integrity sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA== @@ -1225,29 +1642,6 @@ "@vue/compiler-core" "3.5.13" "@vue/shared" "3.5.13" -"@vue/compiler-sfc@^3.3.0": - version "3.5.13" - resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz" - integrity sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ== - dependencies: - "@babel/parser" "^7.25.3" - "@vue/compiler-core" "3.5.13" - "@vue/compiler-dom" "3.5.13" - "@vue/compiler-ssr" "3.5.13" - "@vue/shared" "3.5.13" - estree-walker "^2.0.2" - magic-string "^0.30.11" - postcss "^8.4.48" - source-map-js "^1.2.0" - -"@vue/compiler-ssr@3.5.13": - version "3.5.13" - resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz" - integrity sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA== - dependencies: - "@vue/compiler-dom" "3.5.13" - "@vue/shared" "3.5.13" - "@vue/compiler-vue2@^2.7.16": version "2.7.16" resolved "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz" @@ -1270,7 +1664,7 @@ muggle-string "^0.4.1" path-browserify "^1.0.1" -"@vue/shared@^3.4.0", "@vue/shared@3.5.13": +"@vue/shared@3.5.13", "@vue/shared@^3.4.0": version "3.5.13" resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz" integrity sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ== @@ -1304,12 +1698,12 @@ acorn-walk@^8.1.1, acorn-walk@^8.2.0: dependencies: acorn "^8.11.0" -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.11.0, acorn@^8.12.1, acorn@^8.14.0, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.6.0, acorn@^8.8.0, acorn@^8.9.0: +acorn@^8.11.0, acorn@^8.12.1, acorn@^8.14.0, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.6.0, acorn@^8.8.0, acorn@^8.9.0: version "8.14.0" resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz" integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== -agent-base@^6.0.2, agent-base@6: +agent-base@6, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== @@ -1338,15 +1732,15 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ai@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/ai/-/ai-4.0.1.tgz" - integrity sha512-VfkPepgdF1AXu/sirYB2lnDrAXPuUrkCQOGAGTgeb7xpctR2OkxNXxrWx+Weu4CCYADQsW30tOxlHs8sRmKeMw== +ai@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/ai/-/ai-4.0.3.tgz#0f066137743411b1b37d518ce993532cb0cd2183" + integrity sha512-nx5cNMldOQ72hwxL60NLtRnsmQd5Bo887Wznvxt8F5xnmjdeXRpz4ixp+0xGA88X7wiCn6c+xrhGEb9fesi/Tw== dependencies: - "@ai-sdk/provider" "1.0.0" - "@ai-sdk/provider-utils" "2.0.0" - "@ai-sdk/react" "1.0.0" - "@ai-sdk/ui-utils" "1.0.0" + "@ai-sdk/provider" "1.0.1" + "@ai-sdk/provider-utils" "2.0.2" + "@ai-sdk/react" "1.0.2" + "@ai-sdk/ui-utils" "1.0.2" "@opentelemetry/api" "1.9.0" jsondiffpatch "0.6.0" zod-to-json-schema "^3.23.5" @@ -1363,6 +1757,16 @@ ajv-formats@~3.0.1: dependencies: ajv "^8.0.0" +ajv@8.6.3: + version "8.6.3" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz" + integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ajv@^6.12.4: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" @@ -1373,7 +1777,7 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.5.0, ajv@~8.13.0: +ajv@^8.0.0, ajv@~8.13.0: version "8.13.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz" integrity sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA== @@ -1393,16 +1797,6 @@ ajv@~8.12.0: require-from-string "^2.0.2" uri-js "^4.2.2" -ajv@8.6.3: - version "8.6.3" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz" - integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: version "4.3.2" resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" @@ -1578,7 +1972,7 @@ braces@^3.0.3, braces@~3.0.2: dependencies: fill-range "^7.1.1" -browserslist@^4.24.2, "browserslist@>= 4.21.0": +browserslist@^4.24.2: version "4.24.2" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz" integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== @@ -1827,7 +2221,7 @@ commander@^8.0.0: resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== -comment-parser@^1.4.0, comment-parser@1.4.1: +comment-parser@1.4.1, comment-parser@^1.4.0: version "1.4.1" resolved "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz" integrity sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg== @@ -1927,6 +2321,13 @@ de-indent@^1.0.2: resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz" integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== +debug@4, debug@^4.0.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.6: + version "4.3.7" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + debug@^3.2.7: version "3.2.7" resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" @@ -1934,13 +2335,6 @@ debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.0.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.6, debug@4: - version "4.3.7" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== - dependencies: - ms "^2.1.3" - decamelize-keys@^1.1.0: version "1.1.1" resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz" @@ -2044,7 +2438,7 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -ecdsa-sig-formatter@^1.0.11, ecdsa-sig-formatter@1.0.11: +ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11: version "1.0.11" resolved "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== @@ -2076,7 +2470,7 @@ emoji-regex@^8.0.0: resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -encoding@^0.1.0, encoding@^0.1.12: +encoding@^0.1.12: version "0.1.13" resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== @@ -2120,22 +2514,143 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +es-module-lexer@1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== + es-module-lexer@^1.5.3: version "1.5.4" resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz" integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== -es-module-lexer@1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz" - integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== +esbuild-android-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz#ef95b42c67bcf4268c869153fa3ad1466c4cea6b" + integrity sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g== + +esbuild-android-arm64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz#4ebd7ce9fb250b4695faa3ee46fd3b0754ecd9e6" + integrity sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ== + +esbuild-darwin-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz#e0da6c244f497192f951807f003f6a423ed23188" + integrity sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA== esbuild-darwin-arm64@0.14.47: version "0.14.47" resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz" integrity sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw== -esbuild@*, esbuild@0.17.19: +esbuild-freebsd-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz#8da6a14c095b29c01fc8087a16cb7906debc2d67" + integrity sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ== + +esbuild-freebsd-arm64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz#ad31f9c92817ff8f33fd253af7ab5122dc1b83f6" + integrity sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ== + +esbuild-linux-32@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz#de085e4db2e692ea30c71208ccc23fdcf5196c58" + integrity sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw== + +esbuild-linux-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.47.tgz#2a9321bbccb01f01b04cebfcfccbabeba3658ba1" + integrity sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw== + +esbuild-linux-arm64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz#b9da7b6fc4b0ca7a13363a0c5b7bb927e4bc535a" + integrity sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw== + +esbuild-linux-arm@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz#56fec2a09b9561c337059d4af53625142aded853" + integrity sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA== + +esbuild-linux-mips64le@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz#9db21561f8f22ed79ef2aedb7bbef082b46cf823" + integrity sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg== + +esbuild-linux-ppc64le@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz#dc3a3da321222b11e96e50efafec9d2de408198b" + integrity sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w== + +esbuild-linux-riscv64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz#9bd6dcd3dca6c0357084ecd06e1d2d4bf105335f" + integrity sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g== + +esbuild-linux-s390x@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz#a458af939b52f2cd32fc561410d441a51f69d41f" + integrity sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw== + +esbuild-netbsd-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz#6388e785d7e7e4420cb01348d7483ab511b16aa8" + integrity sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ== + +esbuild-openbsd-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz#309af806db561aa886c445344d1aacab850dbdc5" + integrity sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw== + +esbuild-sunos-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz#3f19612dcdb89ba6c65283a7ff6e16f8afbf8aaa" + integrity sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ== + +esbuild-windows-32@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz#a92d279c8458d5dc319abcfeb30aa49e8f2e6f7f" + integrity sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ== + +esbuild-windows-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz#2564c3fcf0c23d701edb71af8c52d3be4cec5f8a" + integrity sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ== + +esbuild-windows-arm64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz#86d9db1a22d83360f726ac5fba41c2f625db6878" + integrity sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ== + +esbuild@0.14.47: + version "0.14.47" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.47.tgz" + integrity sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA== + optionalDependencies: + esbuild-android-64 "0.14.47" + esbuild-android-arm64 "0.14.47" + esbuild-darwin-64 "0.14.47" + esbuild-darwin-arm64 "0.14.47" + esbuild-freebsd-64 "0.14.47" + esbuild-freebsd-arm64 "0.14.47" + esbuild-linux-32 "0.14.47" + esbuild-linux-64 "0.14.47" + esbuild-linux-arm "0.14.47" + esbuild-linux-arm64 "0.14.47" + esbuild-linux-mips64le "0.14.47" + esbuild-linux-ppc64le "0.14.47" + esbuild-linux-riscv64 "0.14.47" + esbuild-linux-s390x "0.14.47" + esbuild-netbsd-64 "0.14.47" + esbuild-openbsd-64 "0.14.47" + esbuild-sunos-64 "0.14.47" + esbuild-windows-32 "0.14.47" + esbuild-windows-64 "0.14.47" + esbuild-windows-arm64 "0.14.47" + +esbuild@0.17.19: version "0.17.19" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz" integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== @@ -2222,32 +2737,6 @@ esbuild@~0.23.0: "@esbuild/win32-ia32" "0.23.1" "@esbuild/win32-x64" "0.23.1" -esbuild@0.14.47: - version "0.14.47" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.47.tgz" - integrity sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA== - optionalDependencies: - esbuild-android-64 "0.14.47" - esbuild-android-arm64 "0.14.47" - esbuild-darwin-64 "0.14.47" - esbuild-darwin-arm64 "0.14.47" - esbuild-freebsd-64 "0.14.47" - esbuild-freebsd-arm64 "0.14.47" - esbuild-linux-32 "0.14.47" - esbuild-linux-64 "0.14.47" - esbuild-linux-arm "0.14.47" - esbuild-linux-arm64 "0.14.47" - esbuild-linux-mips64le "0.14.47" - esbuild-linux-ppc64le "0.14.47" - esbuild-linux-riscv64 "0.14.47" - esbuild-linux-s390x "0.14.47" - esbuild-netbsd-64 "0.14.47" - esbuild-openbsd-64 "0.14.47" - esbuild-sunos-64 "0.14.47" - esbuild-windows-32 "0.14.47" - esbuild-windows-64 "0.14.47" - esbuild-windows-arm64 "0.14.47" - escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" @@ -2290,7 +2779,7 @@ eslint-config-flat-gitignore@^0.3.0: "@eslint/compat" "^1.1.1" find-up-simple "^1.0.0" -eslint-config-prettier@*, eslint-config-prettier@9.1.0: +eslint-config-prettier@9.1.0: version "9.1.0" resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz" integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== @@ -2366,7 +2855,7 @@ eslint-plugin-es@^4.1.0: eslint-utils "^2.0.0" regexpp "^3.0.0" -eslint-plugin-format@^0.1.2, eslint-plugin-format@>=0.1.0: +eslint-plugin-format@^0.1.2: version "0.1.2" resolved "https://registry.npmjs.org/eslint-plugin-format/-/eslint-plugin-format-0.1.2.tgz" integrity sha512-ZrcO3aiumgJ6ENAv65IWkPjtW77ML/5mp0YrRK0jdvvaZJb+4kKWbaQTMr/XbJo6CtELRmCApAziEKh7L2NbdQ== @@ -2426,20 +2915,6 @@ eslint-plugin-jsonc@^2.18.2: natural-compare "^1.4.0" synckit "^0.6.0" -eslint-plugin-n@^17.13.2: - version "17.13.2" - resolved "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.13.2.tgz" - integrity sha512-MhBAKkT01h8cOXcTBTlpuR7bxH5OBUNpUXefsvwSVEy46cY4m/Kzr2osUCQvA3zJFD6KuCeNNDv0+HDuWk/OcA== - dependencies: - "@eslint-community/eslint-utils" "^4.4.1" - enhanced-resolve "^5.17.1" - eslint-plugin-es-x "^7.8.0" - get-tsconfig "^4.8.1" - globals "^15.11.0" - ignore "^5.3.2" - minimatch "^9.0.5" - semver "^7.6.3" - eslint-plugin-n@15.7.0: version "15.7.0" resolved "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz" @@ -2454,6 +2929,20 @@ eslint-plugin-n@15.7.0: resolve "^1.22.1" semver "^7.3.8" +eslint-plugin-n@^17.13.2: + version "17.13.2" + resolved "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.13.2.tgz" + integrity sha512-MhBAKkT01h8cOXcTBTlpuR7bxH5OBUNpUXefsvwSVEy46cY4m/Kzr2osUCQvA3zJFD6KuCeNNDv0+HDuWk/OcA== + dependencies: + "@eslint-community/eslint-utils" "^4.4.1" + enhanced-resolve "^5.17.1" + eslint-plugin-es-x "^7.8.0" + get-tsconfig "^4.8.1" + globals "^15.11.0" + ignore "^5.3.2" + minimatch "^9.0.5" + semver "^7.6.3" + eslint-plugin-no-only-tests@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.3.0.tgz" @@ -2615,47 +3104,7 @@ eslint-visitor-keys@^4.2.0: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz" integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== -eslint@*, "eslint@^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", "eslint@^7.0.0 || ^8.0.0 || ^9.0.0", "eslint@^8.40.0 || ^9.0.0", "eslint@^8.50.0 || ^9.0.0", "eslint@^8.57.0 || ^9.0.0", "eslint@^9.0.0 || ^8.0.0", eslint@^9.10.0, eslint@^9.15.0, eslint@^9.5.0, "eslint@>= 8.57.0", eslint@>=6.0.0, eslint@>=7, eslint@>=8, eslint@>=8.0.0, eslint@>=8.23.0, eslint@>=8.40.0, eslint@>=8.44.0, eslint@>=8.56.0: - version "9.15.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-9.15.0.tgz" - integrity sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.19.0" - "@eslint/core" "^0.9.0" - "@eslint/eslintrc" "^3.2.0" - "@eslint/js" "9.15.0" - "@eslint/plugin-kit" "^0.2.3" - "@humanfs/node" "^0.16.6" - "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.4.1" - "@types/estree" "^1.0.6" - "@types/json-schema" "^7.0.15" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.5" - debug "^4.3.2" - escape-string-regexp "^4.0.0" - eslint-scope "^8.2.0" - eslint-visitor-keys "^4.2.0" - espree "^10.3.0" - esquery "^1.5.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" - find-up "^5.0.0" - glob-parent "^6.0.2" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - json-stable-stringify-without-jsonify "^1.0.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - -"eslint@^6.0.0 || ^7.0.0 || ^8.0.0", eslint@>=4.19.1, eslint@>=5, eslint@>=7.0.0, eslint@8.57.1: +eslint@8.57.1: version "8.57.1" resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz" integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== @@ -2699,25 +3148,47 @@ eslint@*, "eslint@^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", "eslint@^6.0.0 || ^7.0. strip-ansi "^6.0.1" text-table "^0.2.0" -espree@^10.0.1: - version "10.3.0" - resolved "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz" - integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== - dependencies: - acorn "^8.14.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.2.0" - -espree@^10.1.0: - version "10.3.0" - resolved "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz" - integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== +eslint@^9.15.0: + version "9.15.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-9.15.0.tgz" + integrity sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw== dependencies: - acorn "^8.14.0" - acorn-jsx "^5.3.2" + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.12.1" + "@eslint/config-array" "^0.19.0" + "@eslint/core" "^0.9.0" + "@eslint/eslintrc" "^3.2.0" + "@eslint/js" "9.15.0" + "@eslint/plugin-kit" "^0.2.3" + "@humanfs/node" "^0.16.6" + "@humanwhocodes/module-importer" "^1.0.1" + "@humanwhocodes/retry" "^0.4.1" + "@types/estree" "^1.0.6" + "@types/json-schema" "^7.0.15" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.5" + debug "^4.3.2" + escape-string-regexp "^4.0.0" + eslint-scope "^8.2.0" eslint-visitor-keys "^4.2.0" + espree "^10.3.0" + esquery "^1.5.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^8.0.0" + find-up "^5.0.0" + glob-parent "^6.0.2" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + json-stable-stringify-without-jsonify "^1.0.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" -espree@^10.3.0: +espree@^10.0.1, espree@^10.1.0, espree@^10.3.0: version "10.3.0" resolved "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz" integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== @@ -2759,16 +3230,16 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estree-walker@2.0.2, estree-walker@^2.0.1, estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + estree-walker@^0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz" integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== -estree-walker@^2.0.1, estree-walker@^2.0.2, estree-walker@2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - esutils@^2.0.2: version "2.0.3" resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" @@ -3130,17 +3601,7 @@ globals@^14.0.0: resolved "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz" integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== -globals@^15.11.0: - version "15.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-15.12.0.tgz" - integrity sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ== - -globals@^15.12.0: - version "15.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-15.12.0.tgz" - integrity sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ== - -globals@^15.9.0: +globals@^15.11.0, globals@^15.12.0, globals@^15.9.0: version "15.12.0" resolved "https://registry.npmjs.org/globals/-/globals-15.12.0.tgz" integrity sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ== @@ -3349,7 +3810,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@^2.0.3, inherits@^2.0.4, inherits@2: +inherits@2, inherits@^2.0.3, inherits@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -4250,10 +4711,10 @@ min-indent@^1.0.0: resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -miniflare@3.20241106.0: - version "3.20241106.0" - resolved "https://registry.npmjs.org/miniflare/-/miniflare-3.20241106.0.tgz" - integrity sha512-PjOoJKjUUofCueQskfhXlGvvHxZj36UAJAp1DnquMK88MFF50zCULblh0KXMSNM+bXeQYA94Gj06a7kfmBGxPw== +miniflare@3.20241106.1: + version "3.20241106.1" + resolved "https://registry.yarnpkg.com/miniflare/-/miniflare-3.20241106.1.tgz#2dea3b9bc789b35dde6694948385f3009057f9cd" + integrity sha512-dM3RBlJE8rUFxnqlPCaFCq0E7qQqEQvKbYX7W/APGCK+rLcyLmEBzC4GQR/niXdNM/oV6gdg9AA50ghnn2ALuw== dependencies: "@cspotcode/source-map-support" "0.8.1" acorn "^8.8.0" @@ -4412,11 +4873,6 @@ nanoid@^3.3.3, nanoid@^3.3.7: resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== -nanoid@^5.0.8: - version "5.0.8" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-5.0.8.tgz" - integrity sha512-TcJPw+9RV9dibz1hHUzlLVy8N4X9TnwirAjrU08Juo6BNKggzVfP2ZJ/3ZUSq15Xl5i85i+Z89XBO90pB2PghQ== - napi-build-utils@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz" @@ -4466,13 +4922,6 @@ node-domexception@1.0.0: resolved "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz" integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== -node-fetch@^2.6.7, node-fetch@^2.6.9: - version "2.7.0" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - node-fetch@2.6.9: version "2.6.9" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz" @@ -4480,6 +4929,13 @@ node-fetch@2.6.9: dependencies: whatwg-url "^5.0.0" +node-fetch@^2.6.7, node-fetch@^2.6.9: + version "2.7.0" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + node-forge@^1: version "1.3.1" resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" @@ -4601,10 +5057,10 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" -openai@^4.72.0: - version "4.72.0" - resolved "https://registry.npmjs.org/openai/-/openai-4.72.0.tgz" - integrity sha512-hFqG9BWCs7L7ifrhJXw7mJXmUBr7d9N6If3J9563o0jfwVA4wFANFDDaOIWFdgDdwgCXg5emf0Q+LoLCGszQYA== +openai@^4.73.0: + version "4.73.0" + resolved "https://registry.yarnpkg.com/openai/-/openai-4.73.0.tgz#b8f8a4793d4db91e7eeab7235446d2cfe3aa0e9c" + integrity sha512-NZstV77w3CEol9KQTRBRQ15+Sw6nxVTicAULSjYO4wn9E5gw72Mtp3fAVaBFXyyVPws4241YmFG6ya4L8v03tA== dependencies: "@types/node" "^18.11.18" "@types/node-fetch" "^2.6.4" @@ -4614,7 +5070,7 @@ openai@^4.72.0: formdata-node "^4.3.2" node-fetch "^2.6.7" -optionator@^0.9.1, optionator@^0.9.3: +optionator@^0.9.3: version "0.9.4" resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz" integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== @@ -4736,16 +5192,16 @@ path-parse@^1.0.7: resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz" - integrity sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ== - path-to-regexp@6.2.1: version "6.2.1" resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz" integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== +path-to-regexp@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz" + integrity sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ== + path-type@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" @@ -4761,16 +5217,16 @@ perf-regexes@^1.0.1: resolved "https://registry.npmjs.org/perf-regexes/-/perf-regexes-1.0.1.tgz" integrity sha512-L7MXxUDtqr4PUaLFCDCXBfGV/6KLIuSEccizDI7JxT+c9x1G1v04BQ4+4oag84SHaCdrBgQAIs/Cqn+flwFPng== -picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - picocolors@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" @@ -4803,7 +5259,7 @@ postcss-selector-parser@^6.0.15: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss@^8.4.43, postcss@^8.4.48: +postcss@^8.4.43: version "8.4.49" resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz" integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA== @@ -4842,7 +5298,7 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^3.3.2, prettier@>=3.0.0, prettier@3.3.3: +prettier@3.3.3, prettier@^3.3.2: version "3.3.3" resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz" integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== @@ -4913,13 +5369,6 @@ react-dom@^18.3.1: loose-envify "^1.1.0" scheduler "^0.23.2" -"react@^16.11.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^18 || ^19 || ^19.0.0-rc", react@^18.3.1: - version "18.3.1" - resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz" - integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== - dependencies: - loose-envify "^1.1.0" - read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" @@ -5069,7 +5518,7 @@ reusify@^1.0.4: resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@^3.0.2, rimraf@3.0.2: +rimraf@3.0.2, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -5112,7 +5561,7 @@ rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: dependencies: estree-walker "^0.6.1" -rollup@^1.20.0||^2.0.0||^3.0.0||^4.0.0, rollup@^2.78.0||^3.0.0||^4.0.0, "rollup@^3.0.0 || ^4.0.0", rollup@^4.20.0, rollup@>=2.0: +rollup@^4.20.0: version "4.24.4" resolved "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz" integrity sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA== @@ -5197,6 +5646,11 @@ selfsigned@^2.0.1: "@types/node-forge" "^1.3.0" node-forge "^1" +"semver@2 || 3 || 4 || 5": + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + semver@^6.0.0: version "6.3.1" resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" @@ -5214,11 +5668,6 @@ semver@~7.5.4: dependencies: lru-cache "^6.0.0" -"semver@2 || 3 || 4 || 5": - version "5.7.2" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" @@ -5236,16 +5685,16 @@ shebang-regex@^3.0.0: resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - signal-exit@4.0.2: version "4.0.2" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz" integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + simple-concat@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" @@ -5403,13 +5852,6 @@ stoppable@^1.1.0: resolved "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz" integrity sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw== -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - string-argv@~0.3.1: version "0.3.2" resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" @@ -5424,6 +5866,13 @@ string-argv@~0.3.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" @@ -5643,12 +6092,7 @@ ts-toolbelt@^6.15.5: resolved "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz" integrity sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A== -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^1.9.0: +tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -5714,12 +6158,7 @@ type-fest@^0.8.1: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -typescript@*, typescript@^5.6.3, "typescript@>= 5.0.0", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", typescript@>=4.2.0, typescript@>=5: - version "5.6.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz" - integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== - -typescript@>=2.7, typescript@4.9.5: +typescript@4.9.5: version "4.9.5" resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== @@ -5729,6 +6168,11 @@ typescript@5.4.2: resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz" integrity sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ== +typescript@^5.7.2: + version "5.7.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6" + integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg== + ufo@^1.5.4: version "1.5.4" resolved "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz" @@ -5744,7 +6188,7 @@ undici-types@~6.19.8: resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz" integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== -undici@^5.28.4, undici@5.28.4: +undici@5.28.4, undici@^5.28.4: version "5.28.4" resolved "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz" integrity sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g== @@ -5846,16 +6290,16 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2: resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -uuid@^9.0.1: - version "9.0.1" - resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - uuid@8.3.2: version "8.3.2" resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +uuid@^9.0.1: + version "9.0.1" + resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" @@ -5904,7 +6348,7 @@ vite-plugin-dts@^4.3.0: local-pkg "^0.5.0" magic-string "^0.30.11" -vite@*, vite@^5.4.11, vite@>=2.0.0: +vite@^5.4.11: version "5.4.11" resolved "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz" integrity sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q== @@ -5959,7 +6403,7 @@ vscode-uri@^3.0.2, vscode-uri@^3.0.8: resolved "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz" integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== -vue-eslint-parser@^9.4.3, vue-eslint-parser@>=9.0.0: +vue-eslint-parser@^9.4.3: version "9.4.3" resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz" integrity sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg== @@ -6020,13 +6464,13 @@ workerd@1.20241106.1: "@cloudflare/workerd-linux-arm64" "1.20241106.1" "@cloudflare/workerd-windows-64" "1.20241106.1" -wrangler@^3.88.0: - version "3.88.0" - resolved "https://registry.npmjs.org/wrangler/-/wrangler-3.88.0.tgz" - integrity sha512-1yM5cgerjKkIBL9GOzIWhl8MsyEGNTsN4emJCiLLHJFz52TSNjJJlMbd1x0hX351mfy2MsGgUqKcx8iRL51PcQ== +wrangler@^3.90.0: + version "3.90.0" + resolved "https://registry.yarnpkg.com/wrangler/-/wrangler-3.90.0.tgz#6e75ead6c05bfe3f1c4ff15b2ec7efb66ce2623d" + integrity sha512-E/6E9ORAl987+3kP8wDiE3L1lj9r4vQ32/dl5toIxIkSMssmPRQVdxqwgMxbxJrytbFNo8Eo6swgjd4y4nUaLg== dependencies: "@cloudflare/kv-asset-handler" "0.3.4" - "@cloudflare/workers-shared" "0.7.1" + "@cloudflare/workers-shared" "0.8.0" "@esbuild-plugins/node-globals-polyfill" "^0.2.3" "@esbuild-plugins/node-modules-polyfill" "^0.2.2" blake3-wasm "^2.1.5" @@ -6034,7 +6478,7 @@ wrangler@^3.88.0: date-fns "^4.1.0" esbuild "0.17.19" itty-time "^1.0.6" - miniflare "3.20241106.0" + miniflare "3.20241106.1" nanoid "^3.3.3" path-to-regexp "^6.3.0" resolve "^1.22.8" @@ -6155,7 +6599,7 @@ zod-to-json-schema@^3.23.5: resolved "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.5.tgz" integrity sha512-5wlSS0bXfF/BrL4jPAbz9da5hDlDptdEppYfe+x4eIJ7jioqKG9uUxOwPzqof09u/XeVdrgFu29lZi+8XNDJtA== -zod@^3.0.0, zod@^3.22.3, zod@^3.23.3, zod@^3.23.8: +zod@^3.22.3: version "3.23.8" resolved "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz" integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==