From 5552f331ada203e2c5aa63cf248bce1312ae006b Mon Sep 17 00:00:00 2001 From: Merul Dhiman Date: Tue, 9 Dec 2025 22:16:00 +0530 Subject: [PATCH 1/5] chore: rebase main --- .../src/routes/(app)/scan-qr/scanLogic.ts | 61 ++++++++++++++++--- 1 file changed, 52 insertions(+), 9 deletions(-) diff --git a/infrastructure/eid-wallet/src/routes/(app)/scan-qr/scanLogic.ts b/infrastructure/eid-wallet/src/routes/(app)/scan-qr/scanLogic.ts index 9c6d036cb..4b20e17a1 100644 --- a/infrastructure/eid-wallet/src/routes/(app)/scan-qr/scanLogic.ts +++ b/infrastructure/eid-wallet/src/routes/(app)/scan-qr/scanLogic.ts @@ -79,6 +79,7 @@ interface ScanStores { authError: Writable; signingError: Writable; authLoading: Writable; + isFromScan: Writable; } interface ScanActions { @@ -143,6 +144,7 @@ export function createScanLogic({ const authError = writable(null); const signingError = writable(null); const authLoading = writable(false); + const isFromScan = writable(false); let permissionsNullable: PermissionState | null = null; @@ -284,17 +286,55 @@ export function createScanLogic({ ); } - // Strip path from redirectUri and append /deeplink-login - const loginUrl = new URL("/deeplink-login", redirectUrl); - loginUrl.searchParams.set("ename", vault.ename); - loginUrl.searchParams.set("session", get(session) as string); - loginUrl.searchParams.set("signature", signature); - loginUrl.searchParams.set("appVersion", "0.4.0"); + const fromScan = get(isFromScan); + + if (fromScan) { + // For scan: Make POST request with JSON payload + const payload = { + ename: vault.ename, + session: get(session) as string, + signature: signature, + appVersion: "0.4.0", + }; + + console.log(`📤 Making POST request to: ${redirectUrl}`); + console.log(`📦 Payload:`, payload); + + const response = await fetch(redirectUrl, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(payload), + }); + + if (!response.ok) { + throw new Error( + `Failed to submit authentication: ${response.status} ${response.statusText}`, + ); + } - console.log(`🔗 Opening login URL: ${loginUrl.toString()}`); + console.log(`✅ POST request successful`); - // Open URL in browser using tauri opener - await openUrl(loginUrl.toString()); + // For scan: Close drawer and show success, skip deeplink redirect logic + codeScannedDrawerOpen.set(false); + loggedInDrawerOpen.set(true); + startScan(); + return; + } else { + // For deeplink: Open URL with encoded URI + // Strip path from redirectUri and append /deeplink-login + const loginUrl = new URL("/deeplink-login", redirectUrl); + loginUrl.searchParams.set("ename", vault.ename); + loginUrl.searchParams.set("session", get(session) as string); + loginUrl.searchParams.set("signature", signature); + loginUrl.searchParams.set("appVersion", "0.4.0"); + + console.log(`🔗 Opening login URL: ${loginUrl.toString()}`); + + // Open URL in browser using tauri opener + await openUrl(loginUrl.toString()); + } // Close the auth drawer first codeScannedDrawerOpen.set(false); @@ -417,6 +457,7 @@ export function createScanLogic({ hostname.set(redirectUrl.hostname); isSigningRequest.set(false); authError.set(null); // Clear any previous auth errors + isFromScan.set(true); // Mark that this auth request came from scanning codeScannedDrawerOpen.set(true); } @@ -1148,6 +1189,7 @@ export function createScanLogic({ isSigningRequest.set(false); authError.set(null); // Clear any previous auth errors + isFromScan.set(false); // Mark that this auth request came from deeplink codeScannedDrawerOpen.set(true); } else if (data.type === "sign") { console.log("Handling signing deep link"); @@ -1395,6 +1437,7 @@ export function createScanLogic({ authError, signingError, authLoading, + isFromScan, }, actions: { startScan, From 03110dc9b38570fc33db3fd2aa7d82ca229122f9 Mon Sep 17 00:00:00 2001 From: Merul Dhiman Date: Tue, 9 Dec 2025 23:29:39 +0530 Subject: [PATCH 2/5] chore: logs --- .../src/lib/global/controllers/evault.ts | 57 +++++++++++++------ .../evault-core/src/core/http/server.ts | 46 +++++++++++++-- 2 files changed, 79 insertions(+), 24 deletions(-) diff --git a/infrastructure/eid-wallet/src/lib/global/controllers/evault.ts b/infrastructure/eid-wallet/src/lib/global/controllers/evault.ts index bc39e07df..3357c00c4 100644 --- a/infrastructure/eid-wallet/src/lib/global/controllers/evault.ts +++ b/infrastructure/eid-wallet/src/lib/global/controllers/evault.ts @@ -91,37 +91,53 @@ export class VaultController { * Checks if public key was already saved, calls /whois, and PATCH if needed */ async syncPublicKey(eName: string): Promise { + console.log("=".repeat(70)); + console.log(`🔄 [syncPublicKey] Called for eName: ${eName}`); + console.log("=".repeat(70)); + try { // Check if we've already saved the public key const savedKey = localStorage.getItem(`publicKeySaved_${eName}`); + console.log(`[syncPublicKey] localStorage check: ${savedKey ? `found "${savedKey}"` : "not found"}`); if (savedKey === "true") { console.log( - `Public key already saved for ${eName}, skipping sync`, + `[syncPublicKey] Public key already saved for ${eName}, skipping sync`, ); return; } if (!this.#keyService) { console.warn( - "KeyService not available, cannot sync public key", + "[syncPublicKey] KeyService not available, cannot sync public key", ); return; } + console.log("[syncPublicKey] KeyService available ✓"); // Get the eVault URI const vault = await this.vault; + console.log(`[syncPublicKey] Vault:`, vault ? { uri: vault.uri, ename: vault.ename } : "null"); if (!vault?.uri) { - console.warn("No vault URI available, cannot sync public key"); + console.warn("[syncPublicKey] No vault URI available, cannot sync public key"); return; } + console.log(`[syncPublicKey] Vault URI available: ${vault.uri} ✓`); // Call /whois to check if public key exists const whoisUrl = new URL("/whois", vault.uri).toString(); + console.log(`[syncPublicKey] Calling whois: ${whoisUrl}`); const whoisResponse = await axios.get(whoisUrl, { headers: { "X-ENAME": eName, }, }); + console.log(`[syncPublicKey] Whois response status: ${whoisResponse.status}`); + console.log(`[syncPublicKey] Whois response data:`, { + w3id: whoisResponse.data?.w3id, + keyBindingCertificatesCount: Array.isArray(whoisResponse.data?.keyBindingCertificates) + ? whoisResponse.data.keyBindingCertificates.length + : "not an array or missing" + }); // Get key binding certificates array from whois response const keyBindingCertificates = @@ -131,28 +147,36 @@ export class VaultController { const KEY_ID = "default"; const isFake = await this.#userController.isFake; const context = isFake ? "pre-verification" : "onboarding"; + console.log(`[syncPublicKey] Key context: ${context} (isFake: ${isFake})`); let currentPublicKey: string | undefined; try { + console.log(`[syncPublicKey] Getting current device's public key...`); currentPublicKey = await this.#keyService.getPublicKey( KEY_ID, context, ); + console.log(`[syncPublicKey] Current public key retrieved: ${currentPublicKey ? `${currentPublicKey.substring(0, 60)}...` : "null"}`); } catch (error) { console.error( - "Failed to get current public key for comparison:", + "[syncPublicKey] Failed to get current public key for comparison:", error, ); // Continue to sync anyway } // If we have certificates and current key, check if it already exists + console.log(`[syncPublicKey] Checking if key exists in certificates...`); + console.log(`[syncPublicKey] - keyBindingCertificates: ${keyBindingCertificates ? (Array.isArray(keyBindingCertificates) ? `array with ${keyBindingCertificates.length} items` : "not an array") : "null/undefined"}`); + console.log(`[syncPublicKey] - currentPublicKey: ${currentPublicKey ? "exists" : "null/undefined"}`); + if ( keyBindingCertificates && Array.isArray(keyBindingCertificates) && keyBindingCertificates.length > 0 && currentPublicKey ) { + console.log(`[syncPublicKey] Verifying certificates to check if current key exists...`); try { // Get registry JWKS for JWT verification const registryUrl = PUBLIC_REGISTRY_URL; @@ -211,13 +235,8 @@ export class VaultController { } } - console.log("=".repeat(70)); - console.log("🔄 [VaultController] syncPublicKey called"); - console.log("=".repeat(70)); - console.log(`eName: ${eName}`); - console.log(`Key ID for sync: ${KEY_ID}`); - console.log(`Context for sync: ${context}`); - console.log(`Is fake/pre-verification: ${isFake}`); + console.log(`[syncPublicKey] Key not found in existing certificates, proceeding to sync...`); + console.log(`[syncPublicKey] Getting public key for sync (KEY_ID: ${KEY_ID}, context: ${context})...`); // Get public key using the same method as getApplicationPublicKey() in onboarding/verify let publicKey: string | undefined; @@ -227,12 +246,11 @@ export class VaultController { context, ); console.log( - `Public key retrieved: ${publicKey?.substring(0, 60)}...`, + `[syncPublicKey] Public key retrieved: ${publicKey ? `${publicKey.substring(0, 60)}...` : "null"}`, ); - console.log(`Public key (full): ${publicKey}`); } catch (error) { console.error( - `Failed to get public key for ${KEY_ID} with context ${context}:`, + `[syncPublicKey] Failed to get public key for ${KEY_ID} with context ${context}:`, error, ); return; @@ -240,11 +258,10 @@ export class VaultController { if (!publicKey) { console.warn( - `No public key found for ${KEY_ID} with context ${context}, cannot sync`, + `[syncPublicKey] No public key found for ${KEY_ID} with context ${context}, cannot sync`, ); return; } - console.log("=".repeat(70)); // Get authentication token from environment variable const authToken = PUBLIC_EID_WALLET_TOKEN || null; @@ -265,13 +282,17 @@ export class VaultController { headers.Authorization = `Bearer ${authToken}`; } + console.log(`[syncPublicKey] Patching public key to: ${patchUrl}`); await axios.patch(patchUrl, { publicKey }, { headers }); + console.log(`[syncPublicKey] PATCH request successful ✓`); // Mark as saved localStorage.setItem(`publicKeySaved_${eName}`, "true"); - console.log(`Public key synced successfully for ${eName}`); + console.log(`[syncPublicKey] ✓ Public key synced successfully for ${eName}`); + console.log("=".repeat(70)); } catch (error) { - console.error("Failed to sync public key:", error); + console.error("[syncPublicKey] ✗ Failed to sync public key:", error); + console.log("=".repeat(70)); // Don't throw - this is a non-critical operation } } diff --git a/infrastructure/evault-core/src/core/http/server.ts b/infrastructure/evault-core/src/core/http/server.ts index 9a5a72eeb..1980fe1c3 100644 --- a/infrastructure/evault-core/src/core/http/server.ts +++ b/infrastructure/evault-core/src/core/http/server.ts @@ -94,18 +94,32 @@ export async function registerHttpRoutes( .send({ error: "X-ENAME header is required" }); } + console.log("=".repeat(70)); + console.log(`[WHOIS] Request for eName: ${eName}`); + console.log("=".repeat(70)); + // Get public keys from database if dbService is available let publicKeys: string[] = []; if (dbService) { try { publicKeys = await dbService.getPublicKeys(eName); + console.log(`[WHOIS] Retrieved ${publicKeys.length} public key(s) from database for ${eName}`); + if (publicKeys.length > 0) { + publicKeys.forEach((key, index) => { + console.log(`[WHOIS] Public key ${index + 1}: ${key.substring(0, 60)}...`); + }); + } else { + console.log(`[WHOIS] No public keys found in database for ${eName}`); + } } catch (error) { console.error( - "Error getting public keys from database:", + "[WHOIS] Error getting public keys from database:", error, ); // Continue with empty array } + } else { + console.log("[WHOIS] dbService not available"); } // Generate key binding certificates for each public key @@ -113,10 +127,16 @@ export async function registerHttpRoutes( const registryUrl = process.env.PUBLIC_REGISTRY_URL || process.env.REGISTRY_URL; const sharedSecret = process.env.REGISTRY_SHARED_SECRET; + console.log(`[WHOIS] Registry URL: ${registryUrl ? "configured" : "NOT configured"}`); + console.log(`[WHOIS] Shared secret: ${sharedSecret ? "configured" : "NOT configured"}`); + if (registryUrl && sharedSecret && publicKeys.length > 0) { + console.log(`[WHOIS] Generating key binding certificates for ${publicKeys.length} public key(s)...`); try { - for (const publicKey of publicKeys) { + for (let i = 0; i < publicKeys.length; i++) { + const publicKey = publicKeys[i]; try { + console.log(`[WHOIS] Generating certificate ${i + 1}/${publicKeys.length}...`); const response = await axios.post( new URL("/key-binding-certificate", registryUrl).toString(), { @@ -132,29 +152,43 @@ export async function registerHttpRoutes( ); if (response.data?.token) { keyBindingCertificates.push(response.data.token); + console.log(`[WHOIS] ✓ Certificate ${i + 1} generated successfully`); + } else { + console.warn(`[WHOIS] ✗ Certificate ${i + 1} response missing token`); } } catch (error) { console.error( - `Error generating key binding certificate for public key:`, - error, + `[WHOIS] ✗ Error generating key binding certificate ${i + 1}:`, + error instanceof Error ? error.message : String(error), ); // Continue with other keys even if one fails } } } catch (error) { console.error( - "Error generating key binding certificates:", + "[WHOIS] Error generating key binding certificates:", error, ); // Return empty array if generation fails } + } else { + if (!registryUrl) { + console.warn("[WHOIS] Cannot generate certificates: Registry URL not configured"); + } + if (!sharedSecret) { + console.warn("[WHOIS] Cannot generate certificates: Shared secret not configured"); + } + if (publicKeys.length === 0) { + console.log("[WHOIS] No public keys to generate certificates for"); + } } const result = { w3id: eName, keyBindingCertificates: keyBindingCertificates, }; - console.log("Whois request:", result); + console.log(`[WHOIS] Response: ${keyBindingCertificates.length} certificate(s) for ${eName}`); + console.log("=".repeat(70)); return result; }, ); From 9a74267141f1c1730db390fe323ae8fc3d6465cf Mon Sep 17 00:00:00 2001 From: Merul Dhiman Date: Tue, 9 Dec 2025 23:45:54 +0530 Subject: [PATCH 3/5] fix: evault logic --- .../src/lib/global/controllers/evault.ts | 57 +++---------------- .../evault-core/src/core/http/server.ts | 50 +++------------- 2 files changed, 18 insertions(+), 89 deletions(-) diff --git a/infrastructure/eid-wallet/src/lib/global/controllers/evault.ts b/infrastructure/eid-wallet/src/lib/global/controllers/evault.ts index 3357c00c4..ff1be10ba 100644 --- a/infrastructure/eid-wallet/src/lib/global/controllers/evault.ts +++ b/infrastructure/eid-wallet/src/lib/global/controllers/evault.ts @@ -91,53 +91,32 @@ export class VaultController { * Checks if public key was already saved, calls /whois, and PATCH if needed */ async syncPublicKey(eName: string): Promise { - console.log("=".repeat(70)); - console.log(`🔄 [syncPublicKey] Called for eName: ${eName}`); - console.log("=".repeat(70)); - try { - // Check if we've already saved the public key + // Note: We always check the actual source (whois endpoint) instead of relying on localStorage + // localStorage flag is only used as a hint, but we verify against the server const savedKey = localStorage.getItem(`publicKeySaved_${eName}`); - console.log(`[syncPublicKey] localStorage check: ${savedKey ? `found "${savedKey}"` : "not found"}`); - if (savedKey === "true") { - console.log( - `[syncPublicKey] Public key already saved for ${eName}, skipping sync`, - ); - return; - } if (!this.#keyService) { console.warn( - "[syncPublicKey] KeyService not available, cannot sync public key", + "KeyService not available, cannot sync public key", ); return; } - console.log("[syncPublicKey] KeyService available ✓"); // Get the eVault URI const vault = await this.vault; - console.log(`[syncPublicKey] Vault:`, vault ? { uri: vault.uri, ename: vault.ename } : "null"); if (!vault?.uri) { - console.warn("[syncPublicKey] No vault URI available, cannot sync public key"); + console.warn("No vault URI available, cannot sync public key"); return; } - console.log(`[syncPublicKey] Vault URI available: ${vault.uri} ✓`); // Call /whois to check if public key exists const whoisUrl = new URL("/whois", vault.uri).toString(); - console.log(`[syncPublicKey] Calling whois: ${whoisUrl}`); const whoisResponse = await axios.get(whoisUrl, { headers: { "X-ENAME": eName, }, }); - console.log(`[syncPublicKey] Whois response status: ${whoisResponse.status}`); - console.log(`[syncPublicKey] Whois response data:`, { - w3id: whoisResponse.data?.w3id, - keyBindingCertificatesCount: Array.isArray(whoisResponse.data?.keyBindingCertificates) - ? whoisResponse.data.keyBindingCertificates.length - : "not an array or missing" - }); // Get key binding certificates array from whois response const keyBindingCertificates = @@ -147,36 +126,28 @@ export class VaultController { const KEY_ID = "default"; const isFake = await this.#userController.isFake; const context = isFake ? "pre-verification" : "onboarding"; - console.log(`[syncPublicKey] Key context: ${context} (isFake: ${isFake})`); let currentPublicKey: string | undefined; try { - console.log(`[syncPublicKey] Getting current device's public key...`); currentPublicKey = await this.#keyService.getPublicKey( KEY_ID, context, ); - console.log(`[syncPublicKey] Current public key retrieved: ${currentPublicKey ? `${currentPublicKey.substring(0, 60)}...` : "null"}`); } catch (error) { console.error( - "[syncPublicKey] Failed to get current public key for comparison:", + "Failed to get current public key for comparison:", error, ); // Continue to sync anyway } // If we have certificates and current key, check if it already exists - console.log(`[syncPublicKey] Checking if key exists in certificates...`); - console.log(`[syncPublicKey] - keyBindingCertificates: ${keyBindingCertificates ? (Array.isArray(keyBindingCertificates) ? `array with ${keyBindingCertificates.length} items` : "not an array") : "null/undefined"}`); - console.log(`[syncPublicKey] - currentPublicKey: ${currentPublicKey ? "exists" : "null/undefined"}`); - if ( keyBindingCertificates && Array.isArray(keyBindingCertificates) && keyBindingCertificates.length > 0 && currentPublicKey ) { - console.log(`[syncPublicKey] Verifying certificates to check if current key exists...`); try { // Get registry JWKS for JWT verification const registryUrl = PUBLIC_REGISTRY_URL; @@ -235,9 +206,6 @@ export class VaultController { } } - console.log(`[syncPublicKey] Key not found in existing certificates, proceeding to sync...`); - console.log(`[syncPublicKey] Getting public key for sync (KEY_ID: ${KEY_ID}, context: ${context})...`); - // Get public key using the same method as getApplicationPublicKey() in onboarding/verify let publicKey: string | undefined; try { @@ -245,12 +213,9 @@ export class VaultController { KEY_ID, context, ); - console.log( - `[syncPublicKey] Public key retrieved: ${publicKey ? `${publicKey.substring(0, 60)}...` : "null"}`, - ); } catch (error) { console.error( - `[syncPublicKey] Failed to get public key for ${KEY_ID} with context ${context}:`, + `Failed to get public key for ${KEY_ID} with context ${context}:`, error, ); return; @@ -258,7 +223,7 @@ export class VaultController { if (!publicKey) { console.warn( - `[syncPublicKey] No public key found for ${KEY_ID} with context ${context}, cannot sync`, + `No public key found for ${KEY_ID} with context ${context}, cannot sync`, ); return; } @@ -282,17 +247,13 @@ export class VaultController { headers.Authorization = `Bearer ${authToken}`; } - console.log(`[syncPublicKey] Patching public key to: ${patchUrl}`); await axios.patch(patchUrl, { publicKey }, { headers }); - console.log(`[syncPublicKey] PATCH request successful ✓`); // Mark as saved localStorage.setItem(`publicKeySaved_${eName}`, "true"); - console.log(`[syncPublicKey] ✓ Public key synced successfully for ${eName}`); - console.log("=".repeat(70)); + console.log(`Public key synced successfully for ${eName}`); } catch (error) { - console.error("[syncPublicKey] ✗ Failed to sync public key:", error); - console.log("=".repeat(70)); + console.error("Failed to sync public key:", error); // Don't throw - this is a non-critical operation } } diff --git a/infrastructure/evault-core/src/core/http/server.ts b/infrastructure/evault-core/src/core/http/server.ts index 1980fe1c3..98581d5b2 100644 --- a/infrastructure/evault-core/src/core/http/server.ts +++ b/infrastructure/evault-core/src/core/http/server.ts @@ -72,7 +72,10 @@ export async function registerHttpRoutes( type: "object", properties: { w3id: { type: "string" }, - publicKey: { type: "string", nullable: true }, + keyBindingCertificates: { + type: "array", + items: { type: "string" }, + }, }, }, 400: { @@ -94,32 +97,18 @@ export async function registerHttpRoutes( .send({ error: "X-ENAME header is required" }); } - console.log("=".repeat(70)); - console.log(`[WHOIS] Request for eName: ${eName}`); - console.log("=".repeat(70)); - // Get public keys from database if dbService is available let publicKeys: string[] = []; if (dbService) { try { publicKeys = await dbService.getPublicKeys(eName); - console.log(`[WHOIS] Retrieved ${publicKeys.length} public key(s) from database for ${eName}`); - if (publicKeys.length > 0) { - publicKeys.forEach((key, index) => { - console.log(`[WHOIS] Public key ${index + 1}: ${key.substring(0, 60)}...`); - }); - } else { - console.log(`[WHOIS] No public keys found in database for ${eName}`); - } } catch (error) { console.error( - "[WHOIS] Error getting public keys from database:", + "Error getting public keys from database:", error, ); // Continue with empty array } - } else { - console.log("[WHOIS] dbService not available"); } // Generate key binding certificates for each public key @@ -127,16 +116,10 @@ export async function registerHttpRoutes( const registryUrl = process.env.PUBLIC_REGISTRY_URL || process.env.REGISTRY_URL; const sharedSecret = process.env.REGISTRY_SHARED_SECRET; - console.log(`[WHOIS] Registry URL: ${registryUrl ? "configured" : "NOT configured"}`); - console.log(`[WHOIS] Shared secret: ${sharedSecret ? "configured" : "NOT configured"}`); - if (registryUrl && sharedSecret && publicKeys.length > 0) { - console.log(`[WHOIS] Generating key binding certificates for ${publicKeys.length} public key(s)...`); try { - for (let i = 0; i < publicKeys.length; i++) { - const publicKey = publicKeys[i]; + for (const publicKey of publicKeys) { try { - console.log(`[WHOIS] Generating certificate ${i + 1}/${publicKeys.length}...`); const response = await axios.post( new URL("/key-binding-certificate", registryUrl).toString(), { @@ -152,43 +135,28 @@ export async function registerHttpRoutes( ); if (response.data?.token) { keyBindingCertificates.push(response.data.token); - console.log(`[WHOIS] ✓ Certificate ${i + 1} generated successfully`); - } else { - console.warn(`[WHOIS] ✗ Certificate ${i + 1} response missing token`); } } catch (error) { console.error( - `[WHOIS] ✗ Error generating key binding certificate ${i + 1}:`, - error instanceof Error ? error.message : String(error), + `Error generating key binding certificate for public key:`, + error, ); // Continue with other keys even if one fails } } } catch (error) { console.error( - "[WHOIS] Error generating key binding certificates:", + "Error generating key binding certificates:", error, ); // Return empty array if generation fails } - } else { - if (!registryUrl) { - console.warn("[WHOIS] Cannot generate certificates: Registry URL not configured"); - } - if (!sharedSecret) { - console.warn("[WHOIS] Cannot generate certificates: Shared secret not configured"); - } - if (publicKeys.length === 0) { - console.log("[WHOIS] No public keys to generate certificates for"); - } } const result = { w3id: eName, keyBindingCertificates: keyBindingCertificates, }; - console.log(`[WHOIS] Response: ${keyBindingCertificates.length} certificate(s) for ${eName}`); - console.log("=".repeat(70)); return result; }, ); From 0679f2fe40dc5a77f5f54830da38a48aa0909c6c Mon Sep 17 00:00:00 2001 From: Merul Dhiman Date: Tue, 9 Dec 2025 23:54:32 +0530 Subject: [PATCH 4/5] chore: fix emover publicKey usage --- platforms/emover-api/package.json | 1 + .../src/services/MigrationService.ts | 65 +++- pnpm-lock.yaml | 297 ++++++++++++------ 3 files changed, 251 insertions(+), 112 deletions(-) diff --git a/platforms/emover-api/package.json b/platforms/emover-api/package.json index 4d7c5929c..31578e45a 100644 --- a/platforms/emover-api/package.json +++ b/platforms/emover-api/package.json @@ -17,6 +17,7 @@ "cors": "^2.8.5", "dotenv": "^16.4.5", "express": "^4.18.2", + "jose": "^5.2.0", "jsonwebtoken": "^9.0.2", "pg": "^8.11.3", "reflect-metadata": "^0.2.1", diff --git a/platforms/emover-api/src/services/MigrationService.ts b/platforms/emover-api/src/services/MigrationService.ts index c74514970..75cb5d7d4 100644 --- a/platforms/emover-api/src/services/MigrationService.ts +++ b/platforms/emover-api/src/services/MigrationService.ts @@ -1,6 +1,7 @@ import { randomUUID } from "crypto"; import { EventEmitter } from "events"; import axios from "axios"; +import * as jose from "jose"; import { AppDataSource } from "../database/data-source"; import { Migration, MigrationStatus } from "../database/entities/Migration"; @@ -86,17 +87,65 @@ export class MigrationService extends EventEmitter { }, }, ); - if (whoisResponse.data.publicKey) { - publicKey = whoisResponse.data.publicKey; - console.log( - `[MIGRATION] Retrieved public key from old evault: ${publicKey.substring(0, 20)}...`, - ); - migration.logs += `[MIGRATION] Retrieved public key from old evault\n`; + + // Extract public key from keyBindingCertificates array + const keyBindingCertificates = whoisResponse.data?.keyBindingCertificates; + if (keyBindingCertificates && Array.isArray(keyBindingCertificates) && keyBindingCertificates.length > 0) { + try { + // Get registry JWKS for JWT verification + const jwksUrl = new URL("/.well-known/jwks.json", this.registryUrl).toString(); + const jwksResponse = await axios.get(jwksUrl, { + timeout: 10000, + }); + const JWKS = jose.createLocalJWKSet(jwksResponse.data); + + // Extract public key from first certificate (or try all until one works) + for (const jwt of keyBindingCertificates) { + try { + const { payload } = await jose.jwtVerify(jwt, JWKS); + + // Verify ename matches + if (payload.ename !== eName) { + continue; + } + + // Extract publicKey from JWT payload + const extractedPublicKey = payload.publicKey as string; + if (extractedPublicKey) { + publicKey = extractedPublicKey; + console.log( + `[MIGRATION] Retrieved public key from old evault: ${publicKey.substring(0, 20)}...`, + ); + migration.logs += `[MIGRATION] Retrieved public key from old evault\n`; + break; // Found valid key, exit loop + } + } catch (error) { + // JWT verification failed, try next certificate + console.warn( + `[MIGRATION] Failed to verify key binding certificate, trying next...`, + ); + continue; + } + } + + if (publicKey === "0x0000000000000000000000000000000000000000") { + console.warn( + `[MIGRATION] No valid public key found in certificates, using default`, + ); + migration.logs += `[MIGRATION] Warning: No valid public key found in certificates, using default\n`; + } + } catch (error) { + console.error( + `[MIGRATION ERROR] Failed to verify key binding certificates:`, + error, + ); + migration.logs += `[MIGRATION ERROR] Failed to verify certificates, using default\n`; + } } else { console.warn( - `[MIGRATION] No public key found in old evault, using default`, + `[MIGRATION] No key binding certificates found in old evault, using default`, ); - migration.logs += `[MIGRATION] Warning: No public key found in old evault, using default\n`; + migration.logs += `[MIGRATION] Warning: No key binding certificates found in old evault, using default\n`; } } catch (error) { console.error( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b51ffa594..9df94b89a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -289,7 +289,7 @@ importers: version: 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12) '@storybook/sveltekit': specifier: ^8.6.7 - version: 8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.2)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.2)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@storybook/test': specifier: ^8.6.7 version: 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)) @@ -298,13 +298,13 @@ importers: version: 0.2.2 '@sveltejs/adapter-static': specifier: ^3.0.6 - version: 3.0.10(@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))) + version: 3.0.10(@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))) '@sveltejs/kit': specifier: ^2.9.0 - version: 2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@sveltejs/vite-plugin-svelte': specifier: ^5.0.0 - version: 5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@tailwindcss/forms': specifier: ^0.5.10 version: 0.5.10(tailwindcss@4.1.17) @@ -313,7 +313,7 @@ importers: version: 0.5.19(tailwindcss@4.1.17) '@tailwindcss/vite': specifier: ^4.0.14 - version: 4.1.17(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 4.1.17(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@tauri-apps/cli': specifier: ^2.9.4 version: 2.9.6 @@ -322,7 +322,7 @@ importers: version: 22.19.2 '@vitest/browser': specifier: ^3.0.9 - version: 3.2.4(bufferutil@4.0.9)(playwright@1.56.1)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4) + version: 3.2.4(bufferutil@4.0.9)(playwright@1.56.1)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4) '@vitest/coverage-v8': specifier: ^3.0.9 version: 3.2.4(@vitest/browser@3.2.4)(vitest@3.2.4) @@ -358,10 +358,10 @@ importers: version: 5.6.3 vite: specifier: ^6.0.3 - version: 7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + version: 6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) vite-plugin-node-polyfills: specifier: ^0.24.0 - version: 0.24.0(rollup@4.53.3)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 0.24.0(rollup@4.53.3)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) vitest: specifier: ^3.0.9 version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(@vitest/browser@3.2.4)(jiti@2.6.1)(jsdom@19.0.0(bufferutil@4.0.9))(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) @@ -1172,7 +1172,7 @@ importers: version: 0.5.19(tailwindcss@3.4.18(tsx@4.20.6)(yaml@2.8.1)) '@tailwindcss/vite': specifier: ^4.1.3 - version: 4.1.17(vite@7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 4.1.17(vite@5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1)) '@types/node': specifier: 20.19.26 version: 20.19.26 @@ -1187,7 +1187,7 @@ importers: version: 5.0.6 '@vitejs/plugin-react': specifier: ^4.3.2 - version: 4.7.0(vite@7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 4.7.0(vite@5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1)) autoprefixer: specifier: ^10.4.20 version: 10.4.22(postcss@8.5.6) @@ -1205,7 +1205,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.19 - version: 7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + version: 5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1) optionalDependencies: bufferutil: specifier: ^4.0.8 @@ -1373,7 +1373,7 @@ importers: devDependencies: '@tailwindcss/vite': specifier: ^4.1.3 - version: 4.1.17(vite@7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 4.1.17(vite@5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1)) '@types/node': specifier: ^20.16.11 version: 20.19.26 @@ -1385,7 +1385,7 @@ importers: version: 18.3.7(@types/react@18.3.27) '@vitejs/plugin-react': specifier: ^4.3.2 - version: 4.7.0(vite@7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 4.7.0(vite@5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1)) autoprefixer: specifier: ^10.4.20 version: 10.4.22(postcss@8.5.6) @@ -1400,7 +1400,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.19 - version: 7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + version: 5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1) platforms/eCurrency-api: dependencies: @@ -1660,7 +1660,7 @@ importers: version: 0.5.19(tailwindcss@3.4.18(tsx@4.20.6)(yaml@2.8.1)) '@tailwindcss/vite': specifier: ^4.1.3 - version: 4.1.17(vite@7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 4.1.17(vite@5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1)) '@types/node': specifier: ^20.16.11 version: 20.19.26 @@ -1672,7 +1672,7 @@ importers: version: 18.3.7(@types/react@18.3.27) '@vitejs/plugin-react': specifier: ^4.3.2 - version: 4.7.0(vite@7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 4.7.0(vite@5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1)) autoprefixer: specifier: ^10.4.20 version: 10.4.22(postcss@8.5.6) @@ -1687,7 +1687,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.19 - version: 7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + version: 5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1) platforms/eReputation-api: dependencies: @@ -2027,6 +2027,9 @@ importers: express: specifier: ^4.18.2 version: 4.22.1 + jose: + specifier: ^5.2.0 + version: 5.10.0 jsonwebtoken: specifier: ^9.0.2 version: 9.0.3 @@ -2592,7 +2595,7 @@ importers: version: 0.5.19(tailwindcss@3.4.18(tsx@4.20.6)(yaml@2.8.1)) '@tailwindcss/vite': specifier: ^4.1.3 - version: 4.1.17(vite@7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 4.1.17(vite@5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1)) '@types/express': specifier: 4.17.25 version: 4.17.25 @@ -2607,7 +2610,7 @@ importers: version: 18.3.7(@types/react@18.3.27) '@vitejs/plugin-react': specifier: ^4.3.2 - version: 4.7.0(vite@7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 4.7.0(vite@5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1)) autoprefixer: specifier: ^10.4.20 version: 10.4.22(postcss@8.5.6) @@ -2628,7 +2631,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.19 - version: 7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + version: 5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1) platforms/pictique: dependencies: @@ -2637,7 +2640,7 @@ importers: version: 0.0.1 '@sveltejs/adapter-node': specifier: ^5.2.12 - version: 5.4.0(@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))) + version: 5.4.0(@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))) D: specifier: ^1.0.0 version: 1.0.0 @@ -2677,7 +2680,7 @@ importers: version: 8.6.14(@types/react@18.3.27)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)) '@storybook/addon-svelte-csf': specifier: ^5.0.0-next.0 - version: 5.0.10(@storybook/svelte@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12))(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(babel-plugin-macros@3.1.0)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 5.0.10(@storybook/svelte@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12))(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(babel-plugin-macros@3.1.0)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@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.14(bufferutil@4.0.9)(prettier@3.6.2)) @@ -2686,22 +2689,22 @@ importers: version: 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12) '@storybook/sveltekit': specifier: ^8.6.12 - version: 8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.2)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.2)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@storybook/test': specifier: ^8.6.12 version: 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)) '@sveltejs/adapter-static': specifier: ^3.0.8 - version: 3.0.10(@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))) + version: 3.0.10(@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@sveltejs/vite-plugin-svelte': specifier: ^5.0.0 - version: 5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@tailwindcss/vite': specifier: ^4.0.0 - version: 4.1.17(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 4.1.17(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) clsx: specifier: ^2.1.1 version: 2.1.1 @@ -2752,7 +2755,7 @@ importers: version: 8.47.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.2) vite: specifier: ^6.2.6 - version: 7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + version: 6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) platforms/pictique-api: dependencies: @@ -14347,6 +14350,46 @@ packages: terser: optional: true + vite@6.4.1: + resolution: {integrity: sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + vite@7.2.7: resolution: {integrity: sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -18635,11 +18678,11 @@ snapshots: storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2) ts-dedent: 2.2.0 - '@storybook/addon-svelte-csf@5.0.10(@storybook/svelte@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12))(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(babel-plugin-macros@3.1.0)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@storybook/addon-svelte-csf@5.0.10(@storybook/svelte@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12))(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(babel-plugin-macros@3.1.0)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@storybook/csf': 0.1.13 '@storybook/svelte': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) dedent: 1.7.0(babel-plugin-macros@3.1.0) es-toolkit: 1.42.0 esrap: 1.4.9 @@ -18647,7 +18690,7 @@ snapshots: storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2) svelte: 5.43.12 svelte-ast-print: 0.4.2(svelte@5.43.12) - vite: 7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) zimmerframe: 1.1.4 transitivePeerDependencies: - babel-plugin-macros @@ -18687,21 +18730,21 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/builder-vite@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@storybook/builder-vite@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@storybook/csf-plugin': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)) browser-assert: 1.2.1 storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2) ts-dedent: 2.2.0 - vite: 7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) - '@storybook/builder-vite@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@storybook/builder-vite@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@storybook/csf-plugin': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)) browser-assert: 1.2.1 storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2) ts-dedent: 2.2.0 - vite: 7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) '@storybook/builder-vite@9.1.16(storybook@9.1.16(@testing-library/dom@10.4.1)(bufferutil@4.0.9)(prettier@3.6.2)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: @@ -18764,7 +18807,7 @@ snapshots: storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2) ts-dedent: 2.2.0 optionalDependencies: - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(playwright@1.56.1)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(playwright@1.56.1)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4) '@vitest/runner': 3.2.4 vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(@vitest/browser@3.2.4)(jiti@2.6.1)(jsdom@19.0.0(bufferutil@4.0.9))(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: @@ -18798,11 +18841,11 @@ snapshots: react-dom: 18.3.1(react@18.3.1) storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2) - '@storybook/svelte-vite@8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.2)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@storybook/svelte-vite@8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.2)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: - '@storybook/builder-vite': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@storybook/builder-vite': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@storybook/svelte': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) magic-string: 0.30.21 storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2) svelte: 5.43.12 @@ -18811,7 +18854,7 @@ snapshots: sveltedoc-parser: 4.2.1 ts-dedent: 2.2.0 typescript: 5.8.2 - vite: 7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - '@babel/core' - coffeescript @@ -18824,11 +18867,11 @@ snapshots: - sugarss - supports-color - '@storybook/svelte-vite@8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.2)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@storybook/svelte-vite@8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.2)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: - '@storybook/builder-vite': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@storybook/builder-vite': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@storybook/svelte': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) magic-string: 0.30.21 storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2) svelte: 5.43.12 @@ -18837,7 +18880,7 @@ snapshots: sveltedoc-parser: 4.2.1 ts-dedent: 2.2.0 typescript: 5.8.2 - vite: 7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - '@babel/core' - coffeescript @@ -18885,15 +18928,15 @@ snapshots: ts-dedent: 2.2.0 type-fest: 2.19.0 - '@storybook/sveltekit@8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.2)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@storybook/sveltekit@8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.2)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@storybook/addon-actions': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)) - '@storybook/builder-vite': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@storybook/builder-vite': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@storybook/svelte': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12) - '@storybook/svelte-vite': 8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.2)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@storybook/svelte-vite': 8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.19.2)(typescript@5.6.3)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2) svelte: 5.43.12 - vite: 7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - '@babel/core' - '@sveltejs/vite-plugin-svelte' @@ -18907,15 +18950,15 @@ snapshots: - sugarss - supports-color - '@storybook/sveltekit@8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.2)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@storybook/sveltekit@8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.2)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@storybook/addon-actions': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)) - '@storybook/builder-vite': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@storybook/builder-vite': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@storybook/svelte': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12) - '@storybook/svelte-vite': 8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.2)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@storybook/svelte-vite': 8.6.14(@babel/core@7.28.5)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.2)(typescript@5.8.2)))(postcss@8.5.6)(sass@1.94.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2) svelte: 5.43.12 - vite: 7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - '@babel/core' - '@sveltejs/vite-plugin-svelte' @@ -18969,12 +19012,12 @@ snapshots: dependencies: acorn: 8.15.0 - '@sveltejs/adapter-node@5.4.0(@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))': + '@sveltejs/adapter-node@5.4.0(@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))': dependencies: '@rollup/plugin-commonjs': 28.0.9(rollup@4.53.3) '@rollup/plugin-json': 6.1.0(rollup@4.53.3) '@rollup/plugin-node-resolve': 16.0.3(rollup@4.53.3) - '@sveltejs/kit': 2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@sveltejs/kit': 2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) rollup: 4.53.3 '@sveltejs/adapter-node@5.4.0(@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@6.2.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))': @@ -18985,19 +19028,19 @@ snapshots: '@sveltejs/kit': 2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@6.2.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) rollup: 4.53.3 - '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))': + '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))': dependencies: - '@sveltejs/kit': 2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@sveltejs/kit': 2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) - '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))': + '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))': dependencies: - '@sveltejs/kit': 2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@sveltejs/kit': 2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) - '@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@standard-schema/spec': 1.0.0 '@sveltejs/acorn-typescript': 1.0.7(acorn@8.15.0) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@types/cookie': 0.6.0 acorn: 8.15.0 cookie: 0.6.0 @@ -19010,15 +19053,15 @@ snapshots: set-cookie-parser: 2.7.2 sirv: 3.0.2 svelte: 5.43.12 - vite: 7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) optionalDependencies: '@opentelemetry/api': 1.9.0 - '@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@sveltejs/kit@2.48.5(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@standard-schema/spec': 1.0.0 '@sveltejs/acorn-typescript': 1.0.7(acorn@8.15.0) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@types/cookie': 0.6.0 acorn: 8.15.0 cookie: 0.6.0 @@ -19031,7 +19074,7 @@ snapshots: set-cookie-parser: 2.7.2 sirv: 3.0.2 svelte: 5.43.12 - vite: 7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) optionalDependencies: '@opentelemetry/api': 1.9.0 @@ -19056,21 +19099,21 @@ snapshots: optionalDependencies: '@opentelemetry/api': 1.9.0 - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) debug: 4.4.3(supports-color@5.5.0) svelte: 5.43.12 - vite: 7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) debug: 4.4.3(supports-color@5.5.0) svelte: 5.43.12 - vite: 7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - supports-color @@ -19083,29 +19126,29 @@ snapshots: transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) debug: 4.4.3(supports-color@5.5.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.21 svelte: 5.43.12 - vite: 7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) - vitefu: 1.1.1(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + vite: 6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vitefu: 1.1.1(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)))(svelte@5.43.12)(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) debug: 4.4.3(supports-color@5.5.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.21 svelte: 5.43.12 - vite: 7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) - vitefu: 1.1.1(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + vite: 6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vitefu: 1.1.1(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) transitivePeerDependencies: - supports-color @@ -19232,26 +19275,33 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.1.17 - '@tailwindcss/vite@4.1.17(vite@7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@tailwindcss/vite@4.1.17(vite@5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1))': + dependencies: + '@tailwindcss/node': 4.1.17 + '@tailwindcss/oxide': 4.1.17 + tailwindcss: 4.1.17 + vite: 5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1) + + '@tailwindcss/vite@4.1.17(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@tailwindcss/node': 4.1.17 '@tailwindcss/oxide': 4.1.17 tailwindcss: 4.1.17 - vite: 7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) - '@tailwindcss/vite@4.1.17(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@tailwindcss/vite@4.1.17(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@tailwindcss/node': 4.1.17 '@tailwindcss/oxide': 4.1.17 tailwindcss: 4.1.17 - vite: 7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) - '@tailwindcss/vite@4.1.17(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@tailwindcss/vite@4.1.17(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@tailwindcss/node': 4.1.17 '@tailwindcss/oxide': 4.1.17 tailwindcss: 4.1.17 - vite: 7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) '@tanstack/query-core@5.90.12': {} @@ -20459,7 +20509,7 @@ snapshots: '@veriff/js-sdk@1.5.1': {} - '@vitejs/plugin-react@4.7.0(vite@7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + '@vitejs/plugin-react@4.7.0(vite@5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1))': dependencies: '@babel/core': 7.28.5 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5) @@ -20467,15 +20517,15 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.27 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1) transitivePeerDependencies: - supports-color - '@vitest/browser@3.2.4(bufferutil@4.0.9)(playwright@1.56.1)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(playwright@1.56.1)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)': dependencies: '@testing-library/dom': 10.4.1 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) - '@vitest/mocker': 3.2.4(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@vitest/mocker': 3.2.4(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@vitest/utils': 3.2.4 magic-string: 0.30.21 sirv: 3.0.2 @@ -20527,7 +20577,7 @@ snapshots: tinyrainbow: 2.0.0 vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(@vitest/browser@3.2.4)(jiti@2.6.1)(jsdom@19.0.0(bufferutil@4.0.9))(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) optionalDependencies: - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(playwright@1.56.1)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(playwright@1.56.1)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4) transitivePeerDependencies: - supports-color @@ -20567,6 +20617,22 @@ snapshots: optionalDependencies: vite: 5.4.21(@types/node@20.19.26)(lightningcss@1.30.2)(sass@1.94.1) + '@vitest/mocker@3.2.4(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + dependencies: + '@vitest/spy': 3.2.4 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + + '@vitest/mocker@3.2.4(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': + dependencies: + '@vitest/spy': 3.2.4 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + '@vitest/mocker@3.2.4(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@vitest/spy': 3.2.4 @@ -20582,6 +20648,7 @@ snapshots: magic-string: 0.30.21 optionalDependencies: vite: 7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + optional: true '@vitest/pretty-format@2.0.5': dependencies: @@ -29433,7 +29500,7 @@ snapshots: debug: 4.4.3(supports-color@5.5.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - jiti @@ -29454,7 +29521,7 @@ snapshots: debug: 4.4.3(supports-color@5.5.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - jiti @@ -29469,11 +29536,11 @@ snapshots: - tsx - yaml - vite-plugin-node-polyfills@0.24.0(rollup@4.53.3)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)): + vite-plugin-node-polyfills@0.24.0(rollup@4.53.3)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)): dependencies: '@rollup/plugin-inject': 5.0.5(rollup@4.53.3) node-stdlib-browser: 1.3.1 - vite: 7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - rollup @@ -29488,7 +29555,7 @@ snapshots: lightningcss: 1.30.2 sass: 1.94.1 - vite@7.2.7(@types/node@20.19.26)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1): + vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1): dependencies: esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.3) @@ -29497,7 +29564,24 @@ snapshots: rollup: 4.53.3 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 20.19.26 + '@types/node': 22.19.2 + fsevents: 2.3.3 + jiti: 2.6.1 + lightningcss: 1.30.2 + sass: 1.94.1 + tsx: 4.20.6 + yaml: 2.8.1 + + vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1): + dependencies: + esbuild: 0.25.12 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.53.3 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 24.10.2 fsevents: 2.3.3 jiti: 2.6.1 lightningcss: 1.30.2 @@ -29538,14 +29622,19 @@ snapshots: sass: 1.94.1 tsx: 4.20.6 yaml: 2.8.1 + optional: true - vitefu@1.1.1(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)): + vitefu@1.1.1(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)): optionalDependencies: - vite: 7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) - vitefu@1.1.1(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)): + vitefu@1.1.1(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)): optionalDependencies: - vite: 7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + + vitefu@1.1.1(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)): + optionalDependencies: + vite: 7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) vitest@1.6.1(@types/node@20.19.26)(jsdom@19.0.0(bufferutil@4.0.9))(lightningcss@1.30.2)(sass@1.94.1): dependencies: @@ -29622,7 +29711,7 @@ snapshots: dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@vitest/mocker': 3.2.4(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -29640,13 +29729,13 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) vite-node: 3.2.4(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 '@types/node': 22.19.2 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(playwright@1.56.1)(vite@7.2.7(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(playwright@1.56.1)(vite@6.4.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4) jsdom: 19.0.0(bufferutil@4.0.9) transitivePeerDependencies: - jiti @@ -29666,7 +29755,7 @@ snapshots: dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) + '@vitest/mocker': 3.2.4(vite@6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -29684,7 +29773,7 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) vite-node: 3.2.4(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.94.1)(tsx@4.20.6)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: From 1362a29c649498dec83aa7b1b4e788fb5643303c Mon Sep 17 00:00:00 2001 From: Merul Dhiman Date: Tue, 9 Dec 2025 23:56:24 +0530 Subject: [PATCH 5/5] chore: fix lint --- .../src/routes/(app)/scan-qr/scanLogic.ts | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/infrastructure/eid-wallet/src/routes/(app)/scan-qr/scanLogic.ts b/infrastructure/eid-wallet/src/routes/(app)/scan-qr/scanLogic.ts index 4b20e17a1..76518c47d 100644 --- a/infrastructure/eid-wallet/src/routes/(app)/scan-qr/scanLogic.ts +++ b/infrastructure/eid-wallet/src/routes/(app)/scan-qr/scanLogic.ts @@ -298,7 +298,7 @@ export function createScanLogic({ }; console.log(`📤 Making POST request to: ${redirectUrl}`); - console.log(`📦 Payload:`, payload); + console.log("📦 Payload:", payload); const response = await fetch(redirectUrl, { method: "POST", @@ -314,27 +314,26 @@ export function createScanLogic({ ); } - console.log(`✅ POST request successful`); + console.log("✅ POST request successful"); // For scan: Close drawer and show success, skip deeplink redirect logic codeScannedDrawerOpen.set(false); loggedInDrawerOpen.set(true); startScan(); return; - } else { - // For deeplink: Open URL with encoded URI - // Strip path from redirectUri and append /deeplink-login - const loginUrl = new URL("/deeplink-login", redirectUrl); - loginUrl.searchParams.set("ename", vault.ename); - loginUrl.searchParams.set("session", get(session) as string); - loginUrl.searchParams.set("signature", signature); - loginUrl.searchParams.set("appVersion", "0.4.0"); - - console.log(`🔗 Opening login URL: ${loginUrl.toString()}`); - - // Open URL in browser using tauri opener - await openUrl(loginUrl.toString()); } + // For deeplink: Open URL with encoded URI + // Strip path from redirectUri and append /deeplink-login + const loginUrl = new URL("/deeplink-login", redirectUrl); + loginUrl.searchParams.set("ename", vault.ename); + loginUrl.searchParams.set("session", get(session) as string); + loginUrl.searchParams.set("signature", signature); + loginUrl.searchParams.set("appVersion", "0.4.0"); + + console.log(`🔗 Opening login URL: ${loginUrl.toString()}`); + + // Open URL in browser using tauri opener + await openUrl(loginUrl.toString()); // Close the auth drawer first codeScannedDrawerOpen.set(false);