diff --git a/.github/workflows/release-tamagotchi.yml b/.github/workflows/release-tamagotchi.yml index f1a0634fa..8f0d46486 100644 --- a/.github/workflows/release-tamagotchi.yml +++ b/.github/workflows/release-tamagotchi.yml @@ -36,23 +36,42 @@ jobs: strategy: matrix: include: + - os: macos-13 artifact: darwin-x64 + target: x86_64-apple-darwin ext: dmg + - os: macos-latest artifact: darwin-arm64 + target: aarch64-apple-darwin ext: dmg + - os: ubuntu-latest artifact: linux-x64 + target: x86_64-unknown-linux-gnu ext: AppImage + - os: ubuntu-24.04-arm artifact: linux-arm64 + target: aarch64-unknown-linux-gnu ext: AppImage + - os: windows-latest artifact: windows-x64-setup + target: x86_64-pc-windows-msvc ext: exe + runs-on: ${{ matrix.os }} steps: + # Why? + # + # failed to build archive at `/home/runner/work/airi/airi/target/x86_64-unknown-linux-gnu/release/deps/libapp_lib.rlib`: + # No space left on device (os error 28) + - name: Free Disk Space + if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' + uses: jlumbroso/free-disk-space@main + - uses: actions/checkout@v5 - uses: pnpm/action-setup@v4 with: @@ -62,14 +81,98 @@ jobs: node-version: lts/* cache: pnpm - run: pnpm install --frozen-lockfile - - name: Build - run: | - pnpm run -F @proj-airi/stage-tamagotchi build + + - name: Build (Windows Only) + if: matrix.os == 'windows-latest' + run: pnpm run -F @proj-airi/stage-tamagotchi build:win + + - name: Build (macOS Only) + if: matrix.os == 'macos-13' || matrix.os == 'macos-latest' + run: pnpm run -F @proj-airi/stage-tamagotchi build:mac + + - name: Build (Linux Only) + if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' + run: pnpm run -F @proj-airi/stage-tamagotchi build:linux + - id: version run: | echo VERSION=$(node -p "JSON.parse(require('node:fs').readFileSync(require('node:path').join('apps', 'stage-tamagotchi', 'package.json')).toString('utf-8')).version") >> $GITHUB_ENV - - name: Upload To GitHub Releases + + # --------- + # Nightly (schedule) builds only + # --------- + - name: Get Name of Artifacts (Nightly + Windows Only) + if: ${{ github.event_name == 'schedule' && matrix.os == 'windows-latest' }} + run: | + pnpm -F @proj-airi/stage-tamagotchi name-of-artifacts ${{ matrix.target }} --out bundle_name + echo "BUNDLE_NAME=$(node -p "require('node:fs').readFileSync(require('node:path').join('apps', 'stage-tamagotchi', 'bundle_name')).toString('utf-8')")" >> $env:GITHUB_ENV + + - name: Get Name of Artifacts (Nightly) + if: ${{ github.event_name == 'schedule' && matrix.os != 'windows-latest' }} + run: | + pnpm -F @proj-airi/stage-tamagotchi name-of-artifacts ${{ matrix.target }} --out bundle_name + echo "BUNDLE_NAME=$(node -p "require('node:fs').readFileSync(require('node:path').join('apps', 'stage-tamagotchi', 'bundle_name')).toString('utf-8')")" >> $GITHUB_ENV + + - name: Rename Artifacts (Nightly) + if: ${{ github.event_name == 'schedule' }} + run: + pnpm run -F @proj-airi/stage-tamagotchi rename-artifacts ${{ matrix.target }} + + - name: Upload Artifacts (Nightly) + if: ${{ github.event_name == 'schedule' }} + uses: actions/upload-artifact@v4 + with: + name: ${{ env.BUNDLE_NAME }} + path: bundle/${{ env.BUNDLE_NAME }} + + # --------- + # Workflow Dispatch only + # --------- + + - name: Get Name of Artifacts (Manual + Windows Only) + if: ${{ github.event_name == 'workflow_dispatch' && matrix.os == 'windows-latest' }} + run: | + pnpm -F @proj-airi/stage-tamagotchi name-of-artifacts ${{ matrix.target }} --out bundle_name --release ${{ !inputs.build_only && !inputs.artifacts_only }} --tag ${{ inputs.tag }} --auto-tag ${{ !inputs.build_only }} + echo "BUNDLE_NAME=$(node -p "require('node:fs').readFileSync(require('node:path').join('apps', 'stage-tamagotchi', 'bundle_name')).toString('utf-8')")" >> $env:GITHUB_ENV + + - name: Get Name of Artifacts (Manual) + if: ${{ github.event_name == 'workflow_dispatch' && matrix.os != 'windows-latest' }} + run: | + pnpm -F @proj-airi/stage-tamagotchi name-of-artifacts ${{ matrix.target }} --out bundle_name --release ${{ !inputs.build_only && !inputs.artifacts_only }} --tag ${{ inputs.tag }} --auto-tag ${{ !inputs.build_only }} + echo "BUNDLE_NAME=$(node -p "require('node:fs').readFileSync(require('node:path').join('apps', 'stage-tamagotchi', 'bundle_name')).toString('utf-8')")" >> $GITHUB_ENV + + - name: Rename Artifacts (Manual) + if: ${{ github.event_name == 'workflow_dispatch' }} + run: | + pnpm run -F @proj-airi/stage-tamagotchi rename-artifacts ${{ matrix.target }} --release ${{ !inputs.build_only && !inputs.artifacts_only }} --tag ${{ inputs.tag }} --auto-tag ${{ !inputs.build_only }} + + - name: Upload Artifacts (Manual + Non-Release) + if: ${{ github.event_name == 'workflow_dispatch' && !inputs.build_only && inputs.artifacts_only }} + uses: actions/upload-artifact@v4 + with: + name: ${{ env.BUNDLE_NAME }} + path: bundle/${{ env.BUNDLE_NAME }} + + - name: Upload To GitHub Releases (Manual + Overwrite Release) + if: ${{ github.event_name == 'workflow_dispatch' && !inputs.build_only && !inputs.artifacts_only }} uses: softprops/action-gh-release@v2 with: - files: dist/AIRI-${{ steps.version.outputs.VERSION }}-${{ matrix.artifact }}.${{ matrix.ext }} - generate_release_notes: true + files: bundle/${{ env.PRODUCT_NAME }}_* + append_body: true + tag_name: ${{ inputs.tag }} + + # --------- + # Version push + # --------- + + - name: Rename Artifacts (Automatic) + if: ${{ github.event_name == 'release' }} + run: | + pnpm run -F @proj-airi/stage-tamagotchi rename-artifacts ${{ matrix.target }} --release --auto-tag + + - name: Upload To GitHub Releases (Automatic) + if: ${{ github.event_name == 'release' }} + uses: softprops/action-gh-release@v2 + with: + files: bundle/${{ env.PRODUCT_NAME }}_* + append_body: true diff --git a/apps/stage-tamagotchi/package.json b/apps/stage-tamagotchi/package.json index 6d0e51883..53d8504a8 100644 --- a/apps/stage-tamagotchi/package.json +++ b/apps/stage-tamagotchi/package.json @@ -21,7 +21,9 @@ "build:unpack": "pnpm run build && electron-builder --dir", "build:win": "pnpm run build && electron-builder --win", "build:mac": "pnpm run build && electron-builder --mac", - "build:linux": "pnpm run build && electron-builder --linux" + "build:linux": "pnpm run build && electron-builder --linux", + "rename-artifacts": "mkdir -p bundle && tsx scripts/rename-artifacts.ts", + "name-of-artifacts": "tsx scripts/name-of-artifacts.ts" }, "dependencies": { "@date-fns/utc": "^2.1.1", @@ -144,6 +146,7 @@ "vite-bundle-visualizer": "^1.2.1", "vite-plugin-vue-devtools": "^8.0.2", "vite-plugin-vue-layouts": "^0.11.0", - "vue-tsc": "^3.1.0" + "vue-tsc": "^3.1.0", + "yaml": "^2.8.1" } } diff --git a/apps/stage-tamagotchi/scripts/name-of-artifacts.ts b/apps/stage-tamagotchi/scripts/name-of-artifacts.ts new file mode 100644 index 000000000..be6b0a657 --- /dev/null +++ b/apps/stage-tamagotchi/scripts/name-of-artifacts.ts @@ -0,0 +1,60 @@ +import process from 'node:process' + +import { existsSync, mkdirSync, writeFileSync } from 'node:fs' +import { dirname } from 'node:path' + +import { cac } from 'cac' + +import { getFilename } from './utils' + +async function main() { + const cli = cac('name-of-artifact') + .option( + '--release', + 'Rename with version from package.json', + { default: false }, + ) + .option( + '--auto-tag', + 'Automatically tag the release with the latest git ref', + { default: false }, + ) + .option( + '--tag ', + 'Tag to use for the release', + { default: '', type: [String] }, + ) + .option( + '--out ', + 'Path to output the filename', + { default: '', type: [String] }, + ) + + const args = cli.parse() + + const argOptions = args.options as { + release: boolean + autoTag: boolean + tag: string[] + out: string[] + } + + const target = args.args[0] + const filename = await getFilename(target, argOptions) + if (argOptions.out[0]) { + if (!existsSync(dirname(argOptions.out[0]))) { + mkdirSync(dirname(argOptions.out[0]), { recursive: true }) + } + + writeFileSync(argOptions.out[0], filename, { encoding: 'utf-8' }) + } + else { + console.log(filename) + } +} + +main() + .catch((error) => { + console.error('Error during generating name:', error) + process.exit(1) + }) diff --git a/apps/stage-tamagotchi/scripts/rename-artifacts.ts b/apps/stage-tamagotchi/scripts/rename-artifacts.ts new file mode 100644 index 000000000..ed7cf0247 --- /dev/null +++ b/apps/stage-tamagotchi/scripts/rename-artifacts.ts @@ -0,0 +1,111 @@ +import process from 'node:process' + +import { mkdirSync, readdirSync, renameSync } from 'node:fs' +import { join } from 'node:path' + +import { cac } from 'cac' + +import packageJSON from '../package.json' assert { type: 'json' } + +import { getElectronBuilderConfig, getFilename, getVersion } from './utils' + +async function main() { + const cli = cac('rename-artifact') + .option( + '--release', + 'Rename with version from package.json', + { default: false }, + ) + .option( + '--auto-tag', + 'Automatically tag the release with the latest git ref', + { default: false }, + ) + .option( + '--tag ', + 'Tag to use for the release', + { default: '', type: [String] }, + ) + + const args = cli.parse() + + let version = packageJSON.version + const electronBuilderConfig = await getElectronBuilderConfig() + const target = args.args[0] + const productName = electronBuilderConfig.productName + const dirname = import.meta.dirname + + const beforeVersion = version + const beforeProductName = productName + + const argOptions = args.options as { + release: boolean + autoTag: boolean + tag: string[] + } + + version = await getVersion(argOptions) + + console.log('target:', target) + console.log('dirname', dirname) + console.log('version from:', beforeVersion, 'to:', version) + console.log('product name from:', beforeProductName, 'to:', productName) + + if (!target) { + throw new Error(' is required') + } + + const srcPrefix = join(dirname, '..', 'dist') + console.log('source directory:', srcPrefix) + const bundlePrefix = join(dirname, '..', 'bundle') + console.log('bundle directory:', bundlePrefix) + + console.log('renaming directory from:', srcPrefix) + console.log('renaming directory to:', bundlePrefix) + console.log(readdirSync(srcPrefix)) + + mkdirSync(bundlePrefix, { recursive: true }) + + let renameFrom = '' + let renameTo = '' + const filename = await getFilename(target, argOptions) + console.log(filename, 'is the target filename') + + switch (target) { + case 'x86_64-pc-windows-msvc': + renameFrom = join(srcPrefix, `${beforeProductName}-${beforeVersion}-windows-x64-setup.exe`) + renameTo = join(bundlePrefix, filename) + break + case 'x86_64-unknown-linux-gnu': + renameFrom = join(srcPrefix, 'appimage', `${beforeProductName}-${beforeVersion}-linux-amd64.AppImage`) + renameTo = join(bundlePrefix, filename) + break + case 'aarch64-unknown-linux-gnu': + renameFrom = join(srcPrefix, 'appimage', `${beforeProductName}-${beforeVersion}-linux-arm64.AppImage`) + renameTo = join(bundlePrefix, filename) + break + case 'aarch64-apple-darwin': + renameFrom = join(srcPrefix, `${beforeProductName}-${beforeVersion}-darwin-arm64.dmg`) + renameTo = join(bundlePrefix, filename) + break + case 'x86_64-apple-darwin': + renameFrom = join(srcPrefix, `${beforeProductName}-${beforeVersion}-darwin-x64.dmg`) + renameTo = join(bundlePrefix, filename) + break + default: + console.error('Target is not supported') + process.exit(1) + } + + console.log('renaming, from:', renameFrom, 'to:', renameTo) + renameSync(renameFrom, renameTo) +} + +main() + .then(() => { + console.log('Renaming completed successfully.') + }) + .catch((error) => { + console.error('Error during renaming:', error) + process.exit(1) + }) diff --git a/apps/stage-tamagotchi/scripts/utils.ts b/apps/stage-tamagotchi/scripts/utils.ts new file mode 100644 index 000000000..6abb446d3 --- /dev/null +++ b/apps/stage-tamagotchi/scripts/utils.ts @@ -0,0 +1,128 @@ +import type { Configuration } from 'electron-builder' + +import process from 'node:process' + +import { readFile } from 'node:fs/promises' +import { resolve } from 'node:path' + +import { execa } from 'execa' + +import * as yaml from 'yaml' + +import packageJSON from '../package.json' assert { type: 'json' } + +export async function getVersion(options: { release: boolean, autoTag: boolean, tag: string[] }) { + if (!options.release || !options.tag) { + // Otherwise, fetch from the latest git ref + const res = await execa('git', ['log', '-1', '--pretty=format:"%H"']) + const date = new Date().toISOString().split('T')[0].replace(/-/g, '') + return `nightly-${date}-${String(res.stdout.replace(/"/g, '')).trim().substring(0, 7)}` + } + + // If --release is specified, use the version from package.json + let version = packageJSON.version + + // If --tag is specified, use the provided tag + if (options.tag[0] !== 'true') { + version = String(options.tag[0]).replace(/^v/, '').trim() + } + // Otherwise, even for --tag option (true / enabled), ignore the input + else { + version = '' + } + + if (version) { + return version + } + + // If no version is provided and --auto-tag is not specified, throw an error + if (!options.autoTag) { + throw new Error('Tag cannot be empty when --release is specified') + } + + // Now, only auto-tag & release && non-specific tag is the only possibility, + // fetch the latest git ref + try { + const res = await execa('git', ['describe', '--tags', '--abbrev=0']) + return String(res.stdout).replace(/^v/, '').trim() + } + catch { + // If no tags exist, fall back to package.json version + console.warn('No git tags found, falling back to package.json version') + return packageJSON.version + } +} + +export async function getElectronBuilderConfig() { + return yaml.parse(await readFile(resolve(import.meta.dirname, '..', 'electron-builder.yml'), 'utf-8')) as Configuration +} + +export async function getFilename(target: string, options: { release: boolean, autoTag: boolean, tag: string[] }) { + const electronBuilder = await getElectronBuilderConfig() + const version = await getVersion(options) + + if (!target) { + throw new Error(' is required') + } + + switch (target) { + case 'x86_64-pc-windows-msvc': + + return electronBuilder.nsis?.artifactName + // eslint-disable-next-line no-template-curly-in-string + ?.replace('${productName}', electronBuilder.productName!) + // eslint-disable-next-line no-template-curly-in-string + .replace('${version}', version) + // eslint-disable-next-line no-template-curly-in-string + .replace('${arch}', 'x64') + // eslint-disable-next-line no-template-curly-in-string + .replace('${ext}', 'exe') ?? `${electronBuilder.productName}-${version}-windows-x64-setup.exe` + break + case 'x86_64-unknown-linux-gnu': + return electronBuilder.linux?.artifactName + // eslint-disable-next-line no-template-curly-in-string + ?.replace('${productName}', electronBuilder.productName!) + // eslint-disable-next-line no-template-curly-in-string + .replace('${version}', version) + // eslint-disable-next-line no-template-curly-in-string + .replace('${arch}', 'x64') + // eslint-disable-next-line no-template-curly-in-string + .replace('${ext}', 'AppImage') ?? `${electronBuilder.productName}-${version}-linux-amd64.AppImage` + break + case 'aarch64-unknown-linux-gnu': + return electronBuilder.linux?.artifactName + // eslint-disable-next-line no-template-curly-in-string + ?.replace('${productName}', electronBuilder.productName!) + // eslint-disable-next-line no-template-curly-in-string + .replace('${version}', version) + // eslint-disable-next-line no-template-curly-in-string + .replace('${arch}', 'arm64') + // eslint-disable-next-line no-template-curly-in-string + .replace('${ext}', 'AppImage') ?? `${electronBuilder.productName}-${version}-linux-arm64.AppImage` + break + case 'aarch64-apple-darwin': + return electronBuilder.dmg?.artifactName + // eslint-disable-next-line no-template-curly-in-string + ?.replace('${productName}', electronBuilder.productName!) + // eslint-disable-next-line no-template-curly-in-string + .replace('${version}', version) + // eslint-disable-next-line no-template-curly-in-string + .replace('${arch}', 'arm64') + // eslint-disable-next-line no-template-curly-in-string + .replace('${ext}', 'dmg') ?? `${electronBuilder.productName}-${version}-darwin-arm64.dmg` + break + case 'x86_64-apple-darwin': + return electronBuilder.dmg?.artifactName + // eslint-disable-next-line no-template-curly-in-string + ?.replace('${productName}', electronBuilder.productName!) + // eslint-disable-next-line no-template-curly-in-string + .replace('${version}', version) + // eslint-disable-next-line no-template-curly-in-string + .replace('${arch}', 'x64') + // eslint-disable-next-line no-template-curly-in-string + .replace('${ext}', 'dmg') ?? `${electronBuilder.productName}-${version}-darwin-x64.dmg` + default: + console.error('Target is not supported') + process.exit(1) + } +} diff --git a/package.json b/package.json index 5fbb64de6..459dcc8ba 100644 --- a/package.json +++ b/package.json @@ -18,9 +18,7 @@ "dev:ui": "pnpm -rF @proj-airi/stage-ui run story:dev", "dev:web": "pnpm -rF @proj-airi/stage-web run dev", "dev:server": "pnpm -rF @proj-airi/server-runtime run dev", - "dev:tamagotchi": "tsx apps/stage-tamagotchi/scripts/dev-with-server.ts", - "dev:tamagotchi:app-only": "pnpm -rF @proj-airi/stage-tamagotchi run app:dev", - "dev:tamagotchi-electron": "pnpm -rF @proj-airi/stage-tamagotchi-electron run app:dev", + "dev:tamagotchi": "pnpm -rF @proj-airi/stage-tamagotchi run dev", "dev:apps": "pnpm -rF=\"./apps/*\" run --parallel dev", "dev:packages": "pnpm -rF=\"./packages/*\" --parallel run dev", "build": "turbo run build -F=\"./packages/*\" -F=\"./apps/*\"", @@ -72,7 +70,8 @@ "unplugin-vue": "^7.0.1", "vite": "^7.1.9", "vite-plugin-inspect": "^11.3.3", - "vitest": "^3.2.4" + "vitest": "^3.2.4", + "yaml": "^2.8.1" }, "workspaces": [ "packages/**", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 93fcb99c0..d528381cf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -175,6 +175,9 @@ importers: vitest: specifier: ^3.2.4 version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.2)(jiti@2.5.1)(jsdom@25.0.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(less@4.4.1)(lightningcss@1.30.2)(msw@2.7.3(@types/node@24.6.2)(typescript@5.9.3))(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) + yaml: + specifier: ^2.8.1 + version: 2.8.1 apps/component-calling: dependencies: @@ -600,6 +603,9 @@ importers: vue-tsc: specifier: ^3.1.0 version: 3.1.0(typescript@5.9.3) + yaml: + specifier: ^2.8.1 + version: 2.8.1 apps/stage-web: dependencies: @@ -990,7 +996,7 @@ importers: version: 11.1.12(vue@3.5.22(typescript@5.9.3)) vue-sonner: specifier: ^2.0.9 - version: 2.0.9(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.1.9(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1)) + version: 2.0.9(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.1.9(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1)) devDependencies: '@iconify-json/lucide': specifier: ^1.2.68 @@ -1066,7 +1072,7 @@ importers: version: 0.1.3 unplugin-yaml: specifier: ^3.0.6 - version: 3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.6.2)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(vite@7.1.9(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.6.2)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(vite@7.1.9(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) vitepress: specifier: ^2.0.0-alpha.12 version: 2.0.0-alpha.12(@types/node@24.6.2)(change-case@5.4.4)(fuse.js@7.1.0)(jiti@2.5.1)(jwt-decode@4.0.0)(less@4.4.1)(lightningcss@1.30.2)(nprogress@0.2.0)(postcss@8.5.6)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1) @@ -1109,7 +1115,7 @@ importers: devDependencies: unplugin-yaml: specifier: ^3.0.6 - version: 3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.6.2)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(vite@7.1.9(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.6.2)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(vite@7.1.9(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) packages/memory-pgvector: dependencies: @@ -1480,7 +1486,7 @@ importers: version: 4.5.1(vue@3.5.22(typescript@5.9.3)) vue-sonner: specifier: ^2.0.9 - version: 2.0.9(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1)) + version: 2.0.9(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1)) vue-tsc: specifier: ^3.1.0 version: 3.1.0(typescript@5.9.3) @@ -1589,7 +1595,7 @@ importers: version: 1.2.4(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(esbuild@0.25.9)(rollup@4.52.4)(vite@6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) unplugin-yaml: specifier: ^3.0.6 - version: 3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.6.2)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(vite@6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.6.2)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(vite@6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) vite: specifier: ^6.3.6 version: 6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) @@ -1741,7 +1747,7 @@ importers: version: rolldown-vite@7.1.15(@types/node@24.6.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) vite-plugin-vue-devtools: specifier: ^8.0.2 - version: 8.0.2(@nuxt/kit@4.0.3(magicast@0.3.5))(rolldown-vite@7.1.15(@types/node@24.6.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) + version: 8.0.2(rolldown-vite@7.1.15(@types/node@24.6.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) vue-router: specifier: ^4.5.1 version: 4.5.1(vue@3.5.22(typescript@5.9.3)) @@ -1775,7 +1781,7 @@ importers: version: rolldown-vite@7.1.15(@types/node@24.6.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) vite-plugin-vue-devtools: specifier: ^8.0.2 - version: 8.0.2(@nuxt/kit@4.0.3(magicast@0.3.5))(rolldown-vite@7.1.15(@types/node@24.6.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) + version: 8.0.2(rolldown-vite@7.1.15(@types/node@24.6.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) vue-router: specifier: ^4.5.1 version: 4.5.1(vue@3.5.22(typescript@5.9.3)) @@ -15914,7 +15920,7 @@ snapshots: '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.36.0(jiti@2.5.1)) '@eslint/markdown': 7.2.0 '@stylistic/eslint-plugin': 5.4.0(eslint@9.36.0(jiti@2.5.1)) - '@typescript-eslint/eslint-plugin': 8.44.1(@typescript-eslint/parser@8.42.0(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.44.1(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3) '@typescript-eslint/parser': 8.44.1(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3) '@vitest/eslint-plugin': 1.3.13(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.6.2)(jiti@2.5.1)(jsdom@25.0.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(less@4.4.1)(lightningcss@1.30.2)(msw@2.7.3(@types/node@24.6.2)(typescript@5.9.3))(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) ansis: 4.2.0 @@ -21117,10 +21123,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.44.1(@typescript-eslint/parser@8.42.0(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.44.1(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.42.0(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.44.1(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.44.1 '@typescript-eslint/type-utils': 8.44.1(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3) '@typescript-eslint/utils': 8.44.1(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3) @@ -25058,7 +25064,7 @@ snapshots: dependencies: eslint: 9.36.0(jiti@2.5.1) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.44.1(@typescript-eslint/parser@8.42.0(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.44.1(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3) eslint-plugin-vue@10.4.0(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.5.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.5.1))(vue-eslint-parser@10.2.0(eslint@9.36.0(jiti@2.5.1))): dependencies: @@ -28474,7 +28480,7 @@ snapshots: - yaml optional: true - nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1): + nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1): dependencies: '@nuxt/cli': 3.28.0(magicast@0.3.5) '@nuxt/devalue': 2.0.2 @@ -28599,7 +28605,7 @@ snapshots: - yaml optional: true - nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.1.9(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1): + nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.1.9(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1): dependencies: '@nuxt/cli': 3.28.0(magicast@0.3.5) '@nuxt/devalue': 2.0.2 @@ -32120,7 +32126,7 @@ snapshots: rollup: 4.52.4 vite: rolldown-vite@7.1.15(@types/node@24.6.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) - unplugin-yaml@3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.6.2)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(vite@6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): + unplugin-yaml@3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.6.2)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(vite@6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): dependencies: '@rollup/pluginutils': 5.3.0(rollup@4.52.4) unplugin: 2.3.10 @@ -32134,7 +32140,7 @@ snapshots: rollup: 4.52.4 vite: 6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) - unplugin-yaml@3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.6.2)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(vite@7.1.9(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): + unplugin-yaml@3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.6.2)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(vite@7.1.9(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): dependencies: '@rollup/pluginutils': 5.3.0(rollup@4.52.4) unplugin: 2.3.10 @@ -32458,7 +32464,6 @@ snapshots: '@nuxt/kit': 3.18.1(magicast@0.3.5) transitivePeerDependencies: - supports-color - optional: true vite-plugin-inspect@11.3.3(@nuxt/kit@3.18.1(magicast@0.3.5))(vite@6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): dependencies: @@ -32538,6 +32543,21 @@ snapshots: - supports-color - vue + vite-plugin-vue-devtools@8.0.2(rolldown-vite@7.1.15(@types/node@24.6.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)): + dependencies: + '@vue/devtools-core': 8.0.2(rolldown-vite@7.1.15(@types/node@24.6.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) + '@vue/devtools-kit': 8.0.2 + '@vue/devtools-shared': 8.0.2 + execa: 9.6.0 + sirv: 3.0.2 + vite: rolldown-vite@7.1.15(@types/node@24.6.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) + vite-plugin-inspect: 11.3.3(@nuxt/kit@3.18.1(magicast@0.3.5))(rolldown-vite@7.1.15(@types/node@24.6.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) + vite-plugin-vue-inspector: 5.3.2(rolldown-vite@7.1.15(@types/node@24.6.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) + transitivePeerDependencies: + - '@nuxt/kit' + - supports-color + - vue + vite-plugin-vue-inspector@5.3.2(rolldown-vite@7.1.15(@types/node@24.6.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): dependencies: '@babel/core': 7.28.3 @@ -32789,17 +32809,17 @@ snapshots: '@nuxt/schema': 4.0.3 nuxt: 4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown-vite@7.1.15(@types/node@24.6.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.41)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1) - vue-sonner@2.0.9(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1)): + vue-sonner@2.0.9(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1)): optionalDependencies: '@nuxt/kit': 4.0.3(magicast@0.3.5) '@nuxt/schema': 4.0.3 - nuxt: 4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1) + nuxt: 4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@6.3.6(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1) - vue-sonner@2.0.9(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.1.9(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1)): + vue-sonner@2.0.9(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.1.9(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1)): optionalDependencies: '@nuxt/kit': 4.0.3(magicast@0.3.5) '@nuxt/schema': 4.0.3 - nuxt: 4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.1.9(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1) + nuxt: 4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.6(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.41)(rollup@4.52.4)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.1.9(@types/node@24.6.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.0(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.1) vue-tsc@3.0.8(typescript@5.9.3): dependencies: