diff --git a/.github/workflows/deploy-huggingface-spaces.yml b/.github/workflows/deploy-huggingface-spaces.yml
index e43946e9b..70662ac2a 100644
--- a/.github/workflows/deploy-huggingface-spaces.yml
+++ b/.github/workflows/deploy-huggingface-spaces.yml
@@ -15,18 +15,6 @@ jobs:
fetch-depth: 0
lfs: true
- - run: |-
- git clone https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/moeru-ai/moonshine-web-vue --depth 1 apps/moonshine-web/dist
- env:
- HF_TOKEN: ${{ secrets.HF_TOKEN }}
- HF_USERNAME: ${{ secrets.HF_USERNAME }}
-
- - run: |-
- git clone https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/moeru-ai/whisper-webgpu-vue --depth 1 apps/whisper-webgpu/dist
- env:
- HF_TOKEN: ${{ secrets.HF_TOKEN }}
- HF_USERNAME: ${{ secrets.HF_USERNAME }}
-
- run: |-
git clone https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/moeru-ai/airi --depth 1 apps/stage-web/dist
env:
@@ -45,48 +33,6 @@ jobs:
TARGET_HUGGINGFACE_SPACE: 'true'
VITE_APP_TARGET_HUGGINGFACE_SPACE: 'true'
- - id: moonshine_web_diff
- working-directory: ./apps/moonshine-web/dist
- run: |-
- git lfs ls-files --all
- git add .
- if [[ -n $(git status --porcelain) ]]; then
- echo "changes=true" >> "$GITHUB_OUTPUT";
- fi
-
- - if: steps.moonshine_web_diff.outputs.changes == 'true'
- working-directory: ./apps/moonshine-web/dist
- env:
- HF_TOKEN: ${{ secrets.HF_TOKEN }}
- HF_USERNAME: ${{ secrets.HF_USERNAME }}
- run: |-
- git config --local user.email "neko@ayaka.moe"
- git config --local user.name "Neko Ayaka"
- git commit -m "release: build ${{ github.sha }}"
- git lfs push origin main --all
- git push -f
-
- - id: whisper_webgpu_diff
- working-directory: ./apps/whisper-webgpu/dist
- run: |-
- git lfs ls-files --all
- git add .
- if [[ -n $(git status --porcelain) ]]; then
- echo "changes=true" >> "$GITHUB_OUTPUT";
- fi
-
- - if: steps.whisper_webgpu_diff.outputs.changes == 'true'
- working-directory: ./apps/whisper-webgpu/dist
- env:
- HF_TOKEN: ${{ secrets.HF_TOKEN }}
- HF_USERNAME: ${{ secrets.HF_USERNAME }}
- run: |-
- git config --local user.email "neko@ayaka.moe"
- git config --local user.name "Neko Ayaka"
- git commit -m "release: build ${{ github.sha }}"
- git lfs push origin main --all
- git push -f
-
- id: airi_diff
working-directory: ./apps/stage-web/dist
run: |-
diff --git a/apps/moonshine-web/.dockerignore b/apps/moonshine-web/.dockerignore
deleted file mode 100644
index f06235c46..000000000
--- a/apps/moonshine-web/.dockerignore
+++ /dev/null
@@ -1,2 +0,0 @@
-node_modules
-dist
diff --git a/apps/moonshine-web/Dockerfile b/apps/moonshine-web/Dockerfile
deleted file mode 100644
index 3e3a684a8..000000000
--- a/apps/moonshine-web/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-FROM node:20-alpine as build-stage
-
-WORKDIR /app
-RUN corepack enable
-
-COPY .npmrc package.json pnpm-lock.yaml ./
-RUN --mount=type=cache,id=pnpm-store,target=/root/.pnpm-store \
- pnpm install --frozen-lockfile
-
-COPY . .
-RUN pnpm build
-
-FROM nginx:stable-alpine as production-stage
-
-COPY --from=build-stage /app/dist /usr/share/nginx/html
-EXPOSE 80
-
-CMD ["nginx", "-g", "daemon off;"]
diff --git a/apps/moonshine-web/README.md b/apps/moonshine-web/README.md
deleted file mode 100644
index 1a6398b77..000000000
--- a/apps/moonshine-web/README.md
+++ /dev/null
@@ -1,57 +0,0 @@
-
Moonshine Web (Vue)
-
-
- [Try it ]
-
-
-> Heavily inspired by [Realtime in-browser speech recognition](https://huggingface.co/spaces/webml-community/moonshine-web)
-
-# Moonshine Web
-
-A simple Vue + Vite application for running [Moonshine Base](https://huggingface.co/onnx-community/moonshine-base-ONNX), a powerful speech-to-text model optimized for fast and accurate automatic speech recognition (ASR) on resource-constrained devices. It runs locally in the browser using Transformers.js and WebGPU-acceleration (or WASM as a fallback).
-
-## Getting Started
-
-Follow the steps below to set up and run the application.
-
-### 1. Clone the Repository
-
-Clone the examples repository from GitHub:
-
-```sh
-git clone https://github.com/moeru-ai/airi.git
-```
-
-### 2. Navigate to the Project Directory
-
-Change your working directory to the `moonshine-web` folder:
-
-```sh
-cd packages/moonshine-web
-```
-
-### 3. Install Dependencies
-
-Install the necessary dependencies using npm:
-
-```sh
-npm i
-```
-
-### 4. Run the Development Server
-
-Start the development server:
-
-```sh
-npm run dev
-```
-
-The application should now be running locally. Open your browser and go to `http://localhost:5175` to see it in action.
-
-## Acknowledgements
-
-The audio visualizer was adapted from Wael Yasmina's [amazing tutorial](https://waelyasmina.net/articles/how-to-create-a-3d-audio-visualizer-using-three-js/).
-
-Great thanks to what Xenova have done.
-
-> [Source code](https://github.com/huggingface/transformers.js-examples/tree/38a883dd465d70d7368b86b95aa0678895ca4e83/moonshine-web)
diff --git a/apps/moonshine-web/index.html b/apps/moonshine-web/index.html
deleted file mode 100644
index 8c9a99585..000000000
--- a/apps/moonshine-web/index.html
+++ /dev/null
@@ -1,136 +0,0 @@
-
-
-
-
- Moonshine Web (Vue)
-
-
-
-
-
-
-
-
-
- This website requires JavaScript to function properly. Please enable JavaScript to continue.
-
-
diff --git a/apps/moonshine-web/netlify.toml b/apps/moonshine-web/netlify.toml
deleted file mode 100755
index f47c2b2f6..000000000
--- a/apps/moonshine-web/netlify.toml
+++ /dev/null
@@ -1,19 +0,0 @@
-[build]
-base = "/"
-command = "pnpm -F @proj-airi/moonshine-web... run build"
-publish = "/apps/moonshine-web/dist"
-
-[build.environment]
-NODE_VERSION = "23"
-
-[[redirects]]
-from = "/assets/*"
-to = "/assets/:splat"
-status = 200
-force = true
-
-[[redirects]]
-from = "/*"
-to = "/index.html"
-status = 200
-force = false
diff --git a/apps/moonshine-web/package.json b/apps/moonshine-web/package.json
deleted file mode 100644
index 013b1130f..000000000
--- a/apps/moonshine-web/package.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "name": "@proj-airi/moonshine-web",
- "type": "module",
- "private": true,
- "description": "Yet another WebGPU based STT + VAD with Moonshine model re-implemented",
- "author": {
- "name": "Neko Ayaka",
- "email": "neko@ayaka.moe",
- "url": "https://github.com/nekomeowww"
- },
- "license": "MIT",
- "scripts": {
- "build": "vite build",
- "dev": "vite --port 5175",
- "lint": "eslint .",
- "preview": "vite preview",
- "typecheck": "vue-tsc --noEmit"
- },
- "dependencies": {
- "@tresjs/core": "^4.3.3",
- "@unocss/reset": "^66.1.0-beta.3",
- "@vueuse/core": "^12.8.2",
- "@vueuse/motion": "^2.2.6",
- "ofetch": "^1.4.1",
- "three": "^0.174.0",
- "vue": "^3.5.13"
- },
- "devDependencies": {
- "@huggingface/transformers": "^3.4.0",
- "@types/audioworklet": "^0.0.71",
- "@types/three": "^0.174.0",
- "@vitejs/plugin-vue": "^5.2.1",
- "@webgpu/types": "^0.1.55",
- "hfup": "workspace:^",
- "vue-tsc": "^2.2.8"
- }
-}
diff --git a/apps/moonshine-web/public/banner.png b/apps/moonshine-web/public/banner.png
deleted file mode 100644
index 37f81a37d..000000000
Binary files a/apps/moonshine-web/public/banner.png and /dev/null differ
diff --git a/apps/moonshine-web/public/logo.png b/apps/moonshine-web/public/logo.png
deleted file mode 100644
index 084b9f637..000000000
Binary files a/apps/moonshine-web/public/logo.png and /dev/null differ
diff --git a/apps/moonshine-web/src/App.vue b/apps/moonshine-web/src/App.vue
deleted file mode 100644
index 10cc67e7c..000000000
--- a/apps/moonshine-web/src/App.vue
+++ /dev/null
@@ -1,280 +0,0 @@
-
-
-
-
-
-
- Moonshine Web
-
-
- Real-time in-browser speech recognition, powered by Transformers.js
-
-
-
-
-
- An error occurred
-
-
- {{ error }}
-
-
-
-
-
-
-
-
- {{ message.message }}
-
-
-
-
-
-
-
-
-
-
-
-
downloadTranscript()"
- >
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/moonshine-web/src/components/AnimatedMesh.vue b/apps/moonshine-web/src/components/AnimatedMesh.vue
deleted file mode 100644
index ee323aa76..000000000
--- a/apps/moonshine-web/src/components/AnimatedMesh.vue
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
diff --git a/apps/moonshine-web/src/components/BloomScene.vue b/apps/moonshine-web/src/components/BloomScene.vue
deleted file mode 100644
index 91bbb2daa..000000000
--- a/apps/moonshine-web/src/components/BloomScene.vue
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/apps/moonshine-web/src/constants/index.ts b/apps/moonshine-web/src/constants/index.ts
deleted file mode 100644
index 4d67fe4c0..000000000
--- a/apps/moonshine-web/src/constants/index.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Sample rate of the audio.
- * Coindicentally, this is the same for both models (Moonshine and Silero VAD)
- */
-export const SAMPLE_RATE = 16000
-export const SAMPLE_RATE_MS = SAMPLE_RATE / 1000
-
-/**
- * Probabilities ABOVE this value are considered as SPEECH
- */
-export const SPEECH_THRESHOLD = 0.3
-
-/**
- * If current state is SPEECH, and the probability of the next state
- * is below this value, it is considered as NON-SPEECH.
- */
-export const EXIT_THRESHOLD = 0.1
-
-/**
- * After each speech chunk, wait for at least this amount of silence
- * before considering the next chunk as a new speech chunk
- */
-export const MIN_SILENCE_DURATION_MS = 400
-export const MIN_SILENCE_DURATION_SAMPLES
- = MIN_SILENCE_DURATION_MS * SAMPLE_RATE_MS
-
-/**
- * Pad the speech chunk with this amount each side
- */
-export const SPEECH_PAD_MS = 80
-export const SPEECH_PAD_SAMPLES = SPEECH_PAD_MS * SAMPLE_RATE_MS
-
-/**
- * Final speech chunks below this duration are discarded
- */
-export const MIN_SPEECH_DURATION_SAMPLES = 250 * SAMPLE_RATE_MS // 250 ms
-
-/**
- * Maximum duration of audio that can be handled by Moonshine
- */
-export const MAX_BUFFER_DURATION = 30
-
-/**
- * Size of the incoming buffers
- */
-export const NEW_BUFFER_SIZE = 512
-
-/**
- * The number of previous buffers to keep, to ensure the audio is padded correctly
- */
-export const MAX_NUM_PREV_BUFFERS = Math.ceil(
- SPEECH_PAD_SAMPLES / NEW_BUFFER_SIZE,
-)
diff --git a/apps/moonshine-web/src/libs/processor.ts b/apps/moonshine-web/src/libs/processor.ts
deleted file mode 100644
index cbd1eed57..000000000
--- a/apps/moonshine-web/src/libs/processor.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-const MIN_CHUNK_SIZE = 512
-let globalPointer = 0
-const globalBuffer = new Float32Array(MIN_CHUNK_SIZE)
-
-class VADProcessor extends AudioWorkletProcessor {
- process(inputs: Float32Array[][], _outputs: Float32Array[][], _parameters: Record): boolean {
- const buffer = inputs[0][0]
- if (!buffer)
- return false // buffer is null when the stream ends
-
- if (buffer.length > MIN_CHUNK_SIZE) {
- // If the buffer is larger than the minimum chunk size, send the entire buffer
- this.port.postMessage({ buffer })
- }
- else {
- const remaining = MIN_CHUNK_SIZE - globalPointer
- if (buffer.length >= remaining) {
- // If the buffer is larger than (or equal to) the remaining space in the global buffer, copy the remaining space
- globalBuffer.set(buffer.subarray(0, remaining), globalPointer)
-
- // Send the global buffer
- this.port.postMessage({ buffer: globalBuffer })
-
- // Reset the global buffer and set the remaining buffer
- globalBuffer.fill(0)
- globalBuffer.set(buffer.subarray(remaining), 0)
- globalPointer = buffer.length - remaining
- }
- else {
- // If the buffer is smaller than the remaining space in the global buffer, copy the buffer to the global buffer
- globalBuffer.set(buffer, globalPointer)
- globalPointer += buffer.length
- }
- }
-
- return true // Keep the processor alive
- }
-}
-
-registerProcessor('vad-processor', VADProcessor)
diff --git a/apps/moonshine-web/src/libs/types.ts b/apps/moonshine-web/src/libs/types.ts
deleted file mode 100644
index ebafabdef..000000000
--- a/apps/moonshine-web/src/libs/types.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-export enum MessageType {
- Status = 'status',
- Output = 'output',
- Info = 'info',
- Request = 'request',
- Error = 'error',
- Load = 'load',
-}
-
-export enum MessageStatus {
- RecordingStart = 'recording_start',
- RecordingEnd = 'recording_end',
- Ready = 'ready',
-}
-
-export enum Duration {
- UntilNext = 'until_next',
-}
-
-export interface MessageEventStatus {
- type: MessageType.Status
- status: MessageStatus
- message: string
- duration?: Duration
-}
-
-export interface MessageEventOutput {
- type: MessageType.Output
- buffer: Float32Array
- message: string
- start: number
- end: number
- duration: number
-}
-
-export interface MessageEventInfo {
- type: MessageType.Info
- message: string
- duration?: Duration.UntilNext
-}
-
-export interface MessageEventBufferRequest {
- type: MessageType.Request
- buffer: Float32Array
- message?: string
-}
-
-export interface MessageEventError {
- type: MessageType.Error
- error: unknown
- message?: string
-}
-
-export interface MessageEventLoad {
- type: MessageType.Load
- message?: string
-}
-
-export type MessageEvent = MessageEventError | MessageEventStatus | MessageEventOutput | MessageEventInfo | MessageEventBufferRequest | MessageEventLoad
diff --git a/apps/moonshine-web/src/libs/worker.ts b/apps/moonshine-web/src/libs/worker.ts
deleted file mode 100644
index 3d81df2d5..000000000
--- a/apps/moonshine-web/src/libs/worker.ts
+++ /dev/null
@@ -1,275 +0,0 @@
-/* eslint-disable no-restricted-globals */
-import type { AutomaticSpeechRecognitionPipeline, PreTrainedModel } from '@huggingface/transformers'
-import type { MessageEvent as InternalMessageEvent, MessageEventBufferRequest, MessageEventError, MessageEventInfo, MessageEventOutput, MessageEventStatus } from './types'
-
-import { AutoModel, pipeline, Tensor } from '@huggingface/transformers'
-
-import {
- EXIT_THRESHOLD,
- MAX_BUFFER_DURATION,
- MAX_NUM_PREV_BUFFERS,
- MIN_SILENCE_DURATION_SAMPLES,
- MIN_SPEECH_DURATION_SAMPLES,
- SAMPLE_RATE,
- SPEECH_PAD_SAMPLES,
- SPEECH_THRESHOLD,
-} from '../constants'
-import { supportsWebGPU } from '../utils'
-import { Duration, MessageStatus, MessageType } from './types'
-
-export type DType = Record>[2]['dtype']>, string>[string]>
-export type Device = Extract>[2]['device']>, Record>, 'webgpu' | 'wasm'>
-export type PretrainedConfig = NonNullable[1]>['config']
-
-// Load models
-let silero_vad: PreTrainedModel
-let transcriber: AutomaticSpeechRecognitionPipeline
-
-// Transformers.js currently doesn't support simultaneous inference,
-// so we need to chain the inference promises.
-let inferenceChain = Promise.resolve()
-
-// Global audio buffer to store incoming audio
-const BUFFER = new Float32Array(MAX_BUFFER_DURATION * SAMPLE_RATE)
-let bufferPointer = 0
-
-// Initial state for VAD
-const sr = new Tensor('int64', [SAMPLE_RATE], [])
-let state = new Tensor('float32', new Float32Array(2 * 1 * 128), [2, 1, 128])
-
-// Whether we are in the process of adding audio to the buffer
-let isRecording = false
-
-// Track the number of samples after the last speech chunk
-let postSpeechSamples = 0
-
-const DEVICE_DTYPE_CONFIGS: Record = {
- webgpu: {
- encoder_model: 'fp32',
- decoder_model_merged: 'q4',
- },
- wasm: {
- encoder_model: 'fp32',
- decoder_model_merged: 'q8',
- },
-}
-
-async function newVADModel() {
- // Load models
- return await AutoModel.from_pretrained(
- 'onnx-community/silero-vad',
- {
- config: { model_type: 'custom' } as PretrainedConfig,
- dtype: 'fp32', // Full-precision
- },
- ).catch((error) => {
- self.postMessage({ type: MessageType.Error, error } satisfies MessageEventError)
- throw error
- })
-}
-
-async function newAutomaticSpeechRecognitionPipeline(device: Device) {
- return await pipeline(
- 'automatic-speech-recognition',
- 'onnx-community/moonshine-base-ONNX', // or "onnx-community/whisper-tiny.en",
- {
- device,
- dtype: DEVICE_DTYPE_CONFIGS[device],
- },
- ).catch((error) => {
- self.postMessage({ type: MessageType.Error, error } satisfies MessageEventError)
- throw error
- })
-}
-
-/**
- * Perform Voice Activity Detection (VAD)
- * @param {Float32Array} buffer The new audio buffer
- * @returns {Promise} `true` if the buffer is speech, `false` otherwise.
- */
-async function vad(buffer: Float32Array) {
- if (silero_vad === undefined) {
- console.warn('VAD model not loaded yet')
- return false
- }
-
- const input = new Tensor('float32', buffer, [1, buffer.length])
- const { stateN, output } = await (inferenceChain = inferenceChain.then(_ => silero_vad({ input, sr, state })))
- state = stateN // Update state
- const isSpeech = output.data[0]
-
- // Use heuristics to determine if the buffer is speech or not
- return (
- // Case 1: We are above the threshold (definitely speech)
- isSpeech > SPEECH_THRESHOLD
- // Case 2: We are in the process of recording, and the probability is above the negative (exit) threshold
- || (isRecording && isSpeech >= EXIT_THRESHOLD)
- )
-}
-
-/**
- * Transcribe the audio buffer
- * @param {Float32Array} buffer The audio buffer
- * @param {object} data Additional data
- * @param {number} data.start The start time of the speech segment
- * @param {number} data.end The end time of the speech segment
- * @param {number} data.duration The duration of the speech segment
- */
-async function transcribe(buffer: Float32Array, data: { start: number, end: number, duration: number }) {
- if (transcriber === undefined) {
- console.warn('Transcriber model not loaded yet')
- return
- }
-
- // @ts-expect-error - chain
- const { text }: { text: string } = await (inferenceChain = inferenceChain.then(_ => transcriber(buffer)))
- self.postMessage({ type: MessageType.Output, buffer, message: text, ...data } satisfies MessageEventOutput)
-}
-
-function reset(offset = 0) {
- self.postMessage({
- type: MessageType.Status,
- status: MessageStatus.RecordingEnd,
- message: 'Transcribing...',
- duration: Duration.UntilNext,
- } satisfies MessageEventStatus)
-
- BUFFER.fill(0, offset)
- bufferPointer = offset
- isRecording = false
- postSpeechSamples = 0
-}
-
-const prevBuffers: Array> = []
-
-function dispatchForTranscriptionAndResetAudioBuffer(overflow?: Float32Array) {
-// Get start and end time of the speech segment, minus the padding
- const now = Date.now()
- const end
- = now - ((postSpeechSamples + SPEECH_PAD_SAMPLES) / SAMPLE_RATE) * 1000
- const start = end - (bufferPointer / SAMPLE_RATE) * 1000
- const duration = end - start
- const overflowLength = overflow?.length ?? 0
-
- // Send the audio buffer to the worker
- const buffer = BUFFER.slice(0, bufferPointer + SPEECH_PAD_SAMPLES)
-
- const prevLength = prevBuffers.reduce((acc, b) => acc + b.length, 0)
- const paddedBuffer = new Float32Array(prevLength + buffer.length)
- let offset = 0
- for (const prev of prevBuffers) {
- paddedBuffer.set(prev, offset)
- offset += prev.length
- }
-
- paddedBuffer.set(buffer, offset)
- transcribe(paddedBuffer, { start, end, duration })
-
- // Set overflow (if present) and reset the rest of the audio buffer
- if (overflow) {
- BUFFER.set(overflow, 0)
- }
-
- reset(overflowLength)
-}
-
-async function load() {
- const device = (await supportsWebGPU()) ? 'webgpu' : 'wasm'
- self.postMessage({ type: MessageType.Info, message: `Using device: "${device}"` } satisfies MessageEventInfo)
- self.postMessage({
- type: MessageType.Info,
- message: 'Loading models...',
- duration: Duration.UntilNext,
- } satisfies MessageEventInfo)
-
- // Load models
- silero_vad = await newVADModel()
- transcriber = await newAutomaticSpeechRecognitionPipeline(device)
-
- await transcriber(new Float32Array(SAMPLE_RATE)) // Compile shaders
- self.postMessage({ type: 'status', status: 'ready', message: 'Ready!' })
-
- self.onmessage = async (event) => {
- const { buffer } = event.data as MessageEventBufferRequest
-
- const wasRecording = isRecording // Save current state
- const isSpeech = await vad(buffer)
-
- if (!wasRecording && !isSpeech) {
- // We are not recording, and the buffer is not speech,
- // so we will probably discard the buffer. So, we insert
- // into a FIFO queue with maximum size of PREV_BUFFER_SIZE
- if (prevBuffers.length >= MAX_NUM_PREV_BUFFERS) {
- // If the queue is full, we discard the oldest buffer
- prevBuffers.shift()
- }
-
- prevBuffers.push(buffer)
- return
- }
-
- const remaining = BUFFER.length - bufferPointer
- if (buffer.length >= remaining) {
- // The buffer is larger than (or equal to) the remaining space in the global buffer,
- // so we perform transcription and copy the overflow to the global buffer
- BUFFER.set(buffer.subarray(0, remaining), bufferPointer)
- bufferPointer += remaining
-
- // Dispatch the audio buffer
- const overflow = buffer.subarray(remaining)
- dispatchForTranscriptionAndResetAudioBuffer(overflow)
- return
- }
- else {
- // The buffer is smaller than the remaining space in the global buffer,
- // so we copy it to the global buffer
- BUFFER.set(buffer, bufferPointer)
- bufferPointer += buffer.length
- }
-
- if (isSpeech) {
- if (!isRecording) {
- // Indicate start of recording
- self.postMessage({
- type: MessageType.Status,
- status: MessageStatus.RecordingStart,
- message: 'Listening...',
- duration: Duration.UntilNext,
- } satisfies MessageEventStatus)
- }
- // Start or continue recording
- isRecording = true
- postSpeechSamples = 0 // Reset the post-speech samples
- return
- }
-
- postSpeechSamples += buffer.length
-
- // At this point we're confident that we were recording (wasRecording === true), but the latest buffer is not speech.
- // So, we check whether we have reached the end of the current audio chunk.
- if (postSpeechSamples < MIN_SILENCE_DURATION_SAMPLES) {
- // There was a short pause, but not long enough to consider the end of a speech chunk
- // (e.g., the speaker took a breath), so we continue recording
- return
- }
-
- if (bufferPointer < MIN_SPEECH_DURATION_SAMPLES) {
- // The entire buffer (including the new chunk) is smaller than the minimum
- // duration of a speech chunk, so we can safely discard the buffer.
- reset()
- return
- }
-
- dispatchForTranscriptionAndResetAudioBuffer()
- }
-}
-
-self.addEventListener('message', (event) => {
- const { type } = event.data as InternalMessageEvent
-
- switch (type) {
- case MessageType.Load:
- load()
- break
- }
-})
diff --git a/apps/moonshine-web/src/main.ts b/apps/moonshine-web/src/main.ts
deleted file mode 100644
index af0b83f13..000000000
--- a/apps/moonshine-web/src/main.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import Tres from '@tresjs/core'
-import { MotionPlugin } from '@vueuse/motion'
-import { createApp } from 'vue'
-
-import App from './App.vue'
-
-import '@unocss/reset/tailwind.css'
-import './styles/main.css'
-import 'uno.css'
-
-createApp(App)
- .use(MotionPlugin)
- .use(Tres)
- .mount('#app')
diff --git a/apps/moonshine-web/src/styles/main.css b/apps/moonshine-web/src/styles/main.css
deleted file mode 100644
index 47e10875f..000000000
--- a/apps/moonshine-web/src/styles/main.css
+++ /dev/null
@@ -1,18 +0,0 @@
-@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');
-
-* {
- font-family: 'Poppins', sans-serif;
-}
-
-html {
- overflow: hidden;
-}
-
-html,
-body,
-#app {
- margin: 0;
- padding: 0;
- height: 100%;
- width: 100%;
-}
diff --git a/apps/moonshine-web/src/utils/index.ts b/apps/moonshine-web/src/utils/index.ts
deleted file mode 100644
index ef9bd2e76..000000000
--- a/apps/moonshine-web/src/utils/index.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-export function formatDate(timestamp: number) {
- return new Date(timestamp).toLocaleString('zh', {
- hour12: false,
- year: 'numeric',
- month: 'numeric',
- day: 'numeric',
- hour: 'numeric',
- minute: 'numeric',
- second: 'numeric',
- fractionalSecondDigits: 3,
- })
-}
-
-export async function supportsWebGPU() {
- try {
- if (!('gpu' in navigator) || !navigator.gpu)
- return false
-
- await navigator.gpu.requestAdapter()
- return true
- }
- catch (e) {
- console.error(e)
- return false
- }
-}
diff --git a/apps/moonshine-web/tsconfig.json b/apps/moonshine-web/tsconfig.json
deleted file mode 100644
index b7f0d5aae..000000000
--- a/apps/moonshine-web/tsconfig.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "compilerOptions": {
- "target": "ESNext",
- "jsx": "preserve",
- "lib": [
- "DOM",
- "ESNext",
- "WebWorker"
- ],
- "module": "ESNext",
- "moduleResolution": "Bundler",
- "resolveJsonModule": true,
- "types": [
- "vitest",
- "vite/client",
- // Currently AudioWorkletProcessor type is missing, we need to add it manually through @types/audioworklet
- // https://github.com/microsoft/TypeScript/issues/28308#issuecomment-1512509870
- "@types/audioworklet",
- // @webgpu/types
- // https://www.npmjs.com/package/@webgpu/types
- "@webgpu/types"
- ],
- "allowJs": true,
- "strict": true,
- "strictNullChecks": true,
- "noUnusedLocals": true,
- "noEmit": true,
- "esModuleInterop": true,
- "forceConsistentCasingInFileNames": true,
- "isolatedModules": true,
- "skipLibCheck": true
- },
- "exclude": ["dist", "node_modules", "cypress"]
-}
diff --git a/apps/moonshine-web/uno.config.ts b/apps/moonshine-web/uno.config.ts
deleted file mode 100644
index a80859ddc..000000000
--- a/apps/moonshine-web/uno.config.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import {
- defineConfig,
- presetAttributify,
- presetIcons,
- presetTypography,
- presetWebFonts,
- presetWind3,
- transformerDirectives,
- transformerVariantGroup,
-} from 'unocss'
-
-export default defineConfig({
- presets: [
- presetWind3(),
- presetAttributify(),
- presetTypography(),
- presetWebFonts({
- fonts: {
- sans: 'DM Sans',
- serif: 'DM Serif Display',
- mono: 'DM Mono',
- },
- }),
- presetIcons({
- scale: 1.2,
- }),
- ],
- transformers: [
- transformerDirectives(),
- transformerVariantGroup(),
- ],
- safelist: 'prose prose-sm m-auto text-left'.split(' '),
-})
diff --git a/apps/moonshine-web/vite.config.ts b/apps/moonshine-web/vite.config.ts
deleted file mode 100644
index 6e1158110..000000000
--- a/apps/moonshine-web/vite.config.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { templateCompilerOptions } from '@tresjs/core'
-import Vue from '@vitejs/plugin-vue'
-import { LFS, SpaceCard } from 'hfup/vite'
-import Unocss from 'unocss/vite'
-import { defineConfig } from 'vite'
-
-export default defineConfig({
- plugins: [
- Vue({
- // Other config
- ...templateCompilerOptions,
- }),
- // https://github.com/antfu/unocss
- // see uno.config.ts for config
- Unocss(),
-
- // HuggingFace Spaces
- LFS(),
- SpaceCard({
- title: 'Moonshine Web (Vue)',
- emoji: '🌙',
- colorFrom: 'yellow',
- colorTo: 'yellow',
- sdk: 'static',
- pinned: false,
- license: 'mit',
- models: ['onnx-community/moonshine-base-ONNX'],
- short_description: 'Yet another Real-time in-browser STT, re-implemented in Vue',
- thumbnail: 'https://raw.githubusercontent.com/moeru-ai/airi/refs/heads/main/packages/moonshine-web/public/banner.png',
- }),
- ],
- worker: { format: 'es' },
-})
diff --git a/apps/stage-web/package.json b/apps/stage-web/package.json
index df98f0276..c29201ee5 100644
--- a/apps/stage-web/package.json
+++ b/apps/stage-web/package.json
@@ -97,7 +97,7 @@
"@intlify/unplugin-vue-i18n": "^6.0.3",
"@proj-airi/drizzle-duckdb-wasm": "workspace:^",
"@proj-airi/elevenlabs": "workspace:^",
- "@proj-airi/lobe-icons": "workspace:^",
+ "@proj-airi/lobe-icons": "^0.3.6",
"@proj-airi/provider-transformers": "workspace:^",
"@proj-airi/ui-transitions": "workspace:^",
"@proj-airi/unplugin-download": "workspace:^",
diff --git a/apps/whisper-webgpu/.dockerignore b/apps/whisper-webgpu/.dockerignore
deleted file mode 100644
index f06235c46..000000000
--- a/apps/whisper-webgpu/.dockerignore
+++ /dev/null
@@ -1,2 +0,0 @@
-node_modules
-dist
diff --git a/apps/whisper-webgpu/Dockerfile b/apps/whisper-webgpu/Dockerfile
deleted file mode 100644
index 3e3a684a8..000000000
--- a/apps/whisper-webgpu/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-FROM node:20-alpine as build-stage
-
-WORKDIR /app
-RUN corepack enable
-
-COPY .npmrc package.json pnpm-lock.yaml ./
-RUN --mount=type=cache,id=pnpm-store,target=/root/.pnpm-store \
- pnpm install --frozen-lockfile
-
-COPY . .
-RUN pnpm build
-
-FROM nginx:stable-alpine as production-stage
-
-COPY --from=build-stage /app/dist /usr/share/nginx/html
-EXPOSE 80
-
-CMD ["nginx", "-g", "daemon off;"]
diff --git a/apps/whisper-webgpu/README.md b/apps/whisper-webgpu/README.md
deleted file mode 100644
index 654d97bf2..000000000
--- a/apps/whisper-webgpu/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-Whisper Realtime Demo (WebGPU)
-
-
- [Try it ]
-
-
-> Heavily inspired by [Real-time Whisper WebGPU](https://huggingface.co/spaces/Xenova/realtime-whisper-webgpu)
-
-## Acknowledgements
-
-Great thanks to what Xenova have done.
-
-> [Source code](https://github.com/huggingface/transformers.js/tree/7a58d6e11968dd85dc87ce37b2ab37213165889a/examples/webgpu-whisper)
diff --git a/apps/whisper-webgpu/index.html b/apps/whisper-webgpu/index.html
deleted file mode 100644
index 1ce8f2ac2..000000000
--- a/apps/whisper-webgpu/index.html
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- Whisper Realtime (WebGPU)
-
-
-
-
-
-
-
- This website requires JavaScript to function properly. Please enable JavaScript to continue.
-
-
diff --git a/apps/whisper-webgpu/netlify.toml b/apps/whisper-webgpu/netlify.toml
deleted file mode 100755
index bb7589c39..000000000
--- a/apps/whisper-webgpu/netlify.toml
+++ /dev/null
@@ -1,19 +0,0 @@
-[build]
-base = "/"
-command = "pnpm -F @proj-airi/whisper-webgpu... run build"
-publish = "/apps/whisper-webgpu/dist"
-
-[build.environment]
-NODE_VERSION = "23"
-
-[[redirects]]
-from = "/assets/*"
-to = "/assets/:splat"
-status = 200
-force = true
-
-[[redirects]]
-from = "/*"
-to = "/index.html"
-status = 200
-force = false
diff --git a/apps/whisper-webgpu/package.json b/apps/whisper-webgpu/package.json
deleted file mode 100644
index 88121491d..000000000
--- a/apps/whisper-webgpu/package.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name": "@proj-airi/whisper-webgpu",
- "type": "module",
- "private": true,
- "description": "Yet another WebGPU based Whisper Realtime STT re-implemented",
- "author": {
- "name": "Neko Ayaka",
- "email": "neko@ayaka.moe",
- "url": "https://github.com/nekomeowww"
- },
- "license": "MIT",
- "scripts": {
- "build": "vite build",
- "dev": "vite --port 5174",
- "lint": "eslint .",
- "preview": "vite preview",
- "typecheck": "vue-tsc --noEmit"
- },
- "dependencies": {
- "@unocss/reset": "^66.1.0-beta.3",
- "@vueuse/core": "^12.8.2",
- "ofetch": "^1.4.1",
- "vue": "^3.5.13"
- },
- "devDependencies": {
- "@huggingface/transformers": "^3.4.0",
- "@vitejs/plugin-vue": "^5.2.1",
- "@webgpu/types": "^0.1.55",
- "hfup": "workspace:^",
- "vue-tsc": "^2.2.8"
- }
-}
diff --git a/apps/whisper-webgpu/public/banner.png b/apps/whisper-webgpu/public/banner.png
deleted file mode 100644
index b9b0e75f4..000000000
Binary files a/apps/whisper-webgpu/public/banner.png and /dev/null differ
diff --git a/apps/whisper-webgpu/public/logo.png b/apps/whisper-webgpu/public/logo.png
deleted file mode 100644
index fc3b13f6b..000000000
Binary files a/apps/whisper-webgpu/public/logo.png and /dev/null differ
diff --git a/apps/whisper-webgpu/src/App.vue b/apps/whisper-webgpu/src/App.vue
deleted file mode 100644
index 8037b93a4..000000000
--- a/apps/whisper-webgpu/src/App.vue
+++ /dev/null
@@ -1,257 +0,0 @@
-
-
-
-
-
-
-
- WebGPU is not supported by this browser :(
-
-
-
-
diff --git a/apps/whisper-webgpu/src/components/AudioVisualizer.vue b/apps/whisper-webgpu/src/components/AudioVisualizer.vue
deleted file mode 100644
index f68a696da..000000000
--- a/apps/whisper-webgpu/src/components/AudioVisualizer.vue
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
diff --git a/apps/whisper-webgpu/src/components/Progress.vue b/apps/whisper-webgpu/src/components/Progress.vue
deleted file mode 100644
index b9637d7bb..000000000
--- a/apps/whisper-webgpu/src/components/Progress.vue
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- {{ text }} ({{ percentage.toFixed(2) }}%{{ Number.isNaN(total) ? '' : ` of ${formatBytes(total)}` }})
-
-
-
diff --git a/apps/whisper-webgpu/src/components/WhisperLanguageSelect.vue b/apps/whisper-webgpu/src/components/WhisperLanguageSelect.vue
deleted file mode 100644
index 0c481fd24..000000000
--- a/apps/whisper-webgpu/src/components/WhisperLanguageSelect.vue
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
-
-
-
- {{ names[index] }}
-
-
-
-
diff --git a/apps/whisper-webgpu/src/libs/types.ts b/apps/whisper-webgpu/src/libs/types.ts
deleted file mode 100644
index 4b0eb3e2d..000000000
--- a/apps/whisper-webgpu/src/libs/types.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-export interface EventLoading {
- status: 'loading'
- data: string
-}
-
-export interface EventInitiate {
- status: 'initiate'
- name: string
- file: string
- // Not used
- progress?: number
- loaded?: number
- total?: number
-}
-
-export interface EventDownload {
- status: 'download'
- name: string
- file: string
- // Not used
- progress?: number
- loaded?: number
- total?: number
-}
-
-export interface EventProgress {
- status: 'progress'
- name: string
- file: string
- progress: number
- loaded: number
- total: number
-}
-
-export interface EventDone {
- status: 'done'
- name: string
- file: string
- // Not used
- progress?: number
- loaded?: number
- total?: number
-}
-
-export interface EventReady {
- status: 'ready'
-}
-
-export interface EventStart {
- status: 'start'
-}
-
-export interface EventUpdate {
- status: 'update'
- tps: number
- output: string
- numTokens: number
-}
-
-export interface EventComplete {
- status: 'complete'
- output: string[]
-}
-
-export type MessageEvents = EventLoading | EventInitiate | EventDownload | EventProgress | EventDone | EventReady | EventStart | EventUpdate | EventComplete
-export type ProgressMessageEvents = EventInitiate | EventProgress | EventDone
diff --git a/apps/whisper-webgpu/src/libs/worker.ts b/apps/whisper-webgpu/src/libs/worker.ts
deleted file mode 100644
index f35275ae9..000000000
--- a/apps/whisper-webgpu/src/libs/worker.ts
+++ /dev/null
@@ -1,150 +0,0 @@
-/* eslint-disable no-restricted-globals */
-import type {
- ModelOutput,
- PreTrainedTokenizer,
- Processor,
- ProgressCallback,
- Tensor,
- WhisperModel,
-} from '@huggingface/transformers'
-
-import {
- AutoProcessor,
- AutoTokenizer,
- full,
- TextStreamer,
- WhisperForConditionalGeneration,
-} from '@huggingface/transformers'
-
-const MAX_NEW_TOKENS = 64
-
-/**
- * This class uses the Singleton pattern to ensure that only one instance of the model is loaded.
- */
-class AutomaticSpeechRecognitionPipeline {
- static model_id: string | null = null
- static tokenizer: Promise
- static processor: Promise
- static model: Promise
-
- static async getInstance(progress_callback?: ProgressCallback) {
- this.model_id = 'onnx-community/whisper-base'
-
- this.tokenizer ??= AutoTokenizer.from_pretrained(this.model_id, {
- progress_callback,
- })
-
- this.processor ??= AutoProcessor.from_pretrained(this.model_id, {
- progress_callback,
- })
-
- this.model ??= WhisperForConditionalGeneration.from_pretrained(this.model_id, {
- dtype: {
- encoder_model: 'fp32', // 'fp16' works too
- decoder_model_merged: 'q4', // or 'fp32' ('fp16' is broken)
- },
- device: 'webgpu',
- progress_callback,
- }) as Promise as Promise
-
- return Promise.all([this.tokenizer, this.processor, this.model])
- }
-}
-
-let processing = false
-async function generate({ audio, language }: { audio: ArrayBuffer, language: string }) {
- if (processing)
- return
- processing = true
-
- // Tell the main thread we are starting
- self.postMessage({ status: 'start' })
-
- // Retrieve the text-generation pipeline.
- const [tokenizer, processor, model] = await AutomaticSpeechRecognitionPipeline.getInstance()
-
- let startTime
- let numTokens = 0
- const callback_function = (output: ModelOutput | Tensor) => {
- startTime ??= performance.now()
-
- let tps
- if (numTokens++ > 0) {
- tps = numTokens / (performance.now() - startTime) * 1000
- }
-
- self.postMessage({
- status: 'update',
- output,
- tps,
- numTokens,
- })
- }
-
- const streamer = new TextStreamer(tokenizer, {
- skip_prompt: true,
- decode_kwargs: {
- skip_special_tokens: true,
- },
- callback_function,
- })
-
- const inputs = await processor(audio)
-
- const outputs = await model.generate({
- ...inputs,
- max_new_tokens: MAX_NEW_TOKENS,
- language,
- streamer,
- })
-
- const outputText = tokenizer.batch_decode(outputs as Tensor, { skip_special_tokens: true })
-
- // Send the output back to the main thread
- self.postMessage({
- status: 'complete',
- output: outputText,
- })
- processing = false
-}
-
-async function load() {
- self.postMessage({
- status: 'loading',
- data: 'Loading model...',
- })
-
- // Load the pipeline and save it for future use.
- const [_tokenizer, _processor, model] = await AutomaticSpeechRecognitionPipeline.getInstance((x) => {
- // We also add a progress callback to the pipeline so that we can
- // track model loading.
- self.postMessage(x)
- })
-
- self.postMessage({
- status: 'loading',
- data: 'Compiling shaders and warming up model...',
- })
-
- // Run model with dummy input to compile shaders
- await model.generate({
- input_features: full([1, 80, 3000], 0.0),
- max_new_tokens: 1,
- } as Record)
-
- self.postMessage({ status: 'ready' })
-}
-// Listen for messages from the main thread
-self.addEventListener('message', async (e) => {
- const { type, data } = e.data
-
- switch (type) {
- case 'load':
- load()
- break
-
- case 'generate':
- generate(data)
- break
- }
-})
diff --git a/apps/whisper-webgpu/src/main.ts b/apps/whisper-webgpu/src/main.ts
deleted file mode 100644
index 8ce0833cc..000000000
--- a/apps/whisper-webgpu/src/main.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { createApp } from 'vue'
-
-import App from './App.vue'
-
-import '@unocss/reset/tailwind.css'
-import './styles/main.css'
-import 'uno.css'
-
-createApp(App)
- .mount('#app')
diff --git a/apps/whisper-webgpu/src/shims.d.ts b/apps/whisper-webgpu/src/shims.d.ts
deleted file mode 100644
index 1b6668502..000000000
--- a/apps/whisper-webgpu/src/shims.d.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-declare interface Window {
- // extend the window
-}
-
-declare module '*.vue' {
- import type { DefineComponent } from 'vue'
-
- const component: DefineComponent
- export default component
-}
diff --git a/apps/whisper-webgpu/src/styles/main.css b/apps/whisper-webgpu/src/styles/main.css
deleted file mode 100644
index 5c3821aad..000000000
--- a/apps/whisper-webgpu/src/styles/main.css
+++ /dev/null
@@ -1,39 +0,0 @@
-html,
-body,
-#app {
- height: 100%;
- margin: 0;
- padding: 0;
-}
-
-html.dark {
- background: #121212;
- color-scheme: dark;
-}
-
-.scrollbar-thin::-webkit-scrollbar {
- @apply w-2;
-}
-
-.scrollbar-thin::-webkit-scrollbar-track {
- @apply rounded-full bg-gray-100 dark:bg-gray-700;
-}
-
-.scrollbar-thin::-webkit-scrollbar-thumb {
- @apply rounded-full bg-gray-300 dark:bg-gray-600;
-}
-
-.scrollbar-thin::-webkit-scrollbar-thumb:hover {
- @apply bg-gray-500;
-}
-
-.animation-delay-200 {
- animation-delay: 200ms;
-}
-.animation-delay-400 {
- animation-delay: 400ms;
-}
-
-.overflow-wrap-anywhere {
- overflow-wrap: anywhere;
-}
diff --git a/apps/whisper-webgpu/tsconfig.json b/apps/whisper-webgpu/tsconfig.json
deleted file mode 100644
index 8b5b99e40..000000000
--- a/apps/whisper-webgpu/tsconfig.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "compilerOptions": {
- "target": "ESNext",
- "jsx": "preserve",
- "lib": [
- "DOM",
- "ESNext",
- "WebWorker"
- ],
- "module": "ESNext",
- "moduleResolution": "Bundler",
- "resolveJsonModule": true,
- "types": [
- "vitest",
- "vite/client",
- "@webgpu/types"
- ],
- "allowJs": true,
- "strict": true,
- "strictNullChecks": true,
- "noUnusedLocals": true,
- "noEmit": true,
- "esModuleInterop": true,
- "forceConsistentCasingInFileNames": true,
- "isolatedModules": true,
- "skipLibCheck": true
- },
- "exclude": ["dist", "node_modules", "cypress"]
-}
diff --git a/apps/whisper-webgpu/uno.config.ts b/apps/whisper-webgpu/uno.config.ts
deleted file mode 100644
index a0d5791fd..000000000
--- a/apps/whisper-webgpu/uno.config.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import {
- defineConfig,
- presetAttributify,
- presetIcons,
- presetTypography,
- presetWebFonts,
- presetWind3,
- transformerDirectives,
- transformerVariantGroup,
-} from 'unocss'
-
-export default defineConfig({
- presets: [
- presetWind3(),
- presetAttributify(),
- presetTypography(),
- presetWebFonts({
- fonts: {
- sans: 'DM Sans',
- serif: 'DM Serif Display',
- mono: 'DM Mono',
- cute: 'Kiwi Maru',
- cuteen: 'Sniglet',
- },
- }),
- presetIcons({
- scale: 1.2,
- }),
- ],
- transformers: [
- transformerDirectives(),
- transformerVariantGroup(),
- ],
- safelist: 'prose prose-sm m-auto text-left'.split(' '),
-})
diff --git a/apps/whisper-webgpu/vite.config.ts b/apps/whisper-webgpu/vite.config.ts
deleted file mode 100644
index d38a48374..000000000
--- a/apps/whisper-webgpu/vite.config.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import Vue from '@vitejs/plugin-vue'
-import { LFS, SpaceCard } from 'hfup/vite'
-import Unocss from 'unocss/vite'
-import { defineConfig } from 'vite'
-
-export default defineConfig({
- plugins: [
- Vue(),
- // https://github.com/antfu/unocss
- // see uno.config.ts for config
- Unocss(),
-
- // HuggingFace Spaces
- LFS(),
- SpaceCard({
- title: 'Real-time Whisper WebGPU (Vue)',
- emoji: '🎤',
- colorFrom: 'blue',
- colorTo: 'blue',
- sdk: 'static',
- pinned: false,
- license: 'mit',
- models: ['onnx-community/whisper-base'],
- short_description: 'Yet another Real-time Whisper with WebGPU, written in Vue',
- thumbnail: 'https://raw.githubusercontent.com/moeru-ai/airi/refs/heads/main/packages/whisper-webgpu/public/banner.png',
- }),
- ],
-})
diff --git a/packages/lobe-icons/build.config.ts b/packages/lobe-icons/build.config.ts
deleted file mode 100644
index 89d546953..000000000
--- a/packages/lobe-icons/build.config.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import { writeFile } from 'node:fs/promises'
-import { join } from 'node:path'
-import { importDirectory } from '@iconify/tools'
-import { getPackageInfo, isPackageExists } from 'local-pkg'
-import { defineBuildConfig } from 'unbuild'
-
-import packageJSON from './package.json'
-
-function json(any: any) {
- return JSON.stringify(any, null, 2)
-}
-
-export default defineBuildConfig({
- entries: [
- { builder: 'rollup', input: 'src/index.ts', outDir: 'dist', declaration: true },
- { builder: 'mkdist', input: './src', outDir: './dist', pattern: ['**/*.json'] },
- ],
- externals: [
- './metadata.json',
- './icons.json',
- './chars.json',
- './info.json',
- ],
- rollup: {
- emitCJS: true,
- },
- declaration: true,
- sourcemap: false,
- failOnWarn: false,
- hooks: {
- 'build:done': async () => {
- if (!isPackageExists('@lobehub/icons-static-svg'))
- throw new Error('Package @lobehub/icons-static-svg not found')
-
- const pkg = await getPackageInfo('@lobehub/icons-static-svg')
- if (!pkg)
- throw new Error('Package @lobehub/icons-static-svg not found')
-
- const iconSetData = await importDirectory(join(pkg.rootPath, 'icons'), { prefix: 'lobe-icons', ignoreImportErrors: 'warn' })
- const iconJSONData = iconSetData.export()
-
- await writeFile('./dist/metadata.json', json({ categories: iconSetData.categories }), { encoding: 'utf8' })
- await writeFile('./dist/icons.json', json(iconJSONData), { encoding: 'utf8' })
- await writeFile('./dist/chars.json', json({}), { encoding: 'utf8' })
- await writeFile('./dist/info.json', json({
- prefix: 'lobe-icons',
- name: 'Lobe Icons',
- total: Object.keys(iconJSONData.icons).length,
- version: packageJSON.version,
- author: {
- name: packageJSON.author.name,
- url: packageJSON.author.url,
- },
- license: {
- title: 'MIT',
- spdx: 'MIT',
- },
- samples: [
- 'openai',
- 'deepseek',
- 'claude',
- ],
- height: 20,
- displayHeight: 20,
- category: 'Logos 20px',
- tags: [
- 'AI',
- 'Models',
- 'LLM',
- 'Lobe',
- ],
- palette: false,
- }), { encoding: 'utf8' })
- },
- },
-})
diff --git a/packages/lobe-icons/package.json b/packages/lobe-icons/package.json
deleted file mode 100644
index acec8f28d..000000000
--- a/packages/lobe-icons/package.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "name": "@proj-airi/lobe-icons",
- "type": "module",
- "version": "0.3.6",
- "description": "Iconify JSON IconSet port for @lobehub/icons",
- "author": {
- "name": "Neko Ayaka",
- "email": "neko@ayaka.moe",
- "url": "https://github.com/nekomeowww"
- },
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "https://github.com/moeru-ai/airi.git",
- "directory": "packages/lobe-icons"
- },
- "exports": {
- "./*": "./*",
- ".": {
- "types": "./dist/index.d.ts",
- "import": "./dist/index.mjs",
- "require": "./dist/index.cjs"
- },
- "./icons.json": "./dist/icons.json",
- "./info.json": "./dist/info.json",
- "./metadata.json": "./dist/metadata.json"
- },
- "main": "./dist/index.cjs",
- "module": "./dist/index.mjs",
- "types": "./dist/index.d.ts",
- "files": [
- "README.md",
- "dist",
- "package.json"
- ],
- "scripts": {
- "dev": "unbuild",
- "stub": "unbuild",
- "build": "unbuild"
- },
- "devDependencies": {
- "@iconify/tools": "^4.1.1",
- "@lobehub/icons-static-svg": "^1.30.0",
- "local-pkg": "^1.1.1"
- }
-}
diff --git a/packages/lobe-icons/src/index.ts b/packages/lobe-icons/src/index.ts
deleted file mode 100644
index be0d5c518..000000000
--- a/packages/lobe-icons/src/index.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-// @ts-expect-error - This is a generated file
-import chars from './chars.json'
-// @ts-expect-error - This is a generated file
-import icons from './icons.json'
-// @ts-expect-error - This is a generated file
-import info from './info.json'
-// @ts-expect-error - This is a generated file
-import metadata from './metadata.json'
-
-export {
- chars,
- icons,
- info,
- metadata,
-}
diff --git a/packages/lobe-icons/tsconfig.json b/packages/lobe-icons/tsconfig.json
deleted file mode 100644
index 20ac4007e..000000000
--- a/packages/lobe-icons/tsconfig.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "compilerOptions": {
- "target": "ESNext",
- "lib": [
- "ESNext"
- ],
- "module": "ESNext",
- "moduleResolution": "bundler",
- "resolveJsonModule": true,
- "types": [
- "vite/client"
- ],
- "esModuleInterop": true,
- "forceConsistentCasingInFileNames": true,
- "isolatedModules": true,
- "verbatimModuleSyntax": true,
- "skipLibCheck": true
- },
- "include": [
- "src/**/*.ts"
- ]
-}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index cc838fdaf..ab4dd298e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -123,52 +123,6 @@ importers:
specifier: ^3.0.8
version: 3.0.8(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/browser@3.0.8)(jiti@2.4.2)(jsdom@25.0.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(less@4.2.1)(msw@2.7.3(@types/node@22.13.9)(typescript@5.8.2))(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0)
- apps/moonshine-web:
- dependencies:
- '@tresjs/core':
- specifier: ^4.3.3
- version: 4.3.3(three@0.174.0)(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2))
- '@unocss/reset':
- specifier: ^66.1.0-beta.3
- version: 66.1.0-beta.3
- '@vueuse/core':
- specifier: ^12.8.2
- version: 12.8.2(typescript@5.8.2)
- '@vueuse/motion':
- specifier: ^2.2.6
- version: 2.2.6(magicast@0.3.5)(rollup@4.34.9)(vue@3.5.13(typescript@5.8.2))
- ofetch:
- specifier: ^1.4.1
- version: 1.4.1
- three:
- specifier: ^0.174.0
- version: 0.174.0
- vue:
- specifier: ^3.5.13
- version: 3.5.13(typescript@5.8.2)
- devDependencies:
- '@huggingface/transformers':
- specifier: ^3.4.0
- version: 3.4.0
- '@types/audioworklet':
- specifier: ^0.0.71
- version: 0.0.71
- '@types/three':
- specifier: ^0.174.0
- version: 0.174.0
- '@vitejs/plugin-vue':
- specifier: ^5.2.1
- version: 5.2.1(vite@6.2.1(@types/node@22.13.9)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.2))
- '@webgpu/types':
- specifier: ^0.1.55
- version: 0.1.55
- hfup:
- specifier: workspace:^
- version: link:../../packages/hfup
- vue-tsc:
- specifier: ^2.2.8
- version: 2.2.8(typescript@5.8.2)
-
apps/stage-tamagotchi:
dependencies:
'@11labs/client':
@@ -242,7 +196,7 @@ importers:
version: 0.0.22
'@tresjs/cientos':
specifier: ^4.1.0
- version: 4.1.0(@tresjs/core@4.3.3(three@0.174.0)(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2)))(@types/three@0.174.0)(react@18.3.1)(three@0.174.0)(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2))
+ version: 4.2.0(@tresjs/core@4.3.3(three@0.174.0)(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2)))(@types/three@0.174.0)(react@18.3.1)(three@0.174.0)(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2))
'@tresjs/core':
specifier: ^4.3.3
version: 4.3.3(three@0.174.0)(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2))
@@ -696,8 +650,8 @@ importers:
specifier: workspace:^
version: link:../../packages/elevenlabs
'@proj-airi/lobe-icons':
- specifier: workspace:^
- version: link:../../packages/lobe-icons
+ specifier: ^0.3.6
+ version: 0.3.6
'@proj-airi/provider-transformers':
specifier: workspace:^
version: link:../../packages/provider-transformers
@@ -768,37 +722,6 @@ importers:
specifier: ^2.2.8
version: 2.2.8(typescript@5.8.2)
- apps/whisper-webgpu:
- dependencies:
- '@unocss/reset':
- specifier: ^66.1.0-beta.3
- version: 66.1.0-beta.3
- '@vueuse/core':
- specifier: ^12.8.2
- version: 12.8.2(typescript@5.8.2)
- ofetch:
- specifier: ^1.4.1
- version: 1.4.1
- vue:
- specifier: ^3.5.13
- version: 3.5.13(typescript@5.8.2)
- devDependencies:
- '@huggingface/transformers':
- specifier: ^3.4.0
- version: 3.4.0
- '@vitejs/plugin-vue':
- specifier: ^5.2.1
- version: 5.2.1(vite@6.2.1(@types/node@22.13.9)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.2))
- '@webgpu/types':
- specifier: ^0.1.55
- version: 0.1.55
- hfup:
- specifier: workspace:^
- version: link:../../packages/hfup
- vue-tsc:
- specifier: ^2.2.8
- version: 2.2.8(typescript@5.8.2)
-
docs:
dependencies:
'@astrojs/starlight':
@@ -958,18 +881,6 @@ importers:
specifier: ^6.2.1
version: 6.2.1(@types/node@22.13.9)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0)
- packages/lobe-icons:
- devDependencies:
- '@iconify/tools':
- specifier: ^4.1.1
- version: 4.1.1
- '@lobehub/icons-static-svg':
- specifier: ^1.30.0
- version: 1.30.0
- local-pkg:
- specifier: ^1.1.1
- version: 1.1.1
-
packages/provider-transformers:
dependencies:
'@huggingface/transformers':
@@ -2045,10 +1956,6 @@ packages:
resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.26.7':
- resolution: {integrity: sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==}
- engines: {node: '>=6.9.0'}
-
'@babel/types@7.26.9':
resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==}
engines: {node: '>=6.9.0'}
@@ -3093,9 +3000,6 @@ packages:
'@iconify-json/vscode-icons@1.2.16':
resolution: {integrity: sha512-hstc2yVq2UJ6v6FrgjftzXRvphGZBsKxvSeXoFLP1Hgx89TPZKrGE5SV6vqsoeIlLYaQ7OZbXmAoVGroTfGmVQ==}
- '@iconify/tools@4.1.1':
- resolution: {integrity: sha512-Hybu/HGhv6T8nLQhiG9rKx+ekF7NNpPOEQAy7JRSKht3s3dcFSsPccYzk24Znc9MTxrR6Gak3cg6CPP5dyvS2Q==}
-
'@iconify/types@2.0.0':
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
@@ -3340,9 +3244,6 @@ packages:
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
- '@lobehub/icons-static-svg@1.30.0':
- resolution: {integrity: sha512-hb5XNClogtrgYQs5ThXRXMnWLjjoi2Rvguu0d0DP4Rg6wO42t94Vd1cPjN0hKc/CvhpjKKGIvY6tFEGFGf4a5A==}
-
'@malept/cross-spawn-promise@1.1.1':
resolution: {integrity: sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==}
engines: {node: '>= 10'}
@@ -3978,6 +3879,9 @@ packages:
'@polka/url@1.0.0-next.24':
resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==}
+ '@proj-airi/lobe-icons@0.3.6':
+ resolution: {integrity: sha512-fOCpzksIEDr2GrzAQ+RlhYtrFm3PM4jjlp815tTW4lxxIT4CQt5F8vPn60aCpEns4gAMUC8A+YKxFInWYY/Mmw==}
+
'@proj-airi/server-sdk@0.1.4':
resolution: {integrity: sha512-iyOtnFcQJL0xs+BZ8flDbxkCdrS5kMZrLBmQI//fmYj3yV0ny7TpVwvvPsJaqtcDfrYDOjmQ+JOu4R/YntHVxg==}
@@ -4325,13 +4229,6 @@ packages:
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
engines: {node: '>= 10'}
- '@tresjs/cientos@4.1.0':
- resolution: {integrity: sha512-vhYQ6HbcuswLngyHgHj+L6FAgtedhmbH83+xQbPgJmEGAUqu+91PQeH+Hujgk/6U444hObq1FwUZWClrrjXatQ==}
- peerDependencies:
- '@tresjs/core': '>=4.2.1'
- three: '>=0.133'
- vue: '>=3.3'
-
'@tresjs/cientos@4.2.0':
resolution: {integrity: sha512-jc7Mo5ydelbYjV1cY70WoVVtD4g2IV0iucHibhoTOlZI8/Q1ppyK5QaIcdUBa3wkDkPIK8F/PG3fJ5O95WtnRA==}
peerDependencies:
@@ -4361,9 +4258,6 @@ packages:
'@types/aria-query@5.0.4':
resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
- '@types/audioworklet@0.0.71':
- resolution: {integrity: sha512-bi5UKn9UXQaDPN9C3gVIT7D1CbPRlJyUPqfTqpLOUVh2cRoPdCscrVPuBkXiJV2JvHH/4bXvmYDSg7SmC7wuXA==}
-
'@types/babel__core@7.20.5':
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
@@ -4580,9 +4474,6 @@ packages:
'@types/node@20.17.11':
resolution: {integrity: sha512-Ept5glCK35R8yeyIeYlRIZtX6SLRyqMhOFTgj5SOkMpLTdw3SEHI9fHx60xaUZ+V1aJxQJODE+7/j5ocZydYTg==}
- '@types/node@22.13.8':
- resolution: {integrity: sha512-G3EfaZS+iOGYWLLRCEAXdWK9my08oHNZ+FHluRiggIYJPOXzhOiDgpVCUHaUvyIC5/fj7C/p637jdzC666AOKQ==}
-
'@types/node@22.13.9':
resolution: {integrity: sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==}
@@ -4619,9 +4510,6 @@ packages:
'@types/statuses@2.0.5':
resolution: {integrity: sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==}
- '@types/tar@6.1.13':
- resolution: {integrity: sha512-IznnlmU5f4WcGTh2ltRu/Ijpmk8wiWXfF0VA4s+HPjHZgvFggk1YaIkbo5krX/zUCzWF8N/l4+W/LNxnvAJ8nw==}
-
'@types/three@0.174.0':
resolution: {integrity: sha512-De/+vZnfg2aVWNiuy1Ldu+n2ydgw1osinmiZTAn0necE++eOfsygL8JpZgFjR2uHmAPo89MkxBj3JJ+2BMe+Uw==}
@@ -4670,10 +4558,6 @@ packages:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/scope-manager@8.24.1':
- resolution: {integrity: sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
'@typescript-eslint/scope-manager@8.26.0':
resolution: {integrity: sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4685,33 +4569,16 @@ packages:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/types@8.24.1':
- resolution: {integrity: sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
'@typescript-eslint/types@8.26.0':
resolution: {integrity: sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.24.1':
- resolution: {integrity: sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '>=4.8.4 <5.8.0'
-
'@typescript-eslint/typescript-estree@8.26.0':
resolution: {integrity: sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/utils@8.24.1':
- resolution: {integrity: sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
'@typescript-eslint/utils@8.26.0':
resolution: {integrity: sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4719,10 +4586,6 @@ packages:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/visitor-keys@8.24.1':
- resolution: {integrity: sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
'@typescript-eslint/visitor-keys@8.26.0':
resolution: {integrity: sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -5209,14 +5072,6 @@ packages:
typescript:
optional: true
- '@vue/language-core@2.2.6':
- resolution: {integrity: sha512-7IQTvwVOvhYSzcizZ2hAdqJjI+SaJS2GO7EnDlSlQ77drwl5UzNa2IZm9pO9MdMxrlw24CGI/Lo3xpCjM26veg==}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
'@vue/language-core@2.2.8':
resolution: {integrity: sha512-rrzB0wPGBvcwaSNRriVWdNAbHQWSf0NlGqgKHK5mEkXpefjUlVRP62u03KvwZpvKVjRnBIQ/Lwre+Mx9N6juUQ==}
peerDependencies:
@@ -5414,10 +5269,6 @@ packages:
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
engines: {node: '>=12'}
- ansis@3.16.0:
- resolution: {integrity: sha512-sU7d/tfZiYrsIAXbdL/CNZld5bCkruzwT5KmqmadCJYxuLxHAOBjidxD5+iLmN/6xEfjcQq1l7OpsiCBlc4LzA==}
- engines: {node: '>=14'}
-
ansis@3.17.0:
resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==}
engines: {node: '>=14'}
@@ -5595,9 +5446,6 @@ packages:
axios@0.21.4:
resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==}
- axios@1.7.9:
- resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==}
-
axobject-query@4.1.0:
resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
engines: {node: '>= 0.4'}
@@ -5864,13 +5712,6 @@ packages:
resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
engines: {node: '>= 16'}
- cheerio-select@2.1.0:
- resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
-
- cheerio@1.0.0:
- resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==}
- engines: {node: '>=18.17'}
-
chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
@@ -6697,11 +6538,6 @@ packages:
engines: {node: '>=0.10.0'}
hasBin: true
- ejs@3.1.9:
- resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==}
- engines: {node: '>=0.10.0'}
- hasBin: true
-
electron-builder-squirrel-windows@24.13.3:
resolution: {integrity: sha512-oHkV0iogWfyK+ah9ZIvMDpei1m9ZRpdXcvde1wTpra2U8AFDNNpqJdnin5z+PM1GbQ5BoaKCWas2HSjtR0HwMg==}
@@ -6758,9 +6594,6 @@ packages:
resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
engines: {node: '>= 0.8'}
- encoding-sniffer@0.2.0:
- resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==}
-
encoding@0.1.13:
resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==}
@@ -6821,10 +6654,6 @@ packages:
resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==}
engines: {node: '>= 0.4'}
- es-define-property@1.0.0:
- resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
- engines: {node: '>= 0.4'}
-
es-define-property@1.0.1:
resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
engines: {node: '>= 0.4'}
@@ -7341,10 +7170,6 @@ packages:
'@75lb/nature':
optional: true
- find-up-simple@1.0.0:
- resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==}
- engines: {node: '>=18'}
-
find-up-simple@1.0.1:
resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==}
engines: {node: '>=18'}
@@ -7501,10 +7326,6 @@ packages:
resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
engines: {node: '>=18'}
- get-intrinsic@1.2.4:
- resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
- engines: {node: '>= 0.4'}
-
get-intrinsic@1.3.0:
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
engines: {node: '>= 0.4'}
@@ -7618,9 +7439,6 @@ packages:
glsl-tokenizer@2.1.5:
resolution: {integrity: sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==}
- gopd@1.0.1:
- resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
-
gopd@1.2.0:
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
engines: {node: '>= 0.4'}
@@ -7671,10 +7489,6 @@ packages:
resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
engines: {node: '>= 0.4'}
- has-symbols@1.0.3:
- resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
- engines: {node: '>= 0.4'}
-
has-symbols@1.1.0:
resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
engines: {node: '>= 0.4'}
@@ -7693,10 +7507,6 @@ packages:
hash-sum@2.0.0:
resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
- hasown@2.0.0:
- resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
- engines: {node: '>= 0.4'}
-
hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
@@ -7805,9 +7615,6 @@ packages:
htmlparser2@6.1.0:
resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
- htmlparser2@9.1.0:
- resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==}
-
http-cache-semantics@4.1.1:
resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
@@ -8375,10 +8182,6 @@ packages:
resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==}
engines: {node: '>=14'}
- local-pkg@1.1.0:
- resolution: {integrity: sha512-xbZBuX6gYIWrlLmZG43aAVer4ocntYO09vPy9lxd6Ns8DnR4U7N+IIeDkubinqFOHHzoMlPxTxwo0jhE7oYjAw==}
- engines: {node: '>=14'}
-
local-pkg@1.1.1:
resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==}
engines: {node: '>=14'}
@@ -8879,10 +8682,6 @@ packages:
resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
engines: {node: '>=8'}
- minipass@4.2.8:
- resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==}
- engines: {node: '>=8'}
-
minipass@5.0.0:
resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
engines: {node: '>=8'}
@@ -8940,10 +8739,6 @@ packages:
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
engines: {node: '>=4'}
- mrmime@2.0.0:
- resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
- engines: {node: '>=10'}
-
mrmime@2.0.1:
resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
engines: {node: '>=10'}
@@ -8979,11 +8774,6 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- nanoid@5.0.9:
- resolution: {integrity: sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==}
- engines: {node: ^18 || >=20}
- hasBin: true
-
nanoid@5.1.3:
resolution: {integrity: sha512-zAbEOEr7u2CbxwoMRlz/pNSpRP0FdAU4pRaYunCdEezWohXFs+a0Xw7RfkKaezMsmSM1vttcLthJtwRnVtOfHQ==}
engines: {node: ^18 || >=20}
@@ -9342,12 +9132,6 @@ packages:
resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==}
engines: {node: '>= 0.10'}
- parse5-htmlparser2-tree-adapter@7.1.0:
- resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==}
-
- parse5-parser-stream@7.1.2:
- resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==}
-
parse5@7.1.2:
resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
@@ -9935,9 +9719,6 @@ packages:
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
engines: {node: '>= 0.10'}
- proxy-from-env@1.1.0:
- resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
-
prr@1.0.1:
resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
@@ -9962,17 +9743,10 @@ packages:
resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
engines: {node: '>=0.6'}
- qs@6.13.1:
- resolution: {integrity: sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==}
- engines: {node: '>=0.6'}
-
qs@6.14.0:
resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==}
engines: {node: '>=0.6'}
- quansync@0.2.6:
- resolution: {integrity: sha512-u3TuxVTuJtkTxKGk5oZ7K2/o+l0/cC6J8SOyaaSnrnroqvcVy7xBxtvBUyd+Xa8cGoCr87XmQj4NR6W+zbqH8w==}
-
quansync@0.2.8:
resolution: {integrity: sha512-4+saucphJMazjt7iOM27mbFCk+D9dd/zmgMDCzRZ8MEoBfYp7lAvoN38et/phRQF6wOPMy/OROBGgoWeSKyluA==}
@@ -10438,10 +10212,6 @@ packages:
resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
engines: {node: '>= 0.4'}
- side-channel@1.0.6:
- resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
- engines: {node: '>= 0.4'}
-
side-channel@1.1.0:
resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
engines: {node: '>= 0.4'}
@@ -11075,9 +10845,6 @@ packages:
unconfig@7.0.0:
resolution: {integrity: sha512-G5CJSoG6ZTxgzCJblEfgpdRK2tos9+UdD2WtecDUVfImzQ0hFjwpH5RVvGMhP4pRpC9ML7NrC4qBsBl0Ttj35A==}
- unconfig@7.1.0:
- resolution: {integrity: sha512-4rNuVn7UJXvRCPFk4CT/VfoCEh9VTtohLAmPzMkSKjAnesnsSDsIKt0kso8sSeZji2Js31iOWQhY6R8pFP6UVQ==}
-
unconfig@7.3.0:
resolution: {integrity: sha512-UWYFZinVx2ZRE5Dzp2kI4xBkNC//veYakve1BeaAa7CNrf9TckEKlBiFUSrHOuoEDgu1URhNy219ZXsprIrvjQ==}
@@ -11886,6 +11653,7 @@ packages:
yaeti@0.0.6:
resolution: {integrity: sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==}
engines: {node: '>=0.10.32'}
+ deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
@@ -11897,10 +11665,6 @@ packages:
resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
engines: {node: '>=18'}
- yaml-eslint-parser@1.2.3:
- resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==}
- engines: {node: ^14.17.0 || >=16.0.0}
-
yaml-eslint-parser@1.3.0:
resolution: {integrity: sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==}
engines: {node: ^14.17.0 || >=16.0.0}
@@ -12223,7 +11987,7 @@ snapshots:
'@babel/parser': 7.26.7
'@babel/template': 7.25.9
'@babel/traverse': 7.25.9
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
convert-source-map: 2.0.0
debug: 4.4.0
gensync: 1.0.0-beta.2
@@ -12235,19 +11999,19 @@ snapshots:
'@babel/generator@7.26.2':
dependencies:
'@babel/parser': 7.26.7
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
jsesc: 3.1.0
'@babel/helper-annotate-as-pure@7.25.9':
dependencies:
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
'@babel/helper-builder-binary-assignment-operator-visitor@7.25.9':
dependencies:
'@babel/traverse': 7.25.9
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
transitivePeerDependencies:
- supports-color
@@ -12293,14 +12057,14 @@ snapshots:
'@babel/helper-member-expression-to-functions@7.25.9':
dependencies:
'@babel/traverse': 7.25.9
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
transitivePeerDependencies:
- supports-color
'@babel/helper-module-imports@7.25.9':
dependencies:
'@babel/traverse': 7.25.9
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
transitivePeerDependencies:
- supports-color
@@ -12315,7 +12079,7 @@ snapshots:
'@babel/helper-optimise-call-expression@7.25.9':
dependencies:
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
'@babel/helper-plugin-utils@7.25.9': {}
@@ -12340,20 +12104,20 @@ snapshots:
'@babel/helper-simple-access@7.25.9':
dependencies:
'@babel/traverse': 7.25.9
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
transitivePeerDependencies:
- supports-color
'@babel/helper-skip-transparent-expression-wrappers@7.25.9':
dependencies:
'@babel/traverse': 7.25.9
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
transitivePeerDependencies:
- supports-color
'@babel/helper-split-export-declaration@7.24.7':
dependencies:
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
'@babel/helper-string-parser@7.25.9': {}
@@ -12365,18 +12129,18 @@ snapshots:
dependencies:
'@babel/template': 7.25.9
'@babel/traverse': 7.25.9
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
transitivePeerDependencies:
- supports-color
'@babel/helpers@7.26.0':
dependencies:
'@babel/template': 7.25.9
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
'@babel/parser@7.26.7':
dependencies:
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
'@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)':
dependencies:
@@ -12876,7 +12640,7 @@ snapshots:
dependencies:
'@babel/core': 7.26.0
'@babel/helper-plugin-utils': 7.25.9
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
esutils: 2.0.3
'@babel/runtime@7.26.7':
@@ -12889,7 +12653,7 @@ snapshots:
dependencies:
'@babel/code-frame': 7.26.2
'@babel/parser': 7.26.7
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
'@babel/traverse@7.25.9':
dependencies:
@@ -12897,17 +12661,12 @@ snapshots:
'@babel/generator': 7.26.2
'@babel/parser': 7.26.7
'@babel/template': 7.25.9
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
debug: 4.4.0
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- '@babel/types@7.26.7':
- dependencies:
- '@babel/helper-string-parser': 7.25.9
- '@babel/helper-validator-identifier': 7.25.9
-
'@babel/types@7.26.9':
dependencies:
'@babel/helper-string-parser': 7.25.9
@@ -13192,7 +12951,7 @@ snapshots:
dependencies:
'@types/eslint': 9.6.1
'@types/estree': 1.0.6
- '@typescript-eslint/types': 8.24.1
+ '@typescript-eslint/types': 8.26.0
comment-parser: 1.4.1
esquery: 1.6.0
jsdoc-type-pratt-parser: 4.1.0
@@ -13741,23 +13500,6 @@ snapshots:
dependencies:
'@iconify/types': 2.0.0
- '@iconify/tools@4.1.1':
- dependencies:
- '@iconify/types': 2.0.0
- '@iconify/utils': 2.3.0
- '@types/tar': 6.1.13
- axios: 1.7.9
- cheerio: 1.0.0
- domhandler: 5.0.3
- extract-zip: 2.0.1
- local-pkg: 0.5.1
- pathe: 1.1.2
- svgo: 3.3.2
- tar: 6.2.1
- transitivePeerDependencies:
- - debug
- - supports-color
-
'@iconify/types@2.0.0': {}
'@iconify/utils@2.3.0':
@@ -13768,7 +13510,7 @@ snapshots:
debug: 4.4.0
globals: 15.15.0
kolorist: 1.8.0
- local-pkg: 1.1.0
+ local-pkg: 1.1.1
mlly: 1.7.4
transitivePeerDependencies:
- supports-color
@@ -13892,7 +13634,7 @@ snapshots:
jsonc-eslint-parser: 2.4.0
mlly: 1.7.4
source-map-js: 1.2.1
- yaml-eslint-parser: 1.2.3
+ yaml-eslint-parser: 1.3.0
optionalDependencies:
vue-i18n: 11.1.2(vue@3.5.13(typescript@5.8.2))
@@ -13922,8 +13664,8 @@ snapshots:
'@intlify/shared': 11.1.2
'@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.2)(@vue/compiler-dom@3.5.13)(vue-i18n@11.1.2(vue@3.5.13(typescript@5.8.2)))(vue@3.5.13(typescript@5.8.2))
'@rollup/pluginutils': 5.1.4(rollup@2.79.1)
- '@typescript-eslint/scope-manager': 8.24.1
- '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.8.2)
+ '@typescript-eslint/scope-manager': 8.26.0
+ '@typescript-eslint/typescript-estree': 8.26.0(typescript@5.8.2)
debug: 4.4.0
fast-glob: 3.3.3
js-yaml: 4.1.0
@@ -13949,8 +13691,8 @@ snapshots:
'@intlify/shared': 11.1.2
'@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.2)(@vue/compiler-dom@3.5.13)(vue-i18n@11.1.2(vue@3.5.13(typescript@5.8.2)))(vue@3.5.13(typescript@5.8.2))
'@rollup/pluginutils': 5.1.4(rollup@4.34.9)
- '@typescript-eslint/scope-manager': 8.24.1
- '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.8.2)
+ '@typescript-eslint/scope-manager': 8.26.0
+ '@typescript-eslint/typescript-estree': 8.26.0(typescript@5.8.2)
debug: 4.4.0
fast-glob: 3.3.3
js-yaml: 4.1.0
@@ -14015,8 +13757,6 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.0
'@jridgewell/sourcemap-codec': 1.5.0
- '@lobehub/icons-static-svg@1.30.0': {}
-
'@malept/cross-spawn-promise@1.1.1':
dependencies:
cross-spawn: 7.0.6
@@ -14699,6 +14439,8 @@ snapshots:
'@polka/url@1.0.0-next.24': {}
+ '@proj-airi/lobe-icons@0.3.6': {}
+
'@proj-airi/server-sdk@0.1.4':
dependencies:
'@proj-airi/server-shared': 0.1.4
@@ -15001,7 +14743,7 @@ snapshots:
'@stylistic/eslint-plugin@4.2.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)':
dependencies:
- '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)
+ '@typescript-eslint/utils': 8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)
eslint: 9.21.0(jiti@2.4.2)
eslint-visitor-keys: 4.2.0
espree: 10.3.0
@@ -15050,23 +14792,6 @@ snapshots:
'@tootallnate/once@2.0.0': {}
- '@tresjs/cientos@4.1.0(@tresjs/core@4.3.3(three@0.174.0)(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2)))(@types/three@0.174.0)(react@18.3.1)(three@0.174.0)(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2))':
- dependencies:
- '@tresjs/core': 4.3.3(three@0.174.0)(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2))
- '@vueuse/core': 12.8.2(typescript@5.8.2)
- camera-controls: 2.9.0(three@0.174.0)
- stats-gl: 2.4.2(@types/three@0.174.0)(three@0.174.0)
- stats.js: 0.17.0
- three: 0.174.0
- three-custom-shader-material: 5.4.0(react@18.3.1)(three@0.174.0)
- three-stdlib: 2.34.0(three@0.174.0)
- vue: 3.5.13(typescript@5.8.2)
- transitivePeerDependencies:
- - '@react-three/fiber'
- - '@types/three'
- - react
- - typescript
-
'@tresjs/cientos@4.2.0(@tresjs/core@4.3.3(three@0.174.0)(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2)))(@types/three@0.174.0)(react@18.3.1)(three@0.174.0)(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2))':
dependencies:
'@tresjs/core': 4.3.3(three@0.174.0)(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2))
@@ -15109,12 +14834,10 @@ snapshots:
'@types/aria-query@5.0.4': {}
- '@types/audioworklet@0.0.71': {}
-
'@types/babel__core@7.20.5':
dependencies:
'@babel/parser': 7.26.7
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
'@types/babel__generator': 7.6.8
'@types/babel__template': 7.4.4
'@types/babel__traverse': 7.20.6
@@ -15122,18 +14845,18 @@ snapshots:
'@types/babel__generator@7.6.8':
dependencies:
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
optional: true
'@types/babel__template@7.4.4':
dependencies:
'@babel/parser': 7.26.7
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
optional: true
'@types/babel__traverse@7.20.6':
dependencies:
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
optional: true
'@types/cacheable-request@6.0.3':
@@ -15344,7 +15067,7 @@ snapshots:
'@types/node-fetch@2.6.12':
dependencies:
- '@types/node': 18.19.79
+ '@types/node': 22.13.9
form-data: 4.0.0
'@types/node-rsa@1.1.4':
@@ -15366,10 +15089,6 @@ snapshots:
dependencies:
undici-types: 6.19.8
- '@types/node@22.13.8':
- dependencies:
- undici-types: 6.20.0
-
'@types/node@22.13.9':
dependencies:
undici-types: 6.20.0
@@ -15411,11 +15130,6 @@ snapshots:
'@types/statuses@2.0.5': {}
- '@types/tar@6.1.13':
- dependencies:
- '@types/node': 22.13.9
- minipass: 4.2.8
-
'@types/three@0.174.0':
dependencies:
'@tweenjs/tween.js': 23.1.3
@@ -15448,7 +15162,7 @@ snapshots:
'@types/yauzl@2.10.3':
dependencies:
- '@types/node': 22.13.8
+ '@types/node': 22.13.9
'@typescript-eslint/eslint-plugin@8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)':
dependencies:
@@ -15479,11 +15193,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.24.1':
- dependencies:
- '@typescript-eslint/types': 8.24.1
- '@typescript-eslint/visitor-keys': 8.24.1
-
'@typescript-eslint/scope-manager@8.26.0':
dependencies:
'@typescript-eslint/types': 8.26.0
@@ -15500,24 +15209,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.24.1': {}
-
'@typescript-eslint/types@8.26.0': {}
- '@typescript-eslint/typescript-estree@8.24.1(typescript@5.8.2)':
- dependencies:
- '@typescript-eslint/types': 8.24.1
- '@typescript-eslint/visitor-keys': 8.24.1
- debug: 4.4.0
- fast-glob: 3.3.3
- is-glob: 4.0.3
- minimatch: 9.0.5
- semver: 7.7.1
- ts-api-utils: 2.0.1(typescript@5.8.2)
- typescript: 5.8.2
- transitivePeerDependencies:
- - supports-color
-
'@typescript-eslint/typescript-estree@8.26.0(typescript@5.8.2)':
dependencies:
'@typescript-eslint/types': 8.26.0
@@ -15532,17 +15225,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)':
- dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2))
- '@typescript-eslint/scope-manager': 8.24.1
- '@typescript-eslint/types': 8.24.1
- '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.8.2)
- eslint: 9.21.0(jiti@2.4.2)
- typescript: 5.8.2
- transitivePeerDependencies:
- - supports-color
-
'@typescript-eslint/utils@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)':
dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2))
@@ -15554,11 +15236,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.24.1':
- dependencies:
- '@typescript-eslint/types': 8.24.1
- eslint-visitor-keys: 4.2.0
-
'@typescript-eslint/visitor-keys@8.26.0':
dependencies:
'@typescript-eslint/types': 8.26.0
@@ -15654,7 +15331,7 @@ snapshots:
'@unocss/eslint-plugin@66.1.0-beta.3(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)':
dependencies:
- '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)
+ '@typescript-eslint/utils': 8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)
'@unocss/config': 66.1.0-beta.3
'@unocss/core': 66.1.0-beta.3
'@unocss/rule-utils': 66.1.0-beta.3
@@ -15970,7 +15647,7 @@ snapshots:
dependencies:
'@vue-macros/common': 1.16.1(vue@3.5.13(typescript@5.8.2))
make-synchronized: 0.2.9
- unconfig: 7.1.0
+ unconfig: 7.3.0
transitivePeerDependencies:
- vue
@@ -16242,7 +15919,7 @@ snapshots:
'@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.26.0)
'@babel/template': 7.25.9
'@babel/traverse': 7.25.9
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
'@vue/babel-helper-vue-transform-on': 1.1.5
camelcase: 6.3.0
html-tags: 3.3.1
@@ -16296,7 +15973,7 @@ snapshots:
'@vue/devtools-kit': 7.7.2
'@vue/devtools-shared': 7.7.2
mitt: 3.0.1
- nanoid: 5.0.9
+ nanoid: 5.1.3
pathe: 2.0.3
vite-hot-client: 0.2.4(vite@6.2.1(@types/node@22.13.9)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))
vue: 3.5.13(typescript@5.8.2)
@@ -16343,19 +16020,6 @@ snapshots:
optionalDependencies:
typescript: 5.8.2
- '@vue/language-core@2.2.6(typescript@5.8.2)':
- dependencies:
- '@volar/language-core': 2.4.11
- '@vue/compiler-dom': 3.5.13
- '@vue/compiler-vue2': 2.7.16
- '@vue/shared': 3.5.13
- alien-signals: 1.0.3
- minimatch: 9.0.5
- muggle-string: 0.4.1
- path-browserify: 1.0.1
- optionalDependencies:
- typescript: 5.8.2
-
'@vue/language-core@2.2.8(typescript@5.8.2)':
dependencies:
'@volar/language-core': 2.4.11
@@ -16634,8 +16298,6 @@ snapshots:
ansi-styles@6.2.1: {}
- ansis@3.16.0: {}
-
ansis@3.17.0: {}
anymatch@3.1.3:
@@ -16686,7 +16348,7 @@ snapshots:
chromium-pickle-js: 0.2.0
debug: 4.4.0
dmg-builder: 24.13.3(electron-builder-squirrel-windows@24.13.3)
- ejs: 3.1.9
+ ejs: 3.1.10
electron-builder-squirrel-windows: 24.13.3(dmg-builder@24.13.3)
electron-publish: 24.13.1
form-data: 4.0.0
@@ -16964,14 +16626,6 @@ snapshots:
transitivePeerDependencies:
- debug
- axios@1.7.9:
- dependencies:
- follow-redirects: 1.15.9(debug@4.4.0)
- form-data: 4.0.0
- proxy-from-env: 1.1.0
- transitivePeerDependencies:
- - debug
-
axobject-query@4.1.0: {}
babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0):
@@ -17249,10 +16903,10 @@ snapshots:
call-bind@1.0.7:
dependencies:
- es-define-property: 1.0.0
+ es-define-property: 1.0.1
es-errors: 1.3.0
function-bind: 1.1.2
- get-intrinsic: 1.2.4
+ get-intrinsic: 1.3.0
set-function-length: 1.2.2
call-bound@1.0.3:
@@ -17329,7 +16983,7 @@ snapshots:
changelogithub@13.13.0(magicast@0.3.5):
dependencies:
- ansis: 3.16.0
+ ansis: 3.17.0
c12: 3.0.2(magicast@0.3.5)
cac: 6.7.14
changelogen: 0.5.7(magicast@0.3.5)
@@ -17350,29 +17004,6 @@ snapshots:
check-error@2.1.1: {}
- cheerio-select@2.1.0:
- dependencies:
- boolbase: 1.0.0
- css-select: 5.1.0
- css-what: 6.1.0
- domelementtype: 2.3.0
- domhandler: 5.0.3
- domutils: 3.1.0
-
- cheerio@1.0.0:
- dependencies:
- cheerio-select: 2.1.0
- dom-serializer: 2.0.0
- domhandler: 5.0.3
- domutils: 3.1.0
- encoding-sniffer: 0.2.0
- htmlparser2: 9.1.0
- parse5: 7.1.2
- parse5-htmlparser2-tree-adapter: 7.1.0
- parse5-parser-stream: 7.1.2
- undici: 6.21.1
- whatwg-mimetype: 4.0.0
-
chokidar@3.6.0:
dependencies:
anymatch: 3.1.3
@@ -17530,7 +17161,7 @@ snapshots:
compressible@2.0.18:
dependencies:
- mime-db: 1.52.0
+ mime-db: 1.53.0
compression@1.8.0:
dependencies:
@@ -17944,9 +17575,9 @@ snapshots:
define-data-property@1.1.4:
dependencies:
- es-define-property: 1.0.0
+ es-define-property: 1.0.1
es-errors: 1.3.0
- gopd: 1.0.1
+ gopd: 1.2.0
define-lazy-prop@2.0.0: {}
@@ -18147,10 +17778,6 @@ snapshots:
dependencies:
jake: 10.8.6
- ejs@3.1.9:
- dependencies:
- jake: 10.8.6
-
electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3):
dependencies:
app-builder-lib: 24.13.3(dmg-builder@24.13.3)(electron-builder-squirrel-windows@24.13.3)
@@ -18240,11 +17867,6 @@ snapshots:
encodeurl@2.0.0: {}
- encoding-sniffer@0.2.0:
- dependencies:
- iconv-lite: 0.6.3
- whatwg-encoding: 3.1.1
-
encoding@0.1.13:
dependencies:
iconv-lite: 0.6.3
@@ -18354,10 +17976,6 @@ snapshots:
unbox-primitive: 1.0.2
which-typed-array: 1.1.11
- es-define-property@1.0.0:
- dependencies:
- get-intrinsic: 1.2.4
-
es-define-property@1.0.1: {}
es-errors@1.3.0: {}
@@ -18654,8 +18272,8 @@ snapshots:
eslint-plugin-import-x@4.6.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2):
dependencies:
'@types/doctrine': 0.0.9
- '@typescript-eslint/scope-manager': 8.24.1
- '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)
+ '@typescript-eslint/scope-manager': 8.26.0
+ '@typescript-eslint/utils': 8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)
debug: 4.4.0
doctrine: 3.0.0
enhanced-resolve: 5.17.1
@@ -18718,8 +18336,8 @@ snapshots:
eslint-plugin-perfectionist@4.9.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2):
dependencies:
- '@typescript-eslint/types': 8.24.1
- '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)
+ '@typescript-eslint/types': 8.26.0
+ '@typescript-eslint/utils': 8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)
eslint: 9.21.0(jiti@2.4.2)
natural-orderby: 5.0.0
transitivePeerDependencies:
@@ -19207,8 +18825,6 @@ snapshots:
find-replace@5.0.2: {}
- find-up-simple@1.0.0: {}
-
find-up-simple@1.0.1: {}
find-up@4.1.0:
@@ -19363,14 +18979,6 @@ snapshots:
get-east-asian-width@1.2.0: {}
- get-intrinsic@1.2.4:
- dependencies:
- es-errors: 1.3.0
- function-bind: 1.1.2
- has-proto: 1.0.1
- has-symbols: 1.0.3
- hasown: 2.0.0
-
get-intrinsic@1.3.0:
dependencies:
call-bind-apply-helpers: 1.0.2
@@ -19523,10 +19131,6 @@ snapshots:
dependencies:
through2: 0.6.5
- gopd@1.0.1:
- dependencies:
- get-intrinsic: 1.2.4
-
gopd@1.2.0: {}
got@11.8.6:
@@ -19590,12 +19194,10 @@ snapshots:
has-property-descriptors@1.0.2:
dependencies:
- es-define-property: 1.0.0
+ es-define-property: 1.0.1
has-proto@1.0.1: {}
- has-symbols@1.0.3: {}
-
has-symbols@1.1.0: {}
has-tostringtag@1.0.0:
@@ -19612,10 +19214,6 @@ snapshots:
hash-sum@2.0.0:
optional: true
- hasown@2.0.0:
- dependencies:
- function-bind: 1.1.2
-
hasown@2.0.2:
dependencies:
function-bind: 1.1.2
@@ -19847,13 +19445,6 @@ snapshots:
domutils: 2.8.0
entities: 2.2.0
- htmlparser2@9.1.0:
- dependencies:
- domelementtype: 2.3.0
- domhandler: 5.0.3
- domutils: 3.1.0
- entities: 4.5.0
-
http-cache-semantics@4.1.1: {}
http-errors@2.0.0:
@@ -20039,7 +19630,7 @@ snapshots:
is-core-module@2.13.1:
dependencies:
- hasown: 2.0.0
+ hasown: 2.0.2
is-date-object@1.0.5:
dependencies:
@@ -20444,12 +20035,7 @@ snapshots:
dependencies:
mlly: 1.7.4
pkg-types: 1.3.1
-
- local-pkg@1.1.0:
- dependencies:
- mlly: 1.7.4
- pkg-types: 1.3.1
- quansync: 0.2.6
+ optional: true
local-pkg@1.1.1:
dependencies:
@@ -20569,7 +20155,7 @@ snapshots:
magicast@0.3.5:
dependencies:
'@babel/parser': 7.26.7
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
source-map-js: 1.2.1
make-dir@2.1.0:
@@ -21290,8 +20876,6 @@ snapshots:
dependencies:
yallist: 4.0.0
- minipass@4.2.8: {}
-
minipass@5.0.0: {}
minipass@7.1.2: {}
@@ -21346,8 +20930,6 @@ snapshots:
mri@1.2.0: {}
- mrmime@2.0.0: {}
-
mrmime@2.0.1: {}
ms@2.0.0: {}
@@ -21387,8 +20969,6 @@ snapshots:
nanoid@3.3.8: {}
- nanoid@5.0.9: {}
-
nanoid@5.1.3: {}
natural-compare@1.4.0: {}
@@ -21798,15 +21378,6 @@ snapshots:
parse-node-version@1.0.1:
optional: true
- parse5-htmlparser2-tree-adapter@7.1.0:
- dependencies:
- domhandler: 5.0.3
- parse5: 7.1.2
-
- parse5-parser-stream@7.1.2:
- dependencies:
- parse5: 7.1.2
-
parse5@7.1.2:
dependencies:
entities: 4.5.0
@@ -22227,7 +21798,7 @@ snapshots:
preferred-pm@4.1.1:
dependencies:
- find-up-simple: 1.0.0
+ find-up-simple: 1.0.1
find-yarn-workspace-root2: 1.2.16
which-pm: 3.0.1
@@ -22466,8 +22037,6 @@ snapshots:
forwarded: 0.2.0
ipaddr.js: 1.9.1
- proxy-from-env@1.1.0: {}
-
prr@1.0.1:
optional: true
@@ -22488,18 +22057,12 @@ snapshots:
qs@6.13.0:
dependencies:
- side-channel: 1.0.6
-
- qs@6.13.1:
- dependencies:
- side-channel: 1.0.6
+ side-channel: 1.1.0
qs@6.14.0:
dependencies:
side-channel: 1.1.0
- quansync@0.2.6: {}
-
quansync@0.2.8: {}
querystringify@2.2.0: {}
@@ -22520,7 +22083,7 @@ snapshots:
aria-hidden: 1.2.4
defu: 6.1.4
fast-deep-equal: 3.1.3
- nanoid: 5.0.9
+ nanoid: 5.1.3
vue: 3.5.13(typescript@5.8.2)
transitivePeerDependencies:
- '@vue/composition-api'
@@ -22577,7 +22140,7 @@ snapshots:
read-package-up@11.0.0:
dependencies:
- find-up-simple: 1.0.0
+ find-up-simple: 1.0.1
read-pkg: 9.0.1
type-fest: 4.33.0
@@ -23126,8 +22689,8 @@ snapshots:
define-data-property: 1.1.4
es-errors: 1.3.0
function-bind: 1.1.2
- get-intrinsic: 1.2.4
- gopd: 1.0.1
+ get-intrinsic: 1.3.0
+ gopd: 1.2.0
has-property-descriptors: 1.0.2
set-function-name@2.0.1:
@@ -23216,13 +22779,6 @@ snapshots:
object-inspect: 1.13.3
side-channel-map: 1.0.1
- side-channel@1.0.6:
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
- object-inspect: 1.13.3
-
side-channel@1.1.0:
dependencies:
es-errors: 1.3.0
@@ -23250,7 +22806,7 @@ snapshots:
sirv@3.0.1:
dependencies:
'@polka/url': 1.0.0-next.24
- mrmime: 2.0.0
+ mrmime: 2.0.1
totalist: 3.0.1
sisteransi@1.0.5: {}
@@ -23616,12 +23172,12 @@ snapshots:
taze@18.6.0:
dependencies:
'@antfu/ni': 23.3.1
- find-up-simple: 1.0.0
+ find-up-simple: 1.0.1
ofetch: 1.4.1
package-manager-detector: 0.2.9
pathe: 2.0.3
tinyexec: 0.3.2
- unconfig: 7.1.0
+ unconfig: 7.3.0
yaml: 2.7.0
yargs: 17.7.2
@@ -23791,7 +23347,7 @@ snapshots:
dependencies:
'@rollup/pluginutils': 5.1.4(rollup@2.79.1)
'@volar/language-core': 2.4.11
- '@vue/language-core': 2.2.6(typescript@5.8.2)
+ '@vue/language-core': 2.2.8(typescript@5.8.2)
muggle-string: 0.4.1
transitivePeerDependencies:
- rollup
@@ -23801,7 +23357,7 @@ snapshots:
dependencies:
'@rollup/pluginutils': 5.1.4(rollup@4.34.9)
'@volar/language-core': 2.4.11
- '@vue/language-core': 2.2.6(typescript@5.8.2)
+ '@vue/language-core': 2.2.8(typescript@5.8.2)
muggle-string: 0.4.1
transitivePeerDependencies:
- rollup
@@ -23952,12 +23508,6 @@ snapshots:
defu: 6.1.4
jiti: 2.4.2
- unconfig@7.1.0:
- dependencies:
- '@antfu/utils': 8.1.0
- defu: 6.1.4
- jiti: 2.4.2
-
unconfig@7.3.0:
dependencies:
'@antfu/utils': 9.1.0
@@ -24170,7 +23720,7 @@ snapshots:
unplugin-auto-import@19.1.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(@vueuse/core@12.8.2(typescript@5.8.2)):
dependencies:
- local-pkg: 1.1.0
+ local-pkg: 1.1.1
magic-string: 0.30.17
picomatch: 4.0.2
unimport: 4.1.2
@@ -24182,7 +23732,7 @@ snapshots:
unplugin-auto-import@19.1.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.34.9))(@vueuse/core@12.8.2(typescript@5.8.2)):
dependencies:
- local-pkg: 1.1.0
+ local-pkg: 1.1.1
magic-string: 0.30.17
picomatch: 4.0.2
unimport: 4.1.2
@@ -24215,7 +23765,7 @@ snapshots:
dependencies:
chokidar: 3.6.0
debug: 4.4.0
- local-pkg: 1.1.0
+ local-pkg: 1.1.1
magic-string: 0.30.17
mlly: 1.7.4
tinyglobby: 0.2.12
@@ -24232,7 +23782,7 @@ snapshots:
dependencies:
chokidar: 3.6.0
debug: 4.4.0
- local-pkg: 1.1.0
+ local-pkg: 1.1.1
magic-string: 0.30.17
mlly: 1.7.4
tinyglobby: 0.2.12
@@ -24410,7 +23960,7 @@ snapshots:
dependencies:
'@babel/core': 7.26.0
'@babel/standalone': 7.26.2
- '@babel/types': 7.26.7
+ '@babel/types': 7.26.9
defu: 6.1.4
jiti: 2.4.2
mri: 1.2.0
@@ -24442,7 +23992,7 @@ snapshots:
url@0.11.4:
dependencies:
punycode: 1.4.1
- qs: 6.13.1
+ qs: 6.14.0
utf-8-validate@5.0.10:
dependencies:
@@ -24596,7 +24146,7 @@ snapshots:
vite-plugin-inspect@11.0.0(vite@6.2.1(@types/node@22.13.9)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0)):
dependencies:
- ansis: 3.16.0
+ ansis: 3.17.0
debug: 4.4.0
error-stack-parser-es: 1.0.5
ohash: 2.0.5
@@ -24823,8 +24373,10 @@ snapshots:
whatwg-encoding@3.1.1:
dependencies:
iconv-lite: 0.6.3
+ optional: true
- whatwg-mimetype@4.0.0: {}
+ whatwg-mimetype@4.0.0:
+ optional: true
whatwg-url@14.0.0:
dependencies:
@@ -25077,12 +24629,6 @@ snapshots:
yallist@5.0.0: {}
- yaml-eslint-parser@1.2.3:
- dependencies:
- eslint-visitor-keys: 3.4.3
- lodash: 4.17.21
- yaml: 2.7.0
-
yaml-eslint-parser@1.3.0:
dependencies:
eslint-visitor-keys: 3.4.3