diff --git a/.env.example b/.env.example index 3998101fa..5d1f5c702 100644 --- a/.env.example +++ b/.env.example @@ -37,7 +37,20 @@ DREAMSYNC_MAPPING_DB_PATH="/path/to/dreamsync/mapping/db" GROUP_CHARTER_MAPPING_DB_PATH=/path/to/charter/mapping/db CERBERUS_MAPPING_DB_PATH=/path/to/cerberus/mapping/db -GOOGLE_APPLICATION_CREDENTIALS="/path/to/firebase-secrets.json" +GOOGLE_APPLICATION_CREDENTIALS="/Users/sosweetham/projs/metastate/prototype/secrets/eid-w-firebase-adminsdk.json" + +# Notification Trigger (APNS/FCM toy platform) +NOTIFICATION_TRIGGER_PORT=3998 +# Full URL for control panel proxy (optional; defaults to http://localhost:NOTIFICATION_TRIGGER_PORT) +NOTIFICATION_TRIGGER_URL=http://localhost:3998 +# APNS (iOS) - from Apple Developer +APNS_KEY_PATH="/Users/sosweetham/projs/metastate/prototype/secrets/AuthKey_A3BBXD9YR3.p8" +APNS_KEY_ID="A3BBXD9YR3" +APNS_TEAM_ID="M49C8XS835" +APNS_BUNDLE_ID="com.example.app" +APNS_PRODUCTION=false +# Broadcast push (Live Activities) - base64 channel ID +APNS_BROADCAST_CHANNEL_ID=znbhuBJCEfEAAMIJbS9xUw== #PUBLIC_REGISTRY_URL="https://registry.w3ds.metastate.foundation" #PUBLIC_PROVISIONER_URL="https://provisioner.w3ds.metastate.foundation" diff --git a/infrastructure/control-panel/.env.example b/infrastructure/control-panel/.env.example index 2e5a24e16..6d28f4804 100644 --- a/infrastructure/control-panel/.env.example +++ b/infrastructure/control-panel/.env.example @@ -5,3 +5,6 @@ LOKI_PASSWORD=admin # Registry Configuration PUBLIC_REGISTRY_URL=https://registry.staging.metastate.foundation + +# Notification Trigger (for Notifications tab proxy) +NOTIFICATION_TRIGGER_URL=http://localhost:3998 diff --git a/infrastructure/control-panel/src/lib/services/notificationService.ts b/infrastructure/control-panel/src/lib/services/notificationService.ts new file mode 100644 index 000000000..cfad78ab3 --- /dev/null +++ b/infrastructure/control-panel/src/lib/services/notificationService.ts @@ -0,0 +1,132 @@ +import { env } from '$env/dynamic/private'; + +export interface NotificationPayload { + title: string; + body: string; + subtitle?: string; + data?: Record; + sound?: string; + badge?: number; + clickAction?: string; +} + +export interface SendNotificationRequest { + token: string; + platform?: 'ios' | 'android'; + payload: NotificationPayload; +} + +export interface SendResult { + success: boolean; + error?: string; +} + +function getBaseUrl(): string { + const url = env.NOTIFICATION_TRIGGER_URL; + if (url) return url; + const port = env.NOTIFICATION_TRIGGER_PORT || '3998'; + return `http://localhost:${port}`; +} + +export async function sendNotification( + request: SendNotificationRequest +): Promise { + const baseUrl = getBaseUrl(); + try { + const response = await fetch(`${baseUrl}/api/send`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(request), + signal: AbortSignal.timeout(15000) + }); + const data = await response.json(); + if (data.success) return { success: true }; + return { success: false, error: data.error ?? 'Unknown error' }; + } catch (err) { + return { + success: false, + error: err instanceof Error ? err.message : 'Request failed' + }; + } +} + +export async function getDevicesWithTokens(): Promise< + { token: string; platform: string; eName: string }[] +> { + const { env } = await import('$env/dynamic/private'); + const provisionerUrl = + env.PUBLIC_PROVISIONER_URL || env.PROVISIONER_URL || 'http://localhost:3001'; + try { + const response = await fetch(`${provisionerUrl}/api/devices/list`, { + signal: AbortSignal.timeout(10000) + }); + if (!response.ok) throw new Error(`HTTP ${response.status}`); + const data = await response.json(); + return data.devices ?? []; + } catch (err) { + console.error('Failed to fetch devices:', err); + return []; + } +} + +export async function getDevicesByEName(eName: string): Promise< + { token: string; platform: string; eName: string }[] +> { + const { env } = await import('$env/dynamic/private'); + const provisionerUrl = + env.PUBLIC_PROVISIONER_URL || env.PROVISIONER_URL || 'http://localhost:3001'; + try { + const response = await fetch( + `${provisionerUrl}/api/devices/by-ename/${encodeURIComponent(eName)}`, + { signal: AbortSignal.timeout(10000) } + ); + if (!response.ok) throw new Error(`HTTP ${response.status}`); + const data = await response.json(); + return data.devices ?? []; + } catch (err) { + console.error('Failed to fetch devices by eName:', err); + return []; + } +} + +export async function sendBulkNotifications( + tokens: string[], + payload: NotificationPayload, + platform?: 'ios' | 'android' +): Promise<{ sent: number; failed: number; errors: { token: string; error: string }[] }> { + const results = await Promise.all( + tokens.map(async (token) => { + const result = await sendNotification({ + token: token.trim(), + platform, + payload + }); + return { token: token.trim(), ...result }; + }) + ); + + const sent = results.filter((r) => r.success).length; + const failed = results.filter((r) => !r.success); + return { + sent, + failed: failed.length, + errors: failed.map((r) => ({ token: r.token.slice(0, 20) + '...', error: r.error ?? 'Unknown' })) + }; +} + +export async function checkNotificationTriggerHealth(): Promise<{ + ok: boolean; + apns: boolean; + fcm: boolean; +}> { + const baseUrl = getBaseUrl(); + try { + const response = await fetch(`${baseUrl}/api/health`, { + signal: AbortSignal.timeout(5000) + }); + const data = await response.json(); + return { ok: data.ok ?? false, apns: data.apns ?? false, fcm: data.fcm ?? false }; + } catch { + return { ok: false, apns: false, fcm: false }; + } +} diff --git a/infrastructure/control-panel/src/routes/+layout.svelte b/infrastructure/control-panel/src/routes/+layout.svelte index 812f6fd26..7cc102df7 100644 --- a/infrastructure/control-panel/src/routes/+layout.svelte +++ b/infrastructure/control-panel/src/routes/+layout.svelte @@ -12,7 +12,8 @@ const navLinks = [ { label: 'Dashboard', href: '/' }, { label: 'Monitoring', href: '/monitoring' }, - { label: 'Actions', href: '/actions' } + { label: 'Actions', href: '/actions' }, + { label: 'Notifications', href: '/notifications' } ]; const isActive = (href: string) => (href === '/' ? pageUrl === '/' : pageUrl.startsWith(href)); diff --git a/infrastructure/control-panel/src/routes/api/notifications/devices-count/+server.ts b/infrastructure/control-panel/src/routes/api/notifications/devices-count/+server.ts new file mode 100644 index 000000000..a50f85e3a --- /dev/null +++ b/infrastructure/control-panel/src/routes/api/notifications/devices-count/+server.ts @@ -0,0 +1,12 @@ +import { json } from '@sveltejs/kit'; +import type { RequestHandler } from '@sveltejs/kit'; +import { getDevicesWithTokens } from '$lib/services/notificationService'; + +export const GET: RequestHandler = async () => { + try { + const devices = await getDevicesWithTokens(); + return json({ count: devices.length }); + } catch { + return json({ count: 0 }); + } +}; diff --git a/infrastructure/control-panel/src/routes/api/notifications/health/+server.ts b/infrastructure/control-panel/src/routes/api/notifications/health/+server.ts new file mode 100644 index 000000000..df479263e --- /dev/null +++ b/infrastructure/control-panel/src/routes/api/notifications/health/+server.ts @@ -0,0 +1,12 @@ +import { json } from '@sveltejs/kit'; +import type { RequestHandler } from '@sveltejs/kit'; +import { checkNotificationTriggerHealth } from '$lib/services/notificationService'; + +export const GET: RequestHandler = async () => { + try { + const health = await checkNotificationTriggerHealth(); + return json(health); + } catch { + return json({ ok: false, apns: false, fcm: false }); + } +}; diff --git a/infrastructure/control-panel/src/routes/api/notifications/send-bulk-all/+server.ts b/infrastructure/control-panel/src/routes/api/notifications/send-bulk-all/+server.ts new file mode 100644 index 000000000..cb9439707 --- /dev/null +++ b/infrastructure/control-panel/src/routes/api/notifications/send-bulk-all/+server.ts @@ -0,0 +1,61 @@ +import { json } from '@sveltejs/kit'; +import type { RequestHandler } from '@sveltejs/kit'; +import { + getDevicesWithTokens, + sendBulkNotifications +} from '$lib/services/notificationService'; + +export const POST: RequestHandler = async ({ request }) => { + try { + const body = await request.json(); + const { payload } = body; + + if (!payload?.title || !payload?.body) { + return json( + { success: false, error: 'Missing payload.title or payload.body' }, + { status: 400 } + ); + } + + const devices = await getDevicesWithTokens(); + const tokens = devices.map((d) => d.token); + + if (tokens.length === 0) { + return json( + { + success: false, + error: 'No registered devices with push tokens found' + }, + { status: 400 } + ); + } + + const result = await sendBulkNotifications( + tokens, + { + title: String(payload.title), + body: String(payload.body), + subtitle: payload.subtitle ? String(payload.subtitle) : undefined, + data: payload.data, + sound: payload.sound ? String(payload.sound) : undefined, + badge: payload.badge !== undefined ? Number(payload.badge) : undefined, + clickAction: payload.clickAction ? String(payload.clickAction) : undefined + } + // platform auto-detected per token + ); + + return json({ + success: true, + sent: result.sent, + failed: result.failed, + total: tokens.length, + errors: result.errors + }); + } catch (err) { + console.error('Bulk-all send error:', err); + return json( + { success: false, error: err instanceof Error ? err.message : 'Internal error' }, + { status: 500 } + ); + } +}; diff --git a/infrastructure/control-panel/src/routes/api/notifications/send-bulk/+server.ts b/infrastructure/control-panel/src/routes/api/notifications/send-bulk/+server.ts new file mode 100644 index 000000000..530b17b50 --- /dev/null +++ b/infrastructure/control-panel/src/routes/api/notifications/send-bulk/+server.ts @@ -0,0 +1,55 @@ +import { json } from '@sveltejs/kit'; +import type { RequestHandler } from '@sveltejs/kit'; +import { sendBulkNotifications } from '$lib/services/notificationService'; + +export const POST: RequestHandler = async ({ request }) => { + try { + const body = await request.json(); + const { tokens, platform, payload } = body; + + if (!Array.isArray(tokens) || tokens.length === 0) { + return json({ success: false, error: 'tokens must be a non-empty array' }, { status: 400 }); + } + if (!payload?.title || !payload?.body) { + return json( + { success: false, error: 'Missing payload.title or payload.body' }, + { status: 400 } + ); + } + + const validTokens = tokens + .filter((t: unknown) => typeof t === 'string' && t.trim().length > 0) + .map((t: string) => t.trim()); + + if (validTokens.length === 0) { + return json({ success: false, error: 'No valid tokens' }, { status: 400 }); + } + + const result = await sendBulkNotifications( + validTokens, + { + title: String(payload.title), + body: String(payload.body), + subtitle: payload.subtitle ? String(payload.subtitle) : undefined, + data: payload.data, + sound: payload.sound ? String(payload.sound) : undefined, + badge: payload.badge !== undefined ? Number(payload.badge) : undefined, + clickAction: payload.clickAction ? String(payload.clickAction) : undefined + }, + platform && ['ios', 'android'].includes(platform) ? platform : undefined + ); + + return json({ + success: true, + sent: result.sent, + failed: result.failed, + errors: result.errors + }); + } catch (err) { + console.error('Bulk notification send error:', err); + return json( + { success: false, error: err instanceof Error ? err.message : 'Internal error' }, + { status: 500 } + ); + } +}; diff --git a/infrastructure/control-panel/src/routes/api/notifications/send-by-ename/+server.ts b/infrastructure/control-panel/src/routes/api/notifications/send-by-ename/+server.ts new file mode 100644 index 000000000..81e0d2d2f --- /dev/null +++ b/infrastructure/control-panel/src/routes/api/notifications/send-by-ename/+server.ts @@ -0,0 +1,63 @@ +import { json } from '@sveltejs/kit'; +import type { RequestHandler } from '@sveltejs/kit'; +import { + getDevicesByEName, + sendBulkNotifications +} from '$lib/services/notificationService'; + +export const POST: RequestHandler = async ({ request }) => { + try { + const body = await request.json(); + const { eName, payload } = body; + + if (!eName || typeof eName !== 'string' || !eName.trim()) { + return json( + { success: false, error: 'Missing or invalid eName' }, + { status: 400 } + ); + } + if (!payload?.title || !payload?.body) { + return json( + { success: false, error: 'Missing payload.title or payload.body' }, + { status: 400 } + ); + } + + const devices = await getDevicesByEName(eName.trim()); + const tokens = devices.map((d) => d.token); + + if (tokens.length === 0) { + return json( + { + success: false, + error: `No devices with push tokens found for eName: ${eName}` + }, + { status: 400 } + ); + } + + const result = await sendBulkNotifications(tokens, { + title: String(payload.title), + body: String(payload.body), + subtitle: payload.subtitle ? String(payload.subtitle) : undefined, + data: payload.data, + sound: payload.sound ? String(payload.sound) : undefined, + badge: payload.badge !== undefined ? Number(payload.badge) : undefined, + clickAction: payload.clickAction ? String(payload.clickAction) : undefined + }); + + return json({ + success: true, + sent: result.sent, + failed: result.failed, + total: tokens.length, + errors: result.errors + }); + } catch (err) { + console.error('Send by eName error:', err); + return json( + { success: false, error: err instanceof Error ? err.message : 'Internal error' }, + { status: 500 } + ); + } +}; diff --git a/infrastructure/control-panel/src/routes/api/notifications/send/+server.ts b/infrastructure/control-panel/src/routes/api/notifications/send/+server.ts new file mode 100644 index 000000000..88dc6d655 --- /dev/null +++ b/infrastructure/control-panel/src/routes/api/notifications/send/+server.ts @@ -0,0 +1,45 @@ +import { json } from '@sveltejs/kit'; +import type { RequestHandler } from '@sveltejs/kit'; +import { sendNotification } from '$lib/services/notificationService'; + +export const POST: RequestHandler = async ({ request }) => { + try { + const body = await request.json(); + const { token, platform, payload } = body; + + if (!token || typeof token !== 'string') { + return json({ success: false, error: 'Missing or invalid token' }, { status: 400 }); + } + if (!payload?.title || !payload?.body) { + return json( + { success: false, error: 'Missing payload.title or payload.body' }, + { status: 400 } + ); + } + + const result = await sendNotification({ + token: token.trim(), + platform, + payload: { + title: String(payload.title), + body: String(payload.body), + subtitle: payload.subtitle ? String(payload.subtitle) : undefined, + data: payload.data, + sound: payload.sound ? String(payload.sound) : undefined, + badge: payload.badge !== undefined ? Number(payload.badge) : undefined, + clickAction: payload.clickAction ? String(payload.clickAction) : undefined + } + }); + + if (result.success) { + return json({ success: true, message: 'Notification sent' }); + } + return json({ success: false, error: result.error }, { status: 500 }); + } catch (err) { + console.error('Notification send error:', err); + return json( + { success: false, error: err instanceof Error ? err.message : 'Internal error' }, + { status: 500 } + ); + } +}; diff --git a/infrastructure/control-panel/src/routes/notifications/+page.svelte b/infrastructure/control-panel/src/routes/notifications/+page.svelte new file mode 100644 index 000000000..2e3c74c90 --- /dev/null +++ b/infrastructure/control-panel/src/routes/notifications/+page.svelte @@ -0,0 +1,406 @@ + + +
+
+

Notifications

+

+ Send push notifications via APNS (iOS) and FCM (Android). Platform is auto-detected from + token format when not specified. +

+ {#if health} +
+ Trigger: {health.ok ? 'Connected' : 'Not connected'} + {#if health.ok} + APNS: {health.apns ? '✓' : '✗'} + FCM: {health.fcm ? '✓' : '✗'} + {/if} +
+ {/if} +
+ + +
+

Send single notification

+
+
+ + + {#if platformHint} +

Detected: {platformHint}

+ {/if} +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + Send + +
+
+ + +
+

Send by eName

+

+ Send to all devices registered for a specific eName (e.g. @user-id). +

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + Send to eName + +
+
+ + +
+

Send to all registered devices

+

+ One-button push to every device with a registered push token (from provisioner). +

+ {#if deviceCount !== null} +

+ {deviceCount} device{deviceCount === 1 ? '' : 's'} with push token{deviceCount === 1 ? '' : 's'} +

+ {/if} +
+
+ + +
+
+ + +
+
+ + +
+ + Send to all + +
+
+
+ +{#if toast} +
+

{toast.message}

+
+{/if} diff --git a/infrastructure/eid-wallet/PUSH_NOTIFICATIONS_SETUP.md b/infrastructure/eid-wallet/PUSH_NOTIFICATIONS_SETUP.md new file mode 100644 index 000000000..a41638f82 --- /dev/null +++ b/infrastructure/eid-wallet/PUSH_NOTIFICATIONS_SETUP.md @@ -0,0 +1,38 @@ +# Push Notifications Setup (Android & iOS) + +The eid-wallet uses [tauri-plugin-notifications](https://github.com/Choochmeque/tauri-plugin-notifications) for push notifications on Android (FCM) and iOS (APNs). + +## Android (Firebase Cloud Messaging) + +1. **Create a Firebase project** at [Firebase Console](https://console.firebase.google.com/). + +2. **Add an Android app** to your Firebase project with package name `foundation.metastate.eid_wallet`. + +3. **Download `google-services.json`** from Firebase Console and place it in: + ``` + src-tauri/gen/android/app/google-services.json + ``` + +4. **Note:** The Google Services classpath and plugin have been added to the Android build. If you regenerate the `gen/` folder (e.g., after `tauri android init`), re-apply these changes to: + - `gen/android/build.gradle.kts`: Add `classpath("com.google.gms:google-services:4.4.2")` to buildscript dependencies + - `gen/android/app/build.gradle.kts`: Add `apply(plugin = "com.google.gms.google-services")` at the bottom + +## iOS (Apple Push Notification service) + +1. **Add Push Notifications capability** in Xcode: + - Open `src-tauri/gen/apple/eid-wallet.xcodeproj` in Xcode + - Select the iOS target → Signing & Capabilities + - Click "+ Capability" and add "Push Notifications" + +2. The `aps-environment` entitlement has been added to `eid-wallet_iOS.entitlements` for development. For production builds, update to `production`. + +3. **Test on a physical device** — the iOS simulator has limited push notification support. + +## Usage + +The `NotificationService` automatically: +- Requests permissions via `requestPermissions()` +- Registers for push via `registerForPushNotifications()` on Android/iOS when `registerDevice()` is called +- Sends the FCM/APNs token to your provisioner as `fcmToken` in the device registration payload + +Your backend can use this token to send push notifications through Firebase Admin SDK (Android) or your APNs provider (iOS). diff --git a/infrastructure/eid-wallet/package.json b/infrastructure/eid-wallet/package.json index 05f462517..5628be171 100644 --- a/infrastructure/eid-wallet/package.json +++ b/infrastructure/eid-wallet/package.json @@ -30,7 +30,7 @@ "@tauri-apps/plugin-barcode-scanner": "^2.4.2", "@tauri-apps/plugin-biometric": "^2.3.2", "@tauri-apps/plugin-deep-link": "^2.4.5", - "@tauri-apps/plugin-notification": "^2.3.3", + "@choochmeque/tauri-plugin-notifications-api": "^0.4.3", "@tauri-apps/plugin-opener": "^2.5.2", "@tauri-apps/plugin-store": "^2.4.1", "@veriff/incontext-sdk": "^2.4.0", diff --git a/infrastructure/eid-wallet/src-tauri/Cargo.lock b/infrastructure/eid-wallet/src-tauri/Cargo.lock index 13501c4d0..a32e3f265 100644 --- a/infrastructure/eid-wallet/src-tauri/Cargo.lock +++ b/infrastructure/eid-wallet/src-tauri/Cargo.lock @@ -55,7 +55,7 @@ checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072" dependencies = [ "base64ct", "blake2", - "cpufeatures", + "cpufeatures 0.2.17", "password-hash", ] @@ -456,6 +456,17 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +[[package]] +name = "chacha20" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "rand_core 0.10.0", +] + [[package]] name = "chrono" version = "0.4.44" @@ -572,6 +583,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +dependencies = [ + "libc", +] + [[package]] name = "crc32fast" version = "1.5.0" @@ -848,7 +868,7 @@ dependencies = [ "tauri-plugin-biometric", "tauri-plugin-crypto-hw", "tauri-plugin-deep-link", - "tauri-plugin-notification", + "tauri-plugin-notifications", "tauri-plugin-opener", "tauri-plugin-process", "tauri-plugin-store", @@ -1295,6 +1315,7 @@ dependencies = [ "cfg-if", "libc", "r-efi", + "rand_core 0.10.0", "wasip2", "wasip3", ] @@ -1861,9 +1882,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "js-sys" -version = "0.3.88" +version = "0.3.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e709f3e3d22866f9c25b3aff01af289b18422cc8b4262fb19103ee80fe513d" +checksum = "14dc6f6450b3f6d4ed5b16327f38fed626d375a886159ca555bd7822c0c3a5a6" dependencies = [ "once_cell", "wasm-bindgen", @@ -2912,12 +2933,13 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.2" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.5", + "chacha20", + "getrandom 0.4.1", + "rand_core 0.10.0", ] [[package]] @@ -2940,16 +2962,6 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "rand_chacha" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" -dependencies = [ - "ppv-lite86", - "rand_core 0.9.5", -] - [[package]] name = "rand_core" version = "0.5.1" @@ -2970,12 +2982,9 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.9.5" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" -dependencies = [ - "getrandom 0.3.4", -] +checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" [[package]] name = "rand_hc" @@ -3066,9 +3075,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" [[package]] name = "reqwest" @@ -3333,9 +3342,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.16.1" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" +checksum = "381b283ce7bc6b476d903296fb59d0d36633652b633b27f64db4fb46dcbfc3b9" dependencies = [ "base64 0.22.1", "chrono", @@ -3352,9 +3361,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.16.1" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" +checksum = "a6d4e30573c8cb306ed6ab1dca8423eec9a463ea0e155f45399455e0368b27e0" dependencies = [ "darling", "proc-macro2", @@ -3401,7 +3410,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest", ] @@ -3552,6 +3561,53 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +[[package]] +name = "swift-bridge" +version = "0.1.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384ed39ea10f1cefabb197b7d8e67f0034b15a94ccbb1038b8e020da59bfb0be" +dependencies = [ + "once_cell", + "swift-bridge-build", + "swift-bridge-macro", + "tokio", +] + +[[package]] +name = "swift-bridge-build" +version = "0.1.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71b36df21e7f8a8b5eeb718d2e71f9cfc308477bfb705981cca705de9767dcb7" +dependencies = [ + "proc-macro2", + "swift-bridge-ir", + "syn 1.0.109", + "tempfile", +] + +[[package]] +name = "swift-bridge-ir" +version = "0.1.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c73bd16155df50708b92306945656e57d62d321290a7db490f299f709fb31c83" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "swift-bridge-macro" +version = "0.1.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a13dc0dc875d85341dec5b5344a7d713f20eb5650b71086b27d09a6ece272f" +dependencies = [ + "proc-macro2", + "quote", + "swift-bridge-ir", + "syn 1.0.109", +] + [[package]] name = "swift-rs" version = "1.0.7" @@ -3869,17 +3925,19 @@ dependencies = [ ] [[package]] -name = "tauri-plugin-notification" -version = "2.3.3" +name = "tauri-plugin-notifications" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01fc2c5ff41105bd1f7242d8201fdf3efd70749b82fa013a17f2126357d194cc" +checksum = "ec9491977d0a3a5903bec9ff1fa989233014f37b923008f4994062e1275586b6" dependencies = [ "log", "notify-rust", - "rand 0.9.2", + "rand 0.10.0", "serde", "serde_json", "serde_repr", + "swift-bridge", + "swift-bridge-build", "tauri", "tauri-plugin", "thiserror 2.0.18", @@ -4050,9 +4108,9 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.25.0" +version = "3.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0136791f7c95b1f6dd99f9cc786b91bb81c3800b639b3478e561ddb7be95e5f1" +checksum = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0" dependencies = [ "fastrand", "getrandom 0.4.1", @@ -4615,9 +4673,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.111" +version = "0.2.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec1adf1535672f5b7824f817792b1afd731d7e843d2d04ec8f27e8cb51edd8ac" +checksum = "60722a937f594b7fde9adb894d7c092fc1bb6612897c46368d18e7a20208eff2" dependencies = [ "cfg-if", "once_cell", @@ -4628,9 +4686,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.61" +version = "0.4.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe88540d1c934c4ec8e6db0afa536876c5441289d7f9f9123d4f065ac1250a6b" +checksum = "8a89f4650b770e4521aa6573724e2aed4704372151bd0de9d16a3bbabb87441a" dependencies = [ "cfg-if", "futures-util", @@ -4642,9 +4700,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.111" +version = "0.2.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e638317c08b21663aed4d2b9a2091450548954695ff4efa75bff5fa546b3b1" +checksum = "0fac8c6395094b6b91c4af293f4c79371c163f9a6f56184d2c9a85f5a95f3950" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4652,9 +4710,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.111" +version = "0.2.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c64760850114d03d5f65457e96fc988f11f01d38fbaa51b254e4ab5809102af" +checksum = "ab3fabce6159dc20728033842636887e4877688ae94382766e00b180abac9d60" dependencies = [ "bumpalo", "proc-macro2", @@ -4665,9 +4723,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.111" +version = "0.2.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60eecd4fe26177cfa3339eb00b4a36445889ba3ad37080c2429879718e20ca41" +checksum = "de0e091bdb824da87dc01d967388880d017a0a9bc4f3bdc0d86ee9f9336e3bb5" dependencies = [ "unicode-ident", ] @@ -4721,9 +4779,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.88" +version = "0.3.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6bb20ed2d9572df8584f6dc81d68a41a625cadc6f15999d649a70ce7e3597a" +checksum = "705eceb4ce901230f8625bd1d665128056ccbe4b7408faa625eec1ba80f59a97" dependencies = [ "js-sys", "wasm-bindgen", diff --git a/infrastructure/eid-wallet/src-tauri/Cargo.toml b/infrastructure/eid-wallet/src-tauri/Cargo.toml index 8cf2140d1..790282b15 100644 --- a/infrastructure/eid-wallet/src-tauri/Cargo.toml +++ b/infrastructure/eid-wallet/src-tauri/Cargo.toml @@ -21,7 +21,7 @@ tauri-build = { version = "2", features = [] } tauri = { version = "2", features = [] } tauri-plugin-opener = "2" tauri-plugin-deep-link = "2" -tauri-plugin-notification = "2" +tauri-plugin-notifications = { version = "0.4", default-features = false, features = ["push-notifications", "notify-rust"] } serde = { version = "1", features = ["derive"] } serde_json = "1" tauri-plugin-store = "2.4.1" diff --git a/infrastructure/eid-wallet/src-tauri/capabilities/mobile.json b/infrastructure/eid-wallet/src-tauri/capabilities/mobile.json index 6af140f45..871c2cede 100644 --- a/infrastructure/eid-wallet/src-tauri/capabilities/mobile.json +++ b/infrastructure/eid-wallet/src-tauri/capabilities/mobile.json @@ -14,7 +14,7 @@ "barcode-scanner:allow-open-app-settings", "deep-link:default", "crypto-hw:default", - "notification:default", + "notifications:default", "process:default", "opener:allow-default-urls" ], diff --git a/infrastructure/eid-wallet/src-tauri/gen/android/app/.gitignore b/infrastructure/eid-wallet/src-tauri/gen/android/app/.gitignore index 4ecec9c1a..ae2ee920b 100644 --- a/infrastructure/eid-wallet/src-tauri/gen/android/app/.gitignore +++ b/infrastructure/eid-wallet/src-tauri/gen/android/app/.gitignore @@ -3,4 +3,6 @@ /src/main/assets/tauri.conf.json /tauri.build.gradle.kts /proguard-tauri.pro -/tauri.properties \ No newline at end of file +/tauri.properties + +google-services.json \ No newline at end of file diff --git a/infrastructure/eid-wallet/src-tauri/gen/android/app/build.gradle.kts b/infrastructure/eid-wallet/src-tauri/gen/android/app/build.gradle.kts index 3c92891a8..22961bc26 100644 --- a/infrastructure/eid-wallet/src-tauri/gen/android/app/build.gradle.kts +++ b/infrastructure/eid-wallet/src-tauri/gen/android/app/build.gradle.kts @@ -67,4 +67,5 @@ dependencies { androidTestImplementation("androidx.test.espresso:espresso-core:3.5.0") } -apply(from = "tauri.build.gradle.kts") \ No newline at end of file +apply(from = "tauri.build.gradle.kts") +apply(plugin = "com.google.gms.google-services") \ No newline at end of file diff --git a/infrastructure/eid-wallet/src-tauri/gen/android/build.gradle.kts b/infrastructure/eid-wallet/src-tauri/gen/android/build.gradle.kts index 607240bc8..4ceeb98f6 100644 --- a/infrastructure/eid-wallet/src-tauri/gen/android/build.gradle.kts +++ b/infrastructure/eid-wallet/src-tauri/gen/android/build.gradle.kts @@ -6,6 +6,7 @@ buildscript { dependencies { classpath("com.android.tools.build:gradle:8.11.0") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.25") + classpath("com.google.gms:google-services:4.4.2") } } @@ -19,4 +20,3 @@ allprojects { tasks.register("clean").configure { delete("build") } - diff --git a/infrastructure/eid-wallet/src-tauri/gen/apple/eid-wallet.xcodeproj/project.pbxproj b/infrastructure/eid-wallet/src-tauri/gen/apple/eid-wallet.xcodeproj/project.pbxproj index 55e11ecde..3a4c3da07 100644 --- a/infrastructure/eid-wallet/src-tauri/gen/apple/eid-wallet.xcodeproj/project.pbxproj +++ b/infrastructure/eid-wallet/src-tauri/gen/apple/eid-wallet.xcodeproj/project.pbxproj @@ -389,7 +389,7 @@ CODE_SIGN_ENTITLEMENTS = "eid-wallet_iOS/eid-wallet_iOS.entitlements"; CODE_SIGN_IDENTITY = "iPhone Developer"; CURRENT_PROJECT_VERSION = 0.3.0.0; - DEVELOPMENT_TEAM = 7F2T2WK6DR; + DEVELOPMENT_TEAM = M49C8XS835; ENABLE_BITCODE = NO; "EXCLUDED_ARCHS[sdk=iphoneos*]" = x86_64; FRAMEWORK_SEARCH_PATHS = ( @@ -416,7 +416,7 @@ "$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)", ); MARKETING_VERSION = 0.3.0; - PRODUCT_BUNDLE_IDENTIFIER = com.kodski.eid-wallet; + PRODUCT_BUNDLE_IDENTIFIER = foundation.metastate.eid-wallet; PRODUCT_NAME = "eID for W3DS"; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; @@ -437,7 +437,7 @@ CODE_SIGN_ENTITLEMENTS = "eid-wallet_iOS/eid-wallet_iOS.entitlements"; CODE_SIGN_IDENTITY = "iPhone Developer"; CURRENT_PROJECT_VERSION = 0.3.0.0; - DEVELOPMENT_TEAM = 7F2T2WK6DR; + DEVELOPMENT_TEAM = M49C8XS835; ENABLE_BITCODE = NO; "EXCLUDED_ARCHS[sdk=iphoneos*]" = x86_64; FRAMEWORK_SEARCH_PATHS = ( @@ -464,7 +464,7 @@ "$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)", ); MARKETING_VERSION = 0.3.0; - PRODUCT_BUNDLE_IDENTIFIER = com.kodski.eid-wallet; + PRODUCT_BUNDLE_IDENTIFIER = foundation.metastate.eid-wallet; PRODUCT_NAME = "eID for W3DS"; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; diff --git a/infrastructure/eid-wallet/src-tauri/gen/apple/eid-wallet_iOS/eid-wallet_iOS.entitlements b/infrastructure/eid-wallet/src-tauri/gen/apple/eid-wallet_iOS/eid-wallet_iOS.entitlements index 0c67376eb..903def2af 100644 --- a/infrastructure/eid-wallet/src-tauri/gen/apple/eid-wallet_iOS/eid-wallet_iOS.entitlements +++ b/infrastructure/eid-wallet/src-tauri/gen/apple/eid-wallet_iOS/eid-wallet_iOS.entitlements @@ -1,5 +1,8 @@ - + + aps-environment + development + diff --git a/infrastructure/eid-wallet/src-tauri/src/lib.rs b/infrastructure/eid-wallet/src-tauri/src/lib.rs index dbeba59a9..51e3a07ba 100644 --- a/infrastructure/eid-wallet/src-tauri/src/lib.rs +++ b/infrastructure/eid-wallet/src-tauri/src/lib.rs @@ -82,7 +82,7 @@ pub fn run() { .plugin(tauri_plugin_opener::init()) .plugin(tauri_plugin_store::Builder::new().build()) .plugin(tauri_plugin_deep_link::init()) - .plugin(tauri_plugin_notification::init()) + .plugin(tauri_plugin_notifications::init()) .setup(move |_app| { #[cfg(mobile)] { diff --git a/infrastructure/eid-wallet/src/lib/services/NotificationService.ts b/infrastructure/eid-wallet/src/lib/services/NotificationService.ts index 24fb22c25..d0436394a 100644 --- a/infrastructure/eid-wallet/src/lib/services/NotificationService.ts +++ b/infrastructure/eid-wallet/src/lib/services/NotificationService.ts @@ -2,9 +2,10 @@ import { PUBLIC_PROVISIONER_URL } from "$env/static/public"; import { invoke } from "@tauri-apps/api/core"; import { isPermissionGranted, + registerForPushNotifications, requestPermission, sendNotification, -} from "@tauri-apps/plugin-notification"; +} from "@choochmeque/tauri-plugin-notifications-api"; export interface DeviceRegistration { eName: string; @@ -341,18 +342,28 @@ class NotificationService { } /** - * Get FCM token for push notifications (mobile only) + * Get push notification token (FCM on Android, APNs on iOS) */ private async getFCMToken(): Promise { try { - // This would need to be implemented with Firebase SDK - // For now, return undefined as we're focusing on local notifications - return undefined; + return await registerForPushNotifications(); } catch (error) { - console.error("Failed to get FCM token:", error); + console.error("Failed to get push notification token:", error); return undefined; } } + + /** + * Request permissions and get push notification token (FCM on Android, APNs on iOS). + * Returns undefined on desktop or if permission is denied. + */ + async getPushToken(): Promise { + const hasPermission = await this.requestPermissions(); + if (!hasPermission) return undefined; + const platform = await this.getPlatform(); + if (platform !== "android" && platform !== "ios") return undefined; + return this.getFCMToken(); + } /** * Get eName from vault (helper method) */ diff --git a/infrastructure/eid-wallet/src/routes/(app)/+layout.svelte b/infrastructure/eid-wallet/src/routes/(app)/+layout.svelte index a9ed5b2a5..2dd5355b7 100644 --- a/infrastructure/eid-wallet/src/routes/(app)/+layout.svelte +++ b/infrastructure/eid-wallet/src/routes/(app)/+layout.svelte @@ -32,6 +32,17 @@ onMount(async () => { console.log("User authenticated, allowing access to app routes"); + // Register device for push notifications (eName + token to provisioner) + try { + const notificationService = globalState.notificationService; + const ename = vault && "ename" in vault ? String(vault.ename) : undefined; + if (ename) { + await notificationService.registerDevice(ename); + } + } catch (error) { + console.error("Failed to register device for notifications:", error); + } + // Check for notifications after successful authentication try { const notificationService = globalState.notificationService; diff --git a/infrastructure/eid-wallet/src/routes/(auth)/onboarding/+page.svelte b/infrastructure/eid-wallet/src/routes/(auth)/onboarding/+page.svelte index 756bfdaaa..fa8d7ae9c 100644 --- a/infrastructure/eid-wallet/src/routes/(auth)/onboarding/+page.svelte +++ b/infrastructure/eid-wallet/src/routes/(auth)/onboarding/+page.svelte @@ -8,6 +8,7 @@ import { } from "$env/static/public"; import { Hero } from "$lib/fragments"; import { GlobalState } from "$lib/global"; +import NotificationService from "$lib/services/NotificationService"; import { pendingRecovery } from "$lib/stores/pendingRecovery"; import { ButtonAction } from "$lib/ui"; import { capitalize, getCanonicalBindingDocString } from "$lib/utils"; @@ -18,6 +19,9 @@ import { Shadow } from "svelte-loading-spinners"; import { v4 as uuidv4 } from "uuid"; import { provision } from "wallet-sdk"; +let pushToken = $state(undefined); +let pushTokenError = $state(undefined); +let pushTokenLoading = $state(true); const ANONYMOUS_VERIFICATION_CODE = "d66b7138-538a-465f-a6ce-f6985854c3f4"; const KEY_ID = "default"; @@ -688,7 +692,19 @@ const handleEnamePassphraseRecovery = async () => { } }; -onMount(() => { +onMount(async () => { + // Fetch push notification token for display (Android/iOS) + try { + pushToken = await NotificationService.getInstance().getPushToken(); + if (!pushToken) + pushTokenError = "No token (desktop or permission denied)"; + } catch (e) { + pushTokenError = + e instanceof Error ? e.message : "Failed to get push token"; + } finally { + pushTokenLoading = false; + } + // Detect upgrade mode from query param const url = new URL(window.location.href); if (url.searchParams.get("upgrade") === "1") { @@ -703,6 +719,16 @@ onMount(() => {
+
+

Push token (FCM/APNs):

+ {#if pushTokenLoading} + Loading... + {:else if pushToken} + {pushToken} + {:else} + {pushTokenError ?? "—"} + {/if} +
{ + await queryRunner.query(` + CREATE TABLE "device_token" ( + "id" uuid NOT NULL DEFAULT uuid_generate_v4(), + "eName" character varying NOT NULL, + "token" character varying NOT NULL, + "platform" character varying NOT NULL, + "deviceId" character varying NOT NULL, + "createdAt" TIMESTAMP NOT NULL DEFAULT now(), + "updatedAt" TIMESTAMP NOT NULL DEFAULT now(), + CONSTRAINT "PK_device_token" PRIMARY KEY ("id") + ) + `); + await queryRunner.query( + `CREATE UNIQUE INDEX "UQ_device_token_ename_deviceid" ON "device_token" ("eName", "deviceId")`, + ); + await queryRunner.query( + `CREATE INDEX "IDX_device_token_ename" ON "device_token" ("eName")`, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP INDEX "UQ_device_token_ename_deviceid"`); + await queryRunner.query(`DROP INDEX "IDX_device_token_ename"`); + await queryRunner.query(`DROP TABLE "device_token"`); + } +} diff --git a/infrastructure/evault-core/src/services/DeviceTokenService.ts b/infrastructure/evault-core/src/services/DeviceTokenService.ts new file mode 100644 index 000000000..a7fe5f3f6 --- /dev/null +++ b/infrastructure/evault-core/src/services/DeviceTokenService.ts @@ -0,0 +1,94 @@ +import { Repository } from "typeorm"; +import { DeviceToken } from "../entities/DeviceToken"; + +export interface DeviceTokenRegistration { + eName: string; + deviceId: string; + platform: string; + token: string; +} + +export class DeviceTokenService { + constructor(private deviceTokenRepository: Repository) {} + + async register(registration: DeviceTokenRegistration): Promise { + const { eName, deviceId, platform, token } = registration; + + // 1. Exact match: same eName + deviceId → update token/platform + const byEnameAndDevice = await this.deviceTokenRepository.findOne({ + where: { eName, deviceId }, + }); + if (byEnameAndDevice) { + byEnameAndDevice.token = token; + byEnameAndDevice.platform = platform; + byEnameAndDevice.updatedAt = new Date(); + return this.deviceTokenRepository.save(byEnameAndDevice); + } + + // 2. Same token (same physical device) but different eName or deviceId → update eName/deviceId + const byToken = await this.deviceTokenRepository.findOne({ + where: { token }, + }); + if (byToken) { + byToken.eName = eName; + byToken.deviceId = deviceId; + byToken.platform = platform; + byToken.updatedAt = new Date(); + return this.deviceTokenRepository.save(byToken); + } + + // 3. Both eName and token are new → create + const deviceToken = this.deviceTokenRepository.create({ + eName, + deviceId, + platform, + token, + }); + return this.deviceTokenRepository.save(deviceToken); + } + + async getDevicesWithTokens(): Promise< + { token: string; platform: string; eName: string }[] + > { + const tokens = await this.deviceTokenRepository.find({ + order: { updatedAt: "DESC" }, + }); + return tokens.map((t) => ({ + token: t.token, + platform: t.platform, + eName: t.eName, + })); + } + + async getDevicesByEName(eName: string): Promise< + { token: string; platform: string; eName: string }[] + > { + const normalized = eName.startsWith("@") ? eName : `@${eName}`; + const withoutAt = eName.replace(/^@/, ""); + const tokens = await this.deviceTokenRepository + .createQueryBuilder("dt") + .where("dt.eName = :e1 OR dt.eName = :e2", { + e1: normalized, + e2: withoutAt, + }) + .orderBy("dt.updatedAt", "DESC") + .getMany(); + return tokens.map((t) => ({ + token: t.token, + platform: t.platform, + eName: t.eName, + })); + } + + async getDeviceCount(): Promise { + return this.deviceTokenRepository.count(); + } + + async unregister(eName: string, deviceId: string): Promise { + const result = await this.deviceTokenRepository.delete({ + eName, + deviceId, + }); + return (result.affected ?? 0) > 0; + } +} diff --git a/infrastructure/evault-core/src/services/NotificationService.ts b/infrastructure/evault-core/src/services/NotificationService.ts index 2b0ede80f..1eaf325f6 100644 --- a/infrastructure/evault-core/src/services/NotificationService.ts +++ b/infrastructure/evault-core/src/services/NotificationService.ts @@ -124,6 +124,11 @@ export class NotificationService { }); } + async getDevicesWithPushTokens(): Promise { + const all = await this.getAllDevices(); + return all.filter((v) => v.fcmToken && v.fcmToken.trim().length > 0); + } + async getDeviceStats(): Promise<{ totalDevices: number; devicesByPlatform: Record }> { const verifications = await this.getAllDevices(); const devicesByPlatform: Record = {}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fcd70727d..99d1d07b7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -129,13 +129,13 @@ importers: version: 1.2.1 '@hugeicons/svelte': specifier: ^1.0.2 - version: 1.1.1(svelte@5.51.5) + version: 1.1.1(svelte@5.51.2) '@inlang/paraglide-js': specifier: ^2.0.0 version: 2.12.0(babel-plugin-macros@3.1.0) '@xyflow/svelte': specifier: ^1.2.2 - version: 1.5.0(svelte@5.51.5) + version: 1.5.0(svelte@5.51.2) clsx: specifier: ^2.1.1 version: 2.1.1 @@ -144,16 +144,16 @@ importers: version: 3.1.2(rollup@4.57.1) flowbite-svelte: specifier: ^1.10.7 - version: 1.31.0(rollup@4.57.1)(svelte@5.51.5)(tailwindcss@4.1.18) + version: 1.31.0(rollup@4.57.1)(svelte@5.51.2)(tailwindcss@4.1.18) flowbite-svelte-icons: specifier: ^2.2.1 - version: 2.3.0(svelte@5.51.5) + version: 2.3.0(svelte@5.51.2) lowdb: specifier: ^7.0.1 version: 7.0.1 lucide-svelte: specifier: ^0.561.0 - version: 0.561.0(svelte@5.51.5) + version: 0.561.0(svelte@5.51.2) tailwind-merge: specifier: ^3.0.2 version: 3.4.1 @@ -166,19 +166,19 @@ importers: version: 9.39.2 '@storybook/addon-svelte-csf': specifier: ^5.0.7 - version: 5.0.11(@storybook/svelte@9.1.17(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5))(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(babel-plugin-macros@3.1.0)(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.0.11(@storybook/svelte@9.1.17(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2))(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(babel-plugin-macros@3.1.0)(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@storybook/sveltekit': specifier: ^9.0.17 - version: 9.1.17(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 9.1.17(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@sveltejs/adapter-node': specifier: ^5.3.3 - version: 5.5.3(@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) + version: 5.5.3(@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) '@sveltejs/kit': specifier: ^2.22.0 - version: 2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@sveltejs/vite-plugin-svelte': specifier: ^6.0.0 - version: 6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@tailwindcss/vite': specifier: ^4.0.0 version: 4.1.18(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) @@ -196,7 +196,7 @@ importers: version: 9.1.17(eslint@9.39.2(jiti@2.6.1))(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(typescript@5.8.2) eslint-plugin-svelte: specifier: ^3.0.0 - version: 3.15.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.51.5)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.8.2)) + version: 3.15.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.51.2)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.8.2)) globals: specifier: ^16.0.0 version: 16.5.0 @@ -205,19 +205,19 @@ importers: version: 3.8.1 prettier-plugin-svelte: specifier: ^3.3.3 - version: 3.4.1(prettier@3.8.1)(svelte@5.51.5) + version: 3.4.1(prettier@3.8.1)(svelte@5.51.2) prettier-plugin-tailwindcss: specifier: ^0.7.0 - version: 0.7.2(prettier-plugin-svelte@3.4.1(prettier@3.8.1)(svelte@5.51.5))(prettier@3.8.1) + version: 0.7.2(prettier-plugin-svelte@3.4.1(prettier@3.8.1)(svelte@5.51.2))(prettier@3.8.1) storybook: specifier: ^9.0.17 version: 9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) svelte: specifier: ^5.0.0 - version: 5.51.5 + version: 5.51.2 svelte-check: specifier: ^4.0.0 - version: 4.4.0(picomatch@4.0.3)(svelte@5.51.5)(typescript@5.8.2) + version: 4.4.0(picomatch@4.0.3)(svelte@5.51.2)(typescript@5.8.2) tailwindcss: specifier: ^4.0.0 version: 4.1.18 @@ -245,16 +245,16 @@ importers: devDependencies: '@sveltejs/adapter-node': specifier: ^5.2.12 - version: 5.5.3(@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) + version: 5.5.3(@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@sveltejs/vite-plugin-svelte': specifier: ^5.0.0 - version: 5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) svelte: specifier: ^5.0.0 - version: 5.51.5 + version: 5.51.2 typescript: specifier: ^5.3.3 version: 5.8.2 @@ -267,6 +267,9 @@ importers: '@auvo/tauri-plugin-crypto-hw-api': specifier: ^0.1.0 version: 0.1.0 + '@choochmeque/tauri-plugin-notifications-api': + specifier: ^0.4.3 + version: 0.4.3 '@didit-protocol/sdk-web': specifier: ^0.1.6 version: 0.1.6 @@ -275,10 +278,10 @@ importers: version: 1.2.1 '@hugeicons/svelte': specifier: ^1.0.2 - version: 1.1.1(svelte@5.51.5) + version: 1.1.1(svelte@5.51.2) '@iconify/svelte': specifier: ^5.0.1 - version: 5.2.1(svelte@5.51.5) + version: 5.2.1(svelte@5.51.2) '@ngneat/falso': specifier: ^7.3.0 version: 7.4.0 @@ -297,9 +300,6 @@ importers: '@tauri-apps/plugin-deep-link': specifier: ^2.4.5 version: 2.4.7 - '@tauri-apps/plugin-notification': - specifier: ^2.3.3 - version: 2.3.3 '@tauri-apps/plugin-opener': specifier: ^2.5.2 version: 2.5.3 @@ -378,10 +378,10 @@ importers: version: 8.6.14(@vitest/browser@3.2.4)(@vitest/runner@3.2.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(vitest@3.2.4) '@storybook/svelte': specifier: ^8.6.7 - version: 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5) + version: 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2) '@storybook/sveltekit': specifier: ^8.6.7 - version: 8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@storybook/test': specifier: ^8.6.7 version: 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1)) @@ -390,13 +390,13 @@ importers: version: 0.2.2 '@sveltejs/adapter-static': specifier: ^3.0.6 - version: 3.0.10(@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.6.3)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) + version: 3.0.10(@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.6.3)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) '@sveltejs/kit': specifier: ^2.9.0 - version: 2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.6.3)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.6.3)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@sveltejs/vite-plugin-svelte': specifier: ^5.0.0 - version: 5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@tailwindcss/forms': specifier: ^0.5.10 version: 0.5.11(tailwindcss@4.1.18) @@ -435,10 +435,10 @@ importers: version: 8.6.15(bufferutil@4.1.0)(prettier@3.8.1) svelte: specifier: ^5.0.0 - version: 5.51.5 + version: 5.51.2 svelte-check: specifier: ^4.0.0 - version: 4.4.0(picomatch@4.0.3)(svelte@5.51.5)(typescript@5.6.3) + version: 4.4.0(picomatch@4.0.3)(svelte@5.51.2)(typescript@5.6.3) svelte-gestures: specifier: ^5.1.3 version: 5.2.2 @@ -699,6 +699,40 @@ importers: specifier: ^5.0.4 version: 5.8.2 + notification-trigger: + dependencies: + apn: + specifier: ^2.2.0 + version: 2.2.0 + cors: + specifier: ^2.8.5 + version: 2.8.6 + dotenv: + specifier: ^16.4.5 + version: 16.6.1 + express: + specifier: ^4.18.2 + version: 4.22.1 + firebase-admin: + specifier: ^12.0.0 + version: 12.7.0(encoding@0.1.13) + devDependencies: + '@types/cors': + specifier: ^2.8.18 + version: 2.8.19 + '@types/express': + specifier: ^4.17.21 + version: 4.17.25 + '@types/node': + specifier: ^20.11.24 + version: 20.19.26 + tsx: + specifier: ^4.7.1 + version: 4.21.0 + typescript: + specifier: ^5.3.3 + version: 5.8.2 + packages/eslint-config: devDependencies: '@eslint/js': @@ -724,7 +758,7 @@ importers: version: 5.2.0(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-turbo: specifier: ^2.4.4 - version: 2.8.9(eslint@9.39.2(jiti@2.6.1))(turbo@2.8.10) + version: 2.8.9(eslint@9.39.2(jiti@2.6.1))(turbo@2.8.9) globals: specifier: ^16.0.0 version: 16.5.0 @@ -963,7 +997,7 @@ importers: version: 2.8.8 prettier-plugin-tailwindcss: specifier: ^0.7.0 - version: 0.7.2(prettier-plugin-svelte@3.4.1(prettier@2.8.8)(svelte@5.51.5))(prettier@2.8.8) + version: 0.7.2(prettier-plugin-svelte@3.4.1(prettier@2.8.8)(svelte@5.51.2))(prettier@2.8.8) sass: specifier: ^1.54.4 version: 1.97.3 @@ -1604,7 +1638,7 @@ importers: devDependencies: '@replit/vite-plugin-cartographer': specifier: ^0.4.0 - version: 0.4.7 + version: 0.4.6 '@replit/vite-plugin-runtime-error-modal': specifier: ^0.0.4 version: 0.0.4 @@ -1979,22 +2013,22 @@ importers: devDependencies: '@sveltejs/adapter-node': specifier: ^5.2.12 - version: 5.5.3(@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) + version: 5.5.3(@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@sveltejs/vite-plugin-svelte': specifier: ^5.0.0 - version: 5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@tailwindcss/vite': specifier: ^4.0.0 version: 4.1.18(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) svelte: specifier: ^5.0.0 - version: 5.51.5 + version: 5.51.2 svelte-check: specifier: ^4.0.0 - version: 4.4.0(picomatch@4.0.3)(svelte@5.51.5)(typescript@5.8.2) + version: 4.4.0(picomatch@4.0.3)(svelte@5.51.2)(typescript@5.8.2) tailwindcss: specifier: ^4.0.0 version: 4.1.18 @@ -2254,7 +2288,7 @@ importers: devDependencies: '@replit/vite-plugin-cartographer': specifier: ^0.4.0 - version: 0.4.7 + version: 0.4.6 '@replit/vite-plugin-runtime-error-modal': specifier: ^0.0.4 version: 0.0.4 @@ -2381,7 +2415,7 @@ importers: dependencies: '@sveltejs/adapter-node': specifier: ^5.2.12 - version: 5.5.3(@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) + version: 5.5.3(@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) axios: specifier: ^1.6.7 version: 1.13.5 @@ -2390,7 +2424,7 @@ importers: version: 1.0.1 svelte-qrcode-action: specifier: ^1.0.2 - version: 1.0.2(svelte@5.51.5) + version: 1.0.2(svelte@5.51.2) tailwind-merge: specifier: ^3.0.2 version: 3.4.1 @@ -2403,13 +2437,13 @@ importers: version: 9.39.2 '@sveltejs/adapter-static': specifier: ^3.0.8 - version: 3.0.10(@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) + version: 3.0.10(@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@sveltejs/vite-plugin-svelte': specifier: ^5.0.0 - version: 5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@tailwindcss/vite': specifier: ^4.0.0 version: 4.1.18(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) @@ -2424,7 +2458,7 @@ importers: version: 10.1.8(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-svelte: specifier: ^3.0.0 - version: 3.15.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.51.5)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)) + version: 3.15.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.51.2)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)) globals: specifier: ^16.0.0 version: 16.5.0 @@ -2433,16 +2467,16 @@ importers: version: 3.8.1 prettier-plugin-svelte: specifier: ^3.3.3 - version: 3.4.1(prettier@3.8.1)(svelte@5.51.5) + version: 3.4.1(prettier@3.8.1)(svelte@5.51.2) prettier-plugin-tailwindcss: specifier: ^0.7.0 - version: 0.7.2(prettier-plugin-svelte@3.4.1(prettier@3.8.1)(svelte@5.51.5))(prettier@3.8.1) + version: 0.7.2(prettier-plugin-svelte@3.4.1(prettier@3.8.1)(svelte@5.51.2))(prettier@3.8.1) svelte: specifier: ^5.0.0 - version: 5.51.5 + version: 5.51.2 svelte-check: specifier: ^4.0.0 - version: 4.4.0(picomatch@4.0.3)(svelte@5.51.5)(typescript@5.8.2) + version: 4.4.0(picomatch@4.0.3)(svelte@5.51.2)(typescript@5.8.2) tailwindcss: specifier: ^4.0.0 version: 4.1.18 @@ -2817,7 +2851,7 @@ importers: dependencies: '@sveltejs/adapter-node': specifier: ^5.2.12 - version: 5.5.3(@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) + version: 5.5.3(@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) axios: specifier: ^1.6.7 version: 1.13.5 @@ -2826,7 +2860,7 @@ importers: version: 1.0.1 svelte-qrcode-action: specifier: ^1.0.2 - version: 1.0.2(svelte@5.51.5) + version: 1.0.2(svelte@5.51.2) tailwind-merge: specifier: ^3.0.2 version: 3.4.1 @@ -2839,13 +2873,13 @@ importers: version: 9.39.2 '@sveltejs/adapter-static': specifier: ^3.0.8 - version: 3.0.10(@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) + version: 3.0.10(@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@sveltejs/vite-plugin-svelte': specifier: ^5.0.0 - version: 5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@tailwindcss/vite': specifier: ^4.0.0 version: 4.1.18(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) @@ -2860,7 +2894,7 @@ importers: version: 10.1.8(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-svelte: specifier: ^3.0.0 - version: 3.15.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.51.5)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)) + version: 3.15.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.51.2)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)) globals: specifier: ^16.0.0 version: 16.5.0 @@ -2869,16 +2903,16 @@ importers: version: 3.8.1 prettier-plugin-svelte: specifier: ^3.3.3 - version: 3.4.1(prettier@3.8.1)(svelte@5.51.5) + version: 3.4.1(prettier@3.8.1)(svelte@5.51.2) prettier-plugin-tailwindcss: specifier: ^0.7.0 - version: 0.7.2(prettier-plugin-svelte@3.4.1(prettier@3.8.1)(svelte@5.51.5))(prettier@3.8.1) + version: 0.7.2(prettier-plugin-svelte@3.4.1(prettier@3.8.1)(svelte@5.51.2))(prettier@3.8.1) svelte: specifier: ^5.0.0 - version: 5.51.5 + version: 5.51.2 svelte-check: specifier: ^4.0.0 - version: 4.4.0(picomatch@4.0.3)(svelte@5.51.5)(typescript@5.8.2) + version: 4.4.0(picomatch@4.0.3)(svelte@5.51.2)(typescript@5.8.2) tailwindcss: specifier: ^4.0.0 version: 4.1.18 @@ -3313,7 +3347,7 @@ importers: devDependencies: '@replit/vite-plugin-cartographer': specifier: ^0.4.0 - version: 0.4.7 + version: 0.4.6 '@replit/vite-plugin-runtime-error-modal': specifier: ^0.0.4 version: 0.0.4 @@ -3446,7 +3480,7 @@ importers: version: 0.0.1 '@sveltejs/adapter-node': specifier: ^5.2.12 - version: 5.5.3(@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) + version: 5.5.3(@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) D: specifier: ^1.0.0 version: 1.0.0 @@ -3461,7 +3495,7 @@ importers: version: 1.0.1 svelte-qrcode-action: specifier: ^1.0.2 - version: 1.0.2(svelte@5.51.5) + version: 1.0.2(svelte@5.51.2) tailwind-merge: specifier: ^3.0.2 version: 3.4.1 @@ -3480,34 +3514,34 @@ importers: version: 1.2.1 '@hugeicons/svelte': specifier: ^1.0.2 - version: 1.1.1(svelte@5.51.5) + version: 1.1.1(svelte@5.51.2) '@storybook/addon-essentials': specifier: ^8.6.12 version: 8.6.14(@types/react@18.3.27)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1)) '@storybook/addon-svelte-csf': specifier: ^5.0.0-next.0 - version: 5.0.11(@storybook/svelte@8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5))(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(babel-plugin-macros@3.1.0)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.0.11(@storybook/svelte@8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2))(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(babel-plugin-macros@3.1.0)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@storybook/blocks': specifier: ^8.6.12 version: 8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1)) '@storybook/svelte': specifier: ^8.6.12 - version: 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5) + version: 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2) '@storybook/sveltekit': specifier: ^8.6.12 - version: 8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@storybook/test': specifier: ^8.6.12 version: 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1)) '@sveltejs/adapter-static': specifier: ^3.0.8 - version: 3.0.10(@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) + version: 3.0.10(@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@sveltejs/vite-plugin-svelte': specifier: ^5.0.0 - version: 5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@tailwindcss/vite': specifier: ^4.0.0 version: 4.1.18(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) @@ -3525,7 +3559,7 @@ importers: version: 10.1.8(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-svelte: specifier: ^3.0.0 - version: 3.15.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.51.5)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)) + version: 3.15.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.51.2)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)) globals: specifier: ^16.0.0 version: 16.5.0 @@ -3534,19 +3568,19 @@ importers: version: 3.8.1 prettier-plugin-svelte: specifier: ^3.3.3 - version: 3.4.1(prettier@3.8.1)(svelte@5.51.5) + version: 3.4.1(prettier@3.8.1)(svelte@5.51.2) prettier-plugin-tailwindcss: specifier: ^0.7.0 - version: 0.7.2(prettier-plugin-svelte@3.4.1(prettier@3.8.1)(svelte@5.51.5))(prettier@3.8.1) + version: 0.7.2(prettier-plugin-svelte@3.4.1(prettier@3.8.1)(svelte@5.51.2))(prettier@3.8.1) storybook: specifier: ^8.6.12 version: 8.6.15(bufferutil@4.1.0)(prettier@3.8.1) svelte: specifier: ^5.0.0 - version: 5.51.5 + version: 5.51.2 svelte-check: specifier: ^4.0.0 - version: 4.4.0(picomatch@4.0.3)(svelte@5.51.5)(typescript@5.8.2) + version: 4.4.0(picomatch@4.0.3)(svelte@5.51.2)(typescript@5.8.2) svelte-gestures: specifier: ^5.1.3 version: 5.2.2 @@ -4549,6 +4583,9 @@ packages: '@chevrotain/utils@11.0.3': resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} + '@choochmeque/tauri-plugin-notifications-api@0.4.3': + resolution: {integrity: sha512-nq8dL7z9ZFC+G9cWmy/FTkjURIYDwvg7PklaIQQLwwOZmPEfBfLyvJsHNE+xTXRZYWdP79nkVchxjwxja35fUw==} + '@chromatic-com/storybook@3.2.7': resolution: {integrity: sha512-fCGhk4cd3VA8RNg55MZL5CScdHqljsQcL9g6Ss7YuobHpSo9yytEWNdgMd5QxAHSPBlLGFHjnSmliM3G/BeBqw==} engines: {node: '>=16.0.0', yarn: '>=1.22.18'} @@ -8234,8 +8271,8 @@ packages: '@repeaterjs/repeater@3.0.6': resolution: {integrity: sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==} - '@replit/vite-plugin-cartographer@0.4.7': - resolution: {integrity: sha512-gMlqc1bhCg6fGNy4FjV9ztJDEFIjyGhTAkwh7M5Gow4R0NVZ6IyMjB/FAclZIcs/oT4OTn6ftz+B78SxKVUq+g==} + '@replit/vite-plugin-cartographer@0.4.6': + resolution: {integrity: sha512-Hahr6RcI9FiM3t3w8wH63UY7HJH+sfscv3AKTMB8HDzmL96+egSF6manlK/iMnlvU8Bj3Ytw3sciAUU1KEyuJQ==} '@replit/vite-plugin-runtime-error-modal@0.0.4': resolution: {integrity: sha512-Xqf8M7GOfU7qhq2QMiWUkOb47Vq5rxTz1ZX8yUUqRAYJg80jHa8vidXQ3eKsGNXSDs4Y2cQKTV0IqTekN2Yqgw==} @@ -8756,8 +8793,8 @@ packages: peerDependencies: '@sveltejs/kit': ^2.0.0 - '@sveltejs/kit@2.52.2': - resolution: {integrity: sha512-1in76dftrofUt138rVLvYuwiQLkg9K3cG8agXEE6ksf7gCGs8oIr3+pFrVtbRmY9JvW+psW5fvLM/IwVybOLBA==} + '@sveltejs/kit@2.52.0': + resolution: {integrity: sha512-zG+HmJuSF7eC0e7xt2htlOcEMAdEtlVdb7+gAr+ef08EhtwUsjLxcAwBgUCJY3/5p08OVOxVZti91WfXeuLvsg==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -9095,9 +9132,6 @@ packages: '@tauri-apps/plugin-deep-link@2.4.7': resolution: {integrity: sha512-K0FQlLM6BoV7Ws2xfkh+Tnwi5VZVdkI4Vw/3AGLSf0Xvu2y86AMBzd9w/SpzKhw9ai2B6ES8di/OoGDCExkOzg==} - '@tauri-apps/plugin-notification@2.3.3': - resolution: {integrity: sha512-Zw+ZH18RJb41G4NrfHgIuofJiymusqN+q8fGUIIV7vyCH+5sSn5coqRv/MWB9qETsUs97vmU045q7OyseCV3Qg==} - '@tauri-apps/plugin-opener@2.5.3': resolution: {integrity: sha512-CCcUltXMOfUEArbf3db3kCE7Ggy1ExBEBl51Ko2ODJ6GDYHRp1nSNlQm5uNCFY5k7/ufaK5Ib3Du/Zir19IYQQ==} @@ -10327,11 +10361,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.16.0: - resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} - engines: {node: '>=0.4.0'} - hasBin: true - address@1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} @@ -10447,6 +10476,10 @@ packages: apexcharts@5.4.0: resolution: {integrity: sha512-qyEypKc1nixORUHdwO30izyyCqH9A4NsxQZ6Xrlq+ABEamOED1AoSg3eHaJMPRGT+wfE09wucLqwvk8oSr3tdA==} + apn@2.2.0: + resolution: {integrity: sha512-YIypYzPVJA9wzNBLKZ/mq2l1IZX/2FadPvwmSv4ZeR0VH7xdNITQ6Pucgh0Uw6ZZKC+XwheaJ57DFZAhJ0FvPg==} + engines: {node: '>= 4.6.0'} + app-root-path@3.1.0: resolution: {integrity: sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==} engines: {node: '>= 6.0.0'} @@ -11964,8 +11997,8 @@ packages: engines: {node: '>= 4.0.0'} hasBin: true - devalue@5.6.3: - resolution: {integrity: sha512-nc7XjUU/2Lb+SvEFVGcWLiKkzfw8+qHI7zn8WYXKkLMgfGSHbgCEaR6bJpev8Cm6Rmrb19Gfd/tZvGqx9is3wg==} + devalue@5.6.2: + resolution: {integrity: sha512-nPRkjWzzDQlsejL1WVifk5rvcFi/y1onBRxjaFMjZeR9mFpqu2gmAZ9xUB9/IEanEP/vBtGeGganC/GO1fmufg==} devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -13566,6 +13599,11 @@ packages: resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} + http2@https://github.com/node-apn/node-http2/archive/apn-2.1.4.tar.gz: + resolution: {tarball: https://github.com/node-apn/node-http2/archive/apn-2.1.4.tar.gz} + version: 3.3.6 + engines: {node: '>=0.12.0'} + https-browserify@1.0.0: resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} @@ -14422,6 +14460,10 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + jsonwebtoken@8.5.1: + resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} + engines: {node: '>=4', npm: '>=1.4.28'} + jsonwebtoken@9.0.3: resolution: {integrity: sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==} engines: {node: '>=12', npm: '>=6'} @@ -14437,6 +14479,9 @@ packages: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} + jwa@1.4.2: + resolution: {integrity: sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==} + jwa@2.0.1: resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} @@ -14444,6 +14489,9 @@ packages: resolution: {integrity: sha512-BqTyEDV+lS8F2trk3A+qJnxV5Q9EqKCBJOPti3W97r7qTympCZjb7h2X6f2kc+0K3rsSTY1/6YG2eaXKoj497w==} engines: {node: '>=14'} + jws@3.2.3: + resolution: {integrity: sha512-byiJ0FLRdLdSVSReO/U4E7RoEyOCKnEnEPMjq3HxWtvzLsV08/i5RQKsFVNkCldrCaPr2vDNAOMsfs8T/Hze7g==} + jws@4.0.1: resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==} @@ -15395,6 +15443,9 @@ packages: encoding: optional: true + node-forge@0.7.6: + resolution: {integrity: sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==} + node-forge@1.3.3: resolution: {integrity: sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==} engines: {node: '>= 6.13.0'} @@ -16391,7 +16442,6 @@ packages: prebuild-install@7.1.3: resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} engines: {node: '>=10'} - deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available. hasBin: true prelude-ls@1.2.1: @@ -17339,6 +17389,10 @@ packages: resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} engines: {node: '>=12'} + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -17931,8 +17985,8 @@ packages: svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0 typescript: ^4.9.4 || ^5.0.0 - svelte@5.51.5: - resolution: {integrity: sha512-/4tR5cLsWOgH3wnNRXnFoWaJlwPGbJanZPSKSD6nHM2y01dvXeEF4Nx7jevoZ+UpJpkIHh6mY2tqDncuI4GHng==} + svelte@5.51.2: + resolution: {integrity: sha512-AqApqNOxVS97V4Ko9UHTHeSuDJrwauJhZpLDs1gYD8Jk48ntCSWD7NxKje+fnGn5Ja1O3u2FzQZHPdifQjXe3w==} engines: {node: '>=18'} sveltedoc-parser@4.2.1: @@ -18314,70 +18368,36 @@ packages: tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - turbo-darwin-64@2.8.10: - resolution: {integrity: sha512-A03fXh+B7S8mL3PbdhTd+0UsaGrhfyPkODvzBDpKRY7bbeac4MDFpJ7I+Slf2oSkCEeSvHKR7Z4U71uKRUfX7g==} - cpu: [x64] - os: [darwin] - turbo-darwin-64@2.8.9: resolution: {integrity: sha512-KnCw1ZI9KTnEAhdI9avZrnZ/z4wsM++flMA1w8s8PKOqi5daGpFV36qoPafg4S8TmYMe52JPWEoFr0L+lQ5JIw==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.8.10: - resolution: {integrity: sha512-sidzowgWL3s5xCHLeqwC9M3s9M0i16W1nuQF3Mc7fPHpZ+YPohvcbVFBB2uoRRHYZg6yBnwD4gyUHKTeXfwtXA==} - cpu: [arm64] - os: [darwin] - turbo-darwin-arm64@2.8.9: resolution: {integrity: sha512-CbD5Y2NKJKBXTOZ7z7Cc7vGlFPZkYjApA7ri9lH4iFwKV1X7MoZswh9gyRLetXYWImVX1BqIvP8KftulJg/wIA==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.8.10: - resolution: {integrity: sha512-YK9vcpL3TVtqonB021XwgaQhY9hJJbKKUhLv16osxV0HkcQASQWUqR56yMge7puh6nxU67rQlTq1b7ksR1T3KA==} - cpu: [x64] - os: [linux] - turbo-linux-64@2.8.9: resolution: {integrity: sha512-OXC9HdCtsHvyH+5KUoH8ds+p5WU13vdif0OPbsFzZca4cUXMwKA3HWwUuCgQetk0iAE4cscXpi/t8A263n3VTg==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.8.10: - resolution: {integrity: sha512-3+j2tL0sG95iBJTm+6J8/45JsETQABPqtFyYjVjBbi6eVGdtNTiBmHNKrbvXRlQ3ZbUG75bKLaSSDHSEEN+btQ==} - cpu: [arm64] - os: [linux] - turbo-linux-arm64@2.8.9: resolution: {integrity: sha512-yI5n8jNXiFA6+CxnXG0gO7h5ZF1+19K8uO3/kXPQmyl37AdiA7ehKJQOvf9OPAnmkGDHcF2HSCPltabERNRmug==} cpu: [arm64] os: [linux] - turbo-windows-64@2.8.10: - resolution: {integrity: sha512-hdeF5qmVY/NFgiucf8FW0CWJWtyT2QPm5mIsX0W1DXAVzqKVXGq+Zf+dg4EUngAFKjDzoBeN6ec2Fhajwfztkw==} - cpu: [x64] - os: [win32] - turbo-windows-64@2.8.9: resolution: {integrity: sha512-/OztzeGftJAg258M/9vK2ZCkUKUzqrWXJIikiD2pm8TlqHcIYUmepDbyZSDfOiUjMy6NzrLFahpNLnY7b5vNgg==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.8.10: - resolution: {integrity: sha512-QGdr/Q8LWmj+ITMkSvfiz2glf0d7JG0oXVzGL3jxkGqiBI1zXFj20oqVY0qWi+112LO9SVrYdpHS0E/oGFrMbQ==} - cpu: [arm64] - os: [win32] - turbo-windows-arm64@2.8.9: resolution: {integrity: sha512-xZ2VTwVTjIqpFZKN4UBxDHCPM3oJ2J5cpRzCBSmRpJ/Pn33wpiYjs+9FB2E03svKaD04/lSSLlEUej0UYsugfg==} cpu: [arm64] os: [win32] - turbo@2.8.10: - resolution: {integrity: sha512-OxbzDES66+x7nnKGg2MwBA1ypVsZoDTLHpeaP4giyiHSixbsiTaMyeJqbEyvBdp5Cm28fc+8GG6RdQtic0ijwQ==} - hasBin: true - turbo@2.8.9: resolution: {integrity: sha512-G+Mq8VVQAlpz/0HTsxiNNk/xywaHGl+dk1oiBREgOEVCCDjXInDlONWUn5srRnC9s5tdHTFD1bx1N19eR4hI+g==} hasBin: true @@ -20452,6 +20472,10 @@ snapshots: '@chevrotain/utils@11.0.3': {} + '@choochmeque/tauri-plugin-notifications-api@0.4.3': + dependencies: + '@tauri-apps/api': 2.10.1 + '@chromatic-com/storybook@3.2.7(react@18.3.1)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))': dependencies: chromatic: 11.29.0 @@ -22979,9 +23003,9 @@ snapshots: '@hugeicons/core-free-icons@1.2.1': {} - '@hugeicons/svelte@1.1.1(svelte@5.51.5)': + '@hugeicons/svelte@1.1.1(svelte@5.51.2)': dependencies: - svelte: 5.51.5 + svelte: 5.51.2 '@humanfs/core@0.19.1': {} @@ -23014,10 +23038,10 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@iconify/svelte@5.2.1(svelte@5.51.5)': + '@iconify/svelte@5.2.1(svelte@5.51.2)': dependencies: '@iconify/types': 2.0.0 - svelte: 5.51.5 + svelte: 5.51.2 '@iconify/types@2.0.0': {} @@ -25384,7 +25408,7 @@ snapshots: '@repeaterjs/repeater@3.0.6': {} - '@replit/vite-plugin-cartographer@0.4.7': + '@replit/vite-plugin-cartographer@0.4.6': dependencies: '@babel/parser': 7.29.0 '@babel/traverse': 7.29.0 @@ -25680,35 +25704,35 @@ snapshots: storybook: 8.6.15(bufferutil@4.1.0)(prettier@3.8.1) ts-dedent: 2.2.0 - '@storybook/addon-svelte-csf@5.0.11(@storybook/svelte@8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5))(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(babel-plugin-macros@3.1.0)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@storybook/addon-svelte-csf@5.0.11(@storybook/svelte@8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2))(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(babel-plugin-macros@3.1.0)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@storybook/csf': 0.1.13 - '@storybook/svelte': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@storybook/svelte': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) dedent: 1.7.1(babel-plugin-macros@3.1.0) es-toolkit: 1.44.0 esrap: 1.4.9 magic-string: 0.30.21 storybook: 8.6.15(bufferutil@4.1.0)(prettier@3.8.1) - svelte: 5.51.5 - svelte-ast-print: 0.4.2(svelte@5.51.5) + svelte: 5.51.2 + svelte-ast-print: 0.4.2(svelte@5.51.2) vite: 6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) zimmerframe: 1.1.4 transitivePeerDependencies: - babel-plugin-macros - '@storybook/addon-svelte-csf@5.0.11(@storybook/svelte@9.1.17(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5))(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(babel-plugin-macros@3.1.0)(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@storybook/addon-svelte-csf@5.0.11(@storybook/svelte@9.1.17(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2))(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(babel-plugin-macros@3.1.0)(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@storybook/csf': 0.1.13 - '@storybook/svelte': 9.1.17(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5) - '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@storybook/svelte': 9.1.17(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2) + '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) dedent: 1.7.1(babel-plugin-macros@3.1.0) es-toolkit: 1.44.0 esrap: 1.4.9 magic-string: 0.30.21 storybook: 9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) - svelte: 5.51.5 - svelte-ast-print: 0.4.2(svelte@5.51.5) + svelte: 5.51.2 + svelte-ast-print: 0.4.2(svelte@5.51.2) vite: 7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) zimmerframe: 1.1.4 transitivePeerDependencies: @@ -25854,16 +25878,16 @@ snapshots: react-dom: 18.3.1(react@18.3.1) storybook: 8.6.15(bufferutil@4.1.0)(prettier@3.8.1) - '@storybook/svelte-vite@8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@storybook/svelte-vite@8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@storybook/builder-vite': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) - '@storybook/svelte': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@storybook/svelte': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) magic-string: 0.30.21 storybook: 8.6.15(bufferutil@4.1.0)(prettier@3.8.1) - svelte: 5.51.5 - svelte-preprocess: 5.1.4(@babel/core@7.29.0)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.97.3)(svelte@5.51.5)(typescript@5.8.2) - svelte2tsx: 0.7.48(svelte@5.51.5)(typescript@5.8.2) + svelte: 5.51.2 + svelte-preprocess: 5.1.4(@babel/core@7.29.0)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.97.3)(svelte@5.51.2)(typescript@5.8.2) + svelte2tsx: 0.7.48(svelte@5.51.2)(typescript@5.8.2) sveltedoc-parser: 4.2.1 ts-dedent: 2.2.0 typescript: 5.8.2 @@ -25880,16 +25904,16 @@ snapshots: - sugarss - supports-color - '@storybook/svelte-vite@8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@storybook/svelte-vite@8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@storybook/builder-vite': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) - '@storybook/svelte': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@storybook/svelte': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) magic-string: 0.30.21 storybook: 8.6.15(bufferutil@4.1.0)(prettier@3.8.1) - svelte: 5.51.5 - svelte-preprocess: 5.1.4(@babel/core@7.29.0)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.97.3)(svelte@5.51.5)(typescript@5.8.2) - svelte2tsx: 0.7.48(svelte@5.51.5)(typescript@5.8.2) + svelte: 5.51.2 + svelte-preprocess: 5.1.4(@babel/core@7.29.0)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.97.3)(svelte@5.51.2)(typescript@5.8.2) + svelte2tsx: 0.7.48(svelte@5.51.2)(typescript@5.8.2) sveltedoc-parser: 4.2.1 ts-dedent: 2.2.0 typescript: 5.8.2 @@ -25906,19 +25930,19 @@ snapshots: - sugarss - supports-color - '@storybook/svelte-vite@9.1.17(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@storybook/svelte-vite@9.1.17(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@storybook/builder-vite': 9.1.17(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) - '@storybook/svelte': 9.1.17(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5) - '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@storybook/svelte': 9.1.17(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2) + '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) magic-string: 0.30.21 storybook: 9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) - svelte: 5.51.5 - svelte2tsx: 0.7.48(svelte@5.51.5)(typescript@5.8.2) + svelte: 5.51.2 + svelte2tsx: 0.7.48(svelte@5.51.2)(typescript@5.8.2) typescript: 5.8.2 vite: 7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) - '@storybook/svelte@8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5)': + '@storybook/svelte@8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2)': dependencies: '@storybook/components': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1)) '@storybook/csf': 0.1.12 @@ -25927,28 +25951,28 @@ snapshots: '@storybook/preview-api': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1)) '@storybook/theming': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1)) storybook: 8.6.15(bufferutil@4.1.0)(prettier@3.8.1) - svelte: 5.51.5 + svelte: 5.51.2 sveltedoc-parser: 4.2.1 ts-dedent: 2.2.0 type-fest: 2.19.0 transitivePeerDependencies: - supports-color - '@storybook/svelte@9.1.17(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)': + '@storybook/svelte@9.1.17(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)': dependencies: storybook: 9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) - svelte: 5.51.5 + svelte: 5.51.2 ts-dedent: 2.2.0 type-fest: 2.19.0 - '@storybook/sveltekit@8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@storybook/sveltekit@8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@storybook/addon-actions': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1)) '@storybook/builder-vite': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) - '@storybook/svelte': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5) - '@storybook/svelte-vite': 8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@storybook/svelte': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2) + '@storybook/svelte-vite': 8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) storybook: 8.6.15(bufferutil@4.1.0)(prettier@3.8.1) - svelte: 5.51.5 + svelte: 5.51.2 vite: 6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@babel/core' @@ -25963,14 +25987,14 @@ snapshots: - sugarss - supports-color - '@storybook/sveltekit@8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@storybook/sveltekit@8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@storybook/addon-actions': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1)) '@storybook/builder-vite': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) - '@storybook/svelte': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5) - '@storybook/svelte-vite': 8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@storybook/svelte': 8.6.15(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2) + '@storybook/svelte-vite': 8.6.15(@babel/core@7.29.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.97.3)(storybook@8.6.15(bufferutil@4.1.0)(prettier@3.8.1))(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) storybook: 8.6.15(bufferutil@4.1.0)(prettier@3.8.1) - svelte: 5.51.5 + svelte: 5.51.2 vite: 6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@babel/core' @@ -25985,13 +26009,13 @@ snapshots: - sugarss - supports-color - '@storybook/sveltekit@9.1.17(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@storybook/sveltekit@9.1.17(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@storybook/builder-vite': 9.1.17(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) - '@storybook/svelte': 9.1.17(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5) - '@storybook/svelte-vite': 9.1.17(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@storybook/svelte': 9.1.17(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2) + '@storybook/svelte-vite': 9.1.17(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(storybook@9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) storybook: 9.1.17(@testing-library/dom@10.4.1)(bufferutil@4.1.0)(prettier@3.8.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) - svelte: 5.51.5 + svelte: 5.51.2 vite: 7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@sveltejs/vite-plugin-svelte' @@ -26028,159 +26052,162 @@ snapshots: dependencies: storybook: 8.6.15(bufferutil@4.1.0)(prettier@3.8.1) - '@svelte-put/shortcut@4.1.0(svelte@5.51.5)': + '@svelte-put/shortcut@4.1.0(svelte@5.51.2)': dependencies: - svelte: 5.51.5 + svelte: 5.51.2 - '@sveltejs/acorn-typescript@1.0.9(acorn@8.16.0)': + '@sveltejs/acorn-typescript@1.0.9(acorn@8.15.0)': dependencies: - acorn: 8.16.0 + acorn: 8.15.0 - '@sveltejs/adapter-node@5.5.3(@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))': + '@sveltejs/adapter-node@5.5.3(@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))': dependencies: '@rollup/plugin-commonjs': 29.0.0(rollup@4.57.1) '@rollup/plugin-json': 6.1.0(rollup@4.57.1) '@rollup/plugin-node-resolve': 16.0.3(rollup@4.57.1) - '@sveltejs/kit': 2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/kit': 2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) rollup: 4.57.1 - '@sveltejs/adapter-node@5.5.3(@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))': + '@sveltejs/adapter-node@5.5.3(@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))': dependencies: '@rollup/plugin-commonjs': 29.0.0(rollup@4.57.1) '@rollup/plugin-json': 6.1.0(rollup@4.57.1) '@rollup/plugin-node-resolve': 16.0.3(rollup@4.57.1) - '@sveltejs/kit': 2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/kit': 2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) rollup: 4.57.1 - '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.6.3)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))': + '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.6.3)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))': dependencies: - '@sveltejs/kit': 2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.6.3)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/kit': 2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.6.3)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) - '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))': + '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))': dependencies: - '@sveltejs/kit': 2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/kit': 2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) - '@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.6.3)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.6.3)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@standard-schema/spec': 1.1.0 - '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/acorn-typescript': 1.0.9(acorn@8.15.0) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@types/cookie': 0.6.0 - acorn: 8.16.0 + acorn: 8.15.0 cookie: 0.6.0 - devalue: 5.6.3 + devalue: 5.6.2 esm-env: 1.2.2 kleur: 4.1.5 magic-string: 0.30.21 mrmime: 2.0.1 + sade: 1.8.1 set-cookie-parser: 3.0.1 sirv: 3.0.2 - svelte: 5.51.5 + svelte: 5.51.2 vite: 6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) optionalDependencies: '@opentelemetry/api': 1.9.0 typescript: 5.6.3 - '@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@standard-schema/spec': 1.1.0 - '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/acorn-typescript': 1.0.9(acorn@8.15.0) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@types/cookie': 0.6.0 - acorn: 8.16.0 + acorn: 8.15.0 cookie: 0.6.0 - devalue: 5.6.3 + devalue: 5.6.2 esm-env: 1.2.2 kleur: 4.1.5 magic-string: 0.30.21 mrmime: 2.0.1 + sade: 1.8.1 set-cookie-parser: 3.0.1 sirv: 3.0.2 - svelte: 5.51.5 + svelte: 5.51.2 vite: 6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) optionalDependencies: '@opentelemetry/api': 1.9.0 typescript: 5.8.2 - '@sveltejs/kit@2.52.2(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(typescript@5.8.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@sveltejs/kit@2.52.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(typescript@5.8.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@standard-schema/spec': 1.1.0 - '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) - '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/acorn-typescript': 1.0.9(acorn@8.15.0) + '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@types/cookie': 0.6.0 - acorn: 8.16.0 + acorn: 8.15.0 cookie: 0.6.0 - devalue: 5.6.3 + devalue: 5.6.2 esm-env: 1.2.2 kleur: 4.1.5 magic-string: 0.30.21 mrmime: 2.0.1 + sade: 1.8.1 set-cookie-parser: 3.0.1 sirv: 3.0.2 - svelte: 5.51.5 + svelte: 5.51.2 vite: 7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) optionalDependencies: '@opentelemetry/api': 1.9.0 typescript: 5.8.2 - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) debug: 4.4.3(supports-color@5.5.0) - svelte: 5.51.5 + svelte: 5.51.2 vite: 6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) debug: 4.4.3(supports-color@5.5.0) - svelte: 5.51.5 + svelte: 5.51.2 vite: 6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) obug: 2.1.1 - svelte: 5.51.5 + svelte: 5.51.2 vite: 7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) - '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) debug: 4.4.3(supports-color@5.5.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.21 - svelte: 5.51.5 + svelte: 5.51.2 vite: 6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) vitefu: 1.1.1(vite@6.4.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) debug: 4.4.3(supports-color@5.5.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.21 - svelte: 5.51.5 + svelte: 5.51.2 vite: 6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) vitefu: 1.1.1(vite@6.4.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.5)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.51.2)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) deepmerge: 4.3.1 magic-string: 0.30.21 obug: 2.1.1 - svelte: 5.51.5 + svelte: 5.51.2 vite: 7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) vitefu: 1.1.1(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) @@ -26477,10 +26504,6 @@ snapshots: dependencies: '@tauri-apps/api': 2.10.1 - '@tauri-apps/plugin-notification@2.3.3': - dependencies: - '@tauri-apps/api': 2.10.1 - '@tauri-apps/plugin-opener@2.5.3': dependencies: '@tauri-apps/api': 2.10.1 @@ -28170,11 +28193,11 @@ snapshots: '@xtuc/long@4.2.2': {} - '@xyflow/svelte@1.5.0(svelte@5.51.5)': + '@xyflow/svelte@1.5.0(svelte@5.51.2)': dependencies: - '@svelte-put/shortcut': 4.1.0(svelte@5.51.5) + '@svelte-put/shortcut': 4.1.0(svelte@5.51.2) '@xyflow/system': 0.0.74 - svelte: 5.51.5 + svelte: 5.51.2 '@xyflow/system@0.0.74': dependencies: @@ -28221,10 +28244,6 @@ snapshots: dependencies: acorn: 8.15.0 - acorn-jsx@5.3.2(acorn@8.16.0): - dependencies: - acorn: 8.16.0 - acorn-walk@7.2.0: {} acorn-walk@8.3.4: @@ -28235,8 +28254,6 @@ snapshots: acorn@8.15.0: {} - acorn@8.16.0: {} - address@1.2.2: {} agent-base@6.0.2: @@ -28350,6 +28367,16 @@ snapshots: dependencies: '@yr/monotone-cubic-spline': 1.0.3 + apn@2.2.0: + dependencies: + debug: 3.2.7 + http2: https://github.com/node-apn/node-http2/archive/apn-2.1.4.tar.gz + jsonwebtoken: 8.5.1 + node-forge: 0.7.6 + verror: 1.10.0 + transitivePeerDependencies: + - supports-color + app-root-path@3.1.0: {} append-field@1.0.0: {} @@ -30110,7 +30137,7 @@ snapshots: transitivePeerDependencies: - supports-color - devalue@5.6.3: {} + devalue@5.6.2: {} devlop@1.1.0: dependencies: @@ -30567,7 +30594,7 @@ snapshots: esast-util-from-js@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 - acorn: 8.16.0 + acorn: 8.15.0 esast-util-from-estree: 2.0.0 vfile-message: 4.0.3 @@ -31047,7 +31074,7 @@ snapshots: - supports-color - typescript - eslint-plugin-svelte@3.15.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.51.5)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.8.2)): + eslint-plugin-svelte@3.15.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.51.2)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.8.2)): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) '@jridgewell/sourcemap-codec': 1.5.5 @@ -31059,13 +31086,13 @@ snapshots: postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.8.2)) postcss-safe-parser: 7.0.1(postcss@8.5.6) semver: 7.7.4 - svelte-eslint-parser: 1.4.1(svelte@5.51.5) + svelte-eslint-parser: 1.4.1(svelte@5.51.2) optionalDependencies: - svelte: 5.51.5 + svelte: 5.51.2 transitivePeerDependencies: - ts-node - eslint-plugin-svelte@3.15.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.51.5)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)): + eslint-plugin-svelte@3.15.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.51.2)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) '@jridgewell/sourcemap-codec': 1.5.5 @@ -31077,17 +31104,17 @@ snapshots: postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)) postcss-safe-parser: 7.0.1(postcss@8.5.6) semver: 7.7.4 - svelte-eslint-parser: 1.4.1(svelte@5.51.5) + svelte-eslint-parser: 1.4.1(svelte@5.51.2) optionalDependencies: - svelte: 5.51.5 + svelte: 5.51.2 transitivePeerDependencies: - ts-node - eslint-plugin-turbo@2.8.9(eslint@9.39.2(jiti@2.6.1))(turbo@2.8.10): + eslint-plugin-turbo@2.8.9(eslint@9.39.2(jiti@2.6.1))(turbo@2.8.9): dependencies: dotenv: 16.0.3 eslint: 9.39.2(jiti@2.6.1) - turbo: 2.8.10 + turbo: 2.8.9 eslint-scope@5.1.1: dependencies: @@ -31253,20 +31280,20 @@ snapshots: espree@10.4.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) eslint-visitor-keys: 4.2.1 espree@9.2.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) eslint-visitor-keys: 3.4.3 espree@9.6.1: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -31787,13 +31814,13 @@ snapshots: transitivePeerDependencies: - rollup - flowbite-svelte-icons@2.3.0(svelte@5.51.5): + flowbite-svelte-icons@2.3.0(svelte@5.51.2): dependencies: clsx: 2.1.1 - svelte: 5.51.5 + svelte: 5.51.2 tailwind-merge: 3.4.1 - flowbite-svelte@1.31.0(rollup@4.57.1)(svelte@5.51.5)(tailwindcss@4.1.18): + flowbite-svelte@1.31.0(rollup@4.57.1)(svelte@5.51.2)(tailwindcss@4.1.18): dependencies: '@floating-ui/dom': 1.7.5 '@floating-ui/utils': 0.2.10 @@ -31802,7 +31829,7 @@ snapshots: date-fns: 4.1.0 esm-env: 1.2.2 flowbite: 3.1.2(rollup@4.57.1) - svelte: 5.51.5 + svelte: 5.51.2 tailwind-merge: 3.4.1 tailwind-variants: 3.2.2(tailwind-merge@3.4.1)(tailwindcss@4.1.18) tailwindcss: 4.1.18 @@ -32559,6 +32586,8 @@ snapshots: quick-lru: 5.1.1 resolve-alpn: 1.2.1 + http2@https://github.com/node-apn/node-http2/archive/apn-2.1.4.tar.gz: {} + https-browserify@1.0.0: {} https-proxy-agent@5.0.1: @@ -33770,7 +33799,7 @@ snapshots: jsdom@19.0.0(bufferutil@4.1.0): dependencies: abab: 2.0.6 - acorn: 8.16.0 + acorn: 8.15.0 acorn-globals: 6.0.0 cssom: 0.5.0 cssstyle: 2.3.0 @@ -33853,6 +33882,19 @@ snapshots: '@jsep-plugin/regex': 1.0.4(jsep@1.4.0) jsep: 1.4.0 + jsonwebtoken@8.5.1: + dependencies: + jws: 3.2.3 + lodash.includes: 4.3.0 + lodash.isboolean: 3.0.3 + lodash.isinteger: 4.0.4 + lodash.isnumber: 3.0.3 + lodash.isplainobject: 4.0.6 + lodash.isstring: 4.0.1 + lodash.once: 4.1.1 + ms: 2.1.3 + semver: 5.7.2 + jsonwebtoken@9.0.3: dependencies: jws: 4.0.1 @@ -33882,6 +33924,12 @@ snapshots: object.assign: 4.1.7 object.values: 1.2.1 + jwa@1.4.2: + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: 5.2.1 + jwa@2.0.1: dependencies: buffer-equal-constant-time: 1.0.1 @@ -33898,6 +33946,11 @@ snapshots: transitivePeerDependencies: - supports-color + jws@3.2.3: + dependencies: + jwa: 1.4.2 + safe-buffer: 5.2.1 + jws@4.0.1: dependencies: jwa: 2.0.1 @@ -34182,9 +34235,9 @@ snapshots: dependencies: react: 18.3.1 - lucide-svelte@0.561.0(svelte@5.51.5): + lucide-svelte@0.561.0(svelte@5.51.2): dependencies: - svelte: 5.51.5 + svelte: 5.51.2 lz-string@1.5.0: {} @@ -34692,8 +34745,8 @@ snapshots: micromark-extension-mdxjs@3.0.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) micromark-extension-mdx-expression: 3.0.1 micromark-extension-mdx-jsx: 3.0.2 micromark-extension-mdx-md: 2.0.0 @@ -34982,7 +35035,7 @@ snapshots: mlly@1.8.0: dependencies: - acorn: 8.16.0 + acorn: 8.15.0 pathe: 2.0.3 pkg-types: 1.3.1 ufo: 1.6.3 @@ -35184,6 +35237,8 @@ snapshots: optionalDependencies: encoding: 0.1.13 + node-forge@0.7.6: {} + node-forge@1.3.3: {} node-gyp-build@4.8.4: @@ -36291,28 +36346,28 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.4.1(prettier@2.8.8)(svelte@5.51.5): + prettier-plugin-svelte@3.4.1(prettier@2.8.8)(svelte@5.51.2): dependencies: prettier: 2.8.8 - svelte: 5.51.5 + svelte: 5.51.2 optional: true - prettier-plugin-svelte@3.4.1(prettier@3.8.1)(svelte@5.51.5): + prettier-plugin-svelte@3.4.1(prettier@3.8.1)(svelte@5.51.2): dependencies: prettier: 3.8.1 - svelte: 5.51.5 + svelte: 5.51.2 - prettier-plugin-tailwindcss@0.7.2(prettier-plugin-svelte@3.4.1(prettier@2.8.8)(svelte@5.51.5))(prettier@2.8.8): + prettier-plugin-tailwindcss@0.7.2(prettier-plugin-svelte@3.4.1(prettier@2.8.8)(svelte@5.51.2))(prettier@2.8.8): dependencies: prettier: 2.8.8 optionalDependencies: - prettier-plugin-svelte: 3.4.1(prettier@2.8.8)(svelte@5.51.5) + prettier-plugin-svelte: 3.4.1(prettier@2.8.8)(svelte@5.51.2) - prettier-plugin-tailwindcss@0.7.2(prettier-plugin-svelte@3.4.1(prettier@3.8.1)(svelte@5.51.5))(prettier@3.8.1): + prettier-plugin-tailwindcss@0.7.2(prettier-plugin-svelte@3.4.1(prettier@3.8.1)(svelte@5.51.2))(prettier@3.8.1): dependencies: prettier: 3.8.1 optionalDependencies: - prettier-plugin-svelte: 3.4.1(prettier@3.8.1)(svelte@5.51.5) + prettier-plugin-svelte: 3.4.1(prettier@3.8.1)(svelte@5.51.2) prettier@2.8.8: {} @@ -37442,6 +37497,8 @@ snapshots: dependencies: semver: 7.7.4 + semver@5.7.2: {} + semver@6.3.1: {} semver@7.7.4: {} @@ -38116,37 +38173,37 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-ast-print@0.4.2(svelte@5.51.5): + svelte-ast-print@0.4.2(svelte@5.51.2): dependencies: esrap: 1.2.2 - svelte: 5.51.5 + svelte: 5.51.2 zimmerframe: 1.1.2 - svelte-check@4.4.0(picomatch@4.0.3)(svelte@5.51.5)(typescript@5.6.3): + svelte-check@4.4.0(picomatch@4.0.3)(svelte@5.51.2)(typescript@5.6.3): dependencies: '@jridgewell/trace-mapping': 0.3.31 chokidar: 4.0.3 fdir: 6.5.0(picomatch@4.0.3) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.51.5 + svelte: 5.51.2 typescript: 5.6.3 transitivePeerDependencies: - picomatch - svelte-check@4.4.0(picomatch@4.0.3)(svelte@5.51.5)(typescript@5.8.2): + svelte-check@4.4.0(picomatch@4.0.3)(svelte@5.51.2)(typescript@5.8.2): dependencies: '@jridgewell/trace-mapping': 0.3.31 chokidar: 4.0.3 fdir: 6.5.0(picomatch@4.0.3) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.51.5 + svelte: 5.51.2 typescript: 5.8.2 transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.4.1(svelte@5.51.5): + svelte-eslint-parser@1.4.1(svelte@5.51.2): dependencies: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -38155,20 +38212,20 @@ snapshots: postcss-scss: 4.0.9(postcss@8.5.6) postcss-selector-parser: 7.1.1 optionalDependencies: - svelte: 5.51.5 + svelte: 5.51.2 svelte-gestures@5.2.2: {} svelte-loading-spinners@0.3.6: {} - svelte-preprocess@5.1.4(@babel/core@7.29.0)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.97.3)(svelte@5.51.5)(typescript@5.8.2): + svelte-preprocess@5.1.4(@babel/core@7.29.0)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.11)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.97.3)(svelte@5.51.2)(typescript@5.8.2): dependencies: '@types/pug': 2.0.10 detect-indent: 6.1.0 magic-string: 0.30.21 sorcery: 0.11.1 strip-indent: 3.0.0 - svelte: 5.51.5 + svelte: 5.51.2 optionalDependencies: '@babel/core': 7.29.0 postcss: 8.5.6 @@ -38176,14 +38233,14 @@ snapshots: sass: 1.97.3 typescript: 5.8.2 - svelte-preprocess@5.1.4(@babel/core@7.29.0)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.97.3)(svelte@5.51.5)(typescript@5.8.2): + svelte-preprocess@5.1.4(@babel/core@7.29.0)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.13)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.97.3)(svelte@5.51.2)(typescript@5.8.2): dependencies: '@types/pug': 2.0.10 detect-indent: 6.1.0 magic-string: 0.30.21 sorcery: 0.11.1 strip-indent: 3.0.0 - svelte: 5.51.5 + svelte: 5.51.2 optionalDependencies: '@babel/core': 7.29.0 postcss: 8.5.6 @@ -38191,34 +38248,34 @@ snapshots: sass: 1.97.3 typescript: 5.8.2 - svelte-qrcode-action@1.0.2(svelte@5.51.5): + svelte-qrcode-action@1.0.2(svelte@5.51.2): dependencies: styled-qr-code: 1.0.0 - svelte: 5.51.5 + svelte: 5.51.2 svelte-qrcode@1.0.1: dependencies: qrious: 4.0.2 - svelte2tsx@0.7.48(svelte@5.51.5)(typescript@5.8.2): + svelte2tsx@0.7.48(svelte@5.51.2)(typescript@5.8.2): dependencies: dedent-js: 1.0.1 scule: 1.3.0 - svelte: 5.51.5 + svelte: 5.51.2 typescript: 5.8.2 - svelte@5.51.5: + svelte@5.51.2: dependencies: '@jridgewell/remapping': 2.3.5 '@jridgewell/sourcemap-codec': 1.5.5 - '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) + '@sveltejs/acorn-typescript': 1.0.9(acorn@8.15.0) '@types/estree': 1.0.8 '@types/trusted-types': 2.0.7 - acorn: 8.16.0 + acorn: 8.15.0 aria-query: 5.3.2 axobject-query: 4.1.0 clsx: 2.1.1 - devalue: 5.6.3 + devalue: 5.6.2 esm-env: 1.2.2 esrap: 2.2.3 is-reference: 3.0.3 @@ -38386,7 +38443,7 @@ snapshots: terser@5.46.0: dependencies: '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 + acorn: 8.15.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -38762,51 +38819,24 @@ snapshots: dependencies: safe-buffer: 5.2.1 - turbo-darwin-64@2.8.10: - optional: true - turbo-darwin-64@2.8.9: optional: true - turbo-darwin-arm64@2.8.10: - optional: true - turbo-darwin-arm64@2.8.9: optional: true - turbo-linux-64@2.8.10: - optional: true - turbo-linux-64@2.8.9: optional: true - turbo-linux-arm64@2.8.10: - optional: true - turbo-linux-arm64@2.8.9: optional: true - turbo-windows-64@2.8.10: - optional: true - turbo-windows-64@2.8.9: optional: true - turbo-windows-arm64@2.8.10: - optional: true - turbo-windows-arm64@2.8.9: optional: true - turbo@2.8.10: - optionalDependencies: - turbo-darwin-64: 2.8.10 - turbo-darwin-arm64: 2.8.10 - turbo-linux-64: 2.8.10 - turbo-linux-arm64: 2.8.10 - turbo-windows-64: 2.8.10 - turbo-windows-arm64: 2.8.10 - turbo@2.8.9: optionalDependencies: turbo-darwin-64: 2.8.9 @@ -39045,13 +39075,13 @@ snapshots: unplugin@1.16.1: dependencies: - acorn: 8.16.0 + acorn: 8.15.0 webpack-virtual-modules: 0.6.2 unplugin@2.3.11: dependencies: '@jridgewell/remapping': 2.3.5 - acorn: 8.16.0 + acorn: 8.15.0 picomatch: 4.0.3 webpack-virtual-modules: 0.6.2 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 0c7b2afb4..4f615292b 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -5,6 +5,7 @@ packages: - platforms/*/* - infrastructure/* - services/* + - notification-trigger - tests/ - docs/ onlyBuiltDependencies: