diff --git a/package-lock.json b/package-lock.json index 0fe303560..e264b4f59 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@angular/fire", - "version": "19.0.0", + "version": "19.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@angular/fire", - "version": "19.0.0", + "version": "19.1.0", "license": "MIT", "dependencies": { "@angular-devkit/architect": "~0.1900.0", @@ -20,7 +20,7 @@ "@angular/router": "^19.0.0", "@schematics/angular": "^19.0.0", "esbuild": "^0.24.0", - "firebase": "^11.2.0", + "firebase": "11.8.0-20250512211235", "firebase-functions": "^6.1.0", "fs-extra": "^8.0.1", "fuzzy": "^0.1.3", @@ -4264,36 +4264,82 @@ "license": "MIT", "peer": true }, + "node_modules/@firebase/ai": { + "version": "1.3.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/ai/-/ai-1.3.0-20250512211235.tgz", + "integrity": "sha512-L/3vFDzzmAScgRVcZXiqyQHLXTjyBvfC4bVHvsHGlUyBYjlS+xcPUFdNHFowM84r6qyp/X94pO58ERgRO/CUCg==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/app-check-interop-types": "0.3.3", + "@firebase/component": "0.6.14", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.11.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@firebase/app-types": "0.x" + } + }, "node_modules/@firebase/analytics": { - "version": "0.10.11", - "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.11.tgz", - "integrity": "sha512-zwuPiRE0+hgcS95JZbJ6DFQN4xYFO8IyGxpeePTV51YJMwCf3lkBa6FnZ/iXIqDKcBPMgMuuEZozI0BJWaLEYg==", + "version": "0.10.14-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.14-20250512211235.tgz", + "integrity": "sha512-yPo0D9Ec5jSWRmI6JYt8PCzTVUHtTvnmhN7s09Wh2ckrbv7kgejIAYOjKOK30Umro+teA6wTsY07Q27C1dOM4A==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", - "@firebase/installations": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", + "@firebase/installations": "0.6.15-20250512211235", "@firebase/logger": "0.4.4", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "peerDependencies": { - "@firebase/app": "0.x" + "@firebase/app": "0.13.0-20250512211235" } }, "node_modules/@firebase/analytics-compat": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.17.tgz", - "integrity": "sha512-SJNVOeTvzdqZQvXFzj7yAirXnYcLDxh57wBFROfeowq/kRN1AqOw1tG6U4OiFOEhqi7s3xLze/LMkZatk2IEww==", + "version": "0.2.20-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.20-20250512211235.tgz", + "integrity": "sha512-2MmqqNlHlbs6454pOnKnNbtz8cF54UYgCiFWc0tXV6VNrSAGAyWgY3Ujve5+ayuSmzMuTaLNKk8kOPC90nNmCA==", "license": "Apache-2.0", "dependencies": { - "@firebase/analytics": "0.10.11", + "@firebase/analytics": "0.10.14-20250512211235", "@firebase/analytics-types": "0.8.3", - "@firebase/component": "0.6.12", - "@firebase/util": "1.10.3", + "@firebase/component": "0.6.15-20250512211235", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "peerDependencies": { - "@firebase/app-compat": "0.x" + "@firebase/app-compat": "0.4.0-20250512211235" + } + }, + "node_modules/@firebase/analytics-compat/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/analytics-compat/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@firebase/analytics-types": { @@ -4302,15 +4348,41 @@ "integrity": "sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==", "license": "Apache-2.0" }, + "node_modules/@firebase/analytics/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/analytics/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@firebase/app": { - "version": "0.10.18", - "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.10.18.tgz", - "integrity": "sha512-VuqEwD/QRisKd/zsFsqgvSAx34mZ3WEF47i97FD6Vw4GWAhdjepYf0Hmi6K0b4QMSgWcv/x0C30Slm5NjjERXg==", + "version": "0.13.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.13.0-20250512211235.tgz", + "integrity": "sha512-9qcJX9fKMFuZf5+8BxK0Dg1gJU+x4shoH+VFiKnZ7ri6sJ0OP67Y4PnHDYdzKmx7/HJt0KSyZMDUX/hT2Wbl/g==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", "@firebase/logger": "0.4.4", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "idb": "7.1.1", "tslib": "^2.1.0" }, @@ -4319,41 +4391,67 @@ } }, "node_modules/@firebase/app-check": { - "version": "0.8.11", - "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.8.11.tgz", - "integrity": "sha512-42zIfRI08/7bQqczAy7sY2JqZYEv3a1eNa4fLFdtJ54vNevbBIRSEA3fZgRqWFNHalh5ohsBXdrYgFqaRIuCcQ==", + "version": "0.10.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.10.0-20250512211235.tgz", + "integrity": "sha512-zFbNyt3j6ixg6/Gh3WdA+FvMhUxIRASEq/NRC+Jtofm5la5ZJ88wdLDJ/kSHtdMINQfKuneHbJJ832u5BTqpYQ==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", "@firebase/logger": "0.4.4", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@firebase/app": "0.x" + "@firebase/app": "0.13.0-20250512211235" } }, "node_modules/@firebase/app-check-compat": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.18.tgz", - "integrity": "sha512-qjozwnwYmAIdrsVGrJk+hnF1WBois54IhZR6gO0wtZQoTvWL/GtiA2F31TIgAhF0ayUiZhztOv1RfC7YyrZGDQ==", + "version": "0.3.23-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.23-20250512211235.tgz", + "integrity": "sha512-iI2mGM/f8z4aQhoB57HnErh8vCqyQJFVQS7USLy6dUyL15FcIe5HQ88N4oD9glagu4IDRlZ+Rohlrw9ObbyNxA==", "license": "Apache-2.0", "dependencies": { - "@firebase/app-check": "0.8.11", + "@firebase/app-check": "0.10.0-20250512211235", "@firebase/app-check-types": "0.5.3", - "@firebase/component": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", "@firebase/logger": "0.4.4", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@firebase/app-compat": "0.x" + "@firebase/app-compat": "0.4.0-20250512211235" + } + }, + "node_modules/@firebase/app-check-compat/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/app-check-compat/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@firebase/app-check-interop-types": { @@ -4368,16 +4466,68 @@ "integrity": "sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==", "license": "Apache-2.0" }, + "node_modules/@firebase/app-check/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/app-check/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@firebase/app-compat": { - "version": "0.2.48", - "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.48.tgz", - "integrity": "sha512-wVNU1foBIaJncUmiALyRxhHHHC3ZPMLIETTAk+2PG87eP9B/IDBsYUiTpHyboDPEI8CgBPat/zN2v+Snkz6lBw==", + "version": "0.4.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.4.0-20250512211235.tgz", + "integrity": "sha512-epnyKsA97L0FMigDHWOcgJ2TeMnlpuyiGIVZdnQiElKfRs3UFgDvBb6AK5dHgT4REe7ZbXqGa/8TSUUGFhEcmw==", "license": "Apache-2.0", "dependencies": { - "@firebase/app": "0.10.18", - "@firebase/component": "0.6.12", + "@firebase/app": "0.13.0-20250512211235", + "@firebase/component": "0.6.15-20250512211235", "@firebase/logger": "0.4.4", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/app-compat/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/app-compat/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { "tslib": "^2.1.0" }, "engines": { @@ -4390,22 +4540,48 @@ "integrity": "sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==", "license": "Apache-2.0" }, + "node_modules/@firebase/app/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/app/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@firebase/auth": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.8.2.tgz", - "integrity": "sha512-q+071y2LWe0bVnjqaX3BscqZwzdP0GKN2YBKapLq4bV88MPfCtWwGKmDhNDEDUmioOjudGXkUY5cvvKqk3mlUg==", + "version": "1.10.3-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.10.3-20250512211235.tgz", + "integrity": "sha512-f7Lov3vogDMyroncY7OipDmNL5bqZcDxdIVe1qN/LEaaKygG2wPxKMa+LjSFwxwo/oGp/i6R4ixT8otMkOL2MQ==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", "@firebase/logger": "0.4.4", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@firebase/app": "0.x", + "@firebase/app": "0.13.0-20250512211235", "@react-native-async-storage/async-storage": "^1.18.1" }, "peerDependenciesMeta": { @@ -4415,22 +4591,48 @@ } }, "node_modules/@firebase/auth-compat": { - "version": "0.5.17", - "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.17.tgz", - "integrity": "sha512-Shi6rqLqzU9KLXnUCmlLvVByq1kiG3oe7Wpbf5m1CgS7NiRx2pSSn0HLaRRozdkaizNzMGGj+3oHmNYQ7kU6xA==", + "version": "0.5.23-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.23-20250512211235.tgz", + "integrity": "sha512-dWBbbYAiNmrD6+P5m2TgQ9GWPIffjedQ9HRXnPyqKytTiEQzxvYBd91NS3y3YI6bBg1RWAWccMnwtQVjl1eK6A==", "license": "Apache-2.0", "dependencies": { - "@firebase/auth": "1.8.2", - "@firebase/auth-types": "0.12.3", - "@firebase/component": "0.6.12", - "@firebase/util": "1.10.3", + "@firebase/auth": "1.10.3-20250512211235", + "@firebase/auth-types": "0.13.0", + "@firebase/component": "0.6.15-20250512211235", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@firebase/app-compat": "0.x" + "@firebase/app-compat": "0.4.0-20250512211235" + } + }, + "node_modules/@firebase/auth-compat/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/auth-compat/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@firebase/auth-interop-types": { @@ -4440,22 +4642,48 @@ "license": "Apache-2.0" }, "node_modules/@firebase/auth-types": { - "version": "0.12.3", - "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.12.3.tgz", - "integrity": "sha512-Zq9zI0o5hqXDtKg6yDkSnvMCMuLU6qAVS51PANQx+ZZX5xnzyNLEBO3GZgBUPsV5qIMFhjhqmLDxUqCbnAYy2A==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.13.0.tgz", + "integrity": "sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg==", "license": "Apache-2.0", "peerDependencies": { "@firebase/app-types": "0.x", "@firebase/util": "1.x" } }, + "node_modules/@firebase/auth/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/auth/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@firebase/component": { - "version": "0.6.12", - "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.12.tgz", - "integrity": "sha512-YnxqjtohLbnb7raXt2YuA44cC1wA9GiehM/cmxrsoxKlFxBLy2V0OkRSj9gpngAE0UoJ421Wlav9ycO7lTPAUw==", + "version": "0.6.14", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.14.tgz", + "integrity": "sha512-kf/zAT8GQJ9nYoHuj0mv7twp1QzifKYrO+GsmsVHHM+Hi9KkmI7E3B3J0CtihHpb34vinl4gbJrYJ2p2wfvc9A==", "license": "Apache-2.0", "dependencies": { - "@firebase/util": "1.10.3", + "@firebase/util": "1.11.1", "tslib": "^2.1.0" }, "engines": { @@ -4463,32 +4691,58 @@ } }, "node_modules/@firebase/data-connect": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@firebase/data-connect/-/data-connect-0.2.0.tgz", - "integrity": "sha512-7OrZtQoLSk2fiGijhIdUnTSqEFti3h1EMhw9nNiSZ6jJGduw4Pz6jrVvxjpZJtGH/JiljbMkBnPBS2h8CTRKEw==", + "version": "0.3.6-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/data-connect/-/data-connect-0.3.6-20250512211235.tgz", + "integrity": "sha512-ZMs7lX9/Sd7XNRaylht535sY1mFUasLCY0toKQWF4KIAdUeij0TNzqWpeULNqNJXtczu+eRrG3Nct1rY4JtiiQ==", "license": "Apache-2.0", "dependencies": { "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", "@firebase/logger": "0.4.4", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "peerDependencies": { - "@firebase/app": "0.x" + "@firebase/app": "0.13.0-20250512211235" + } + }, + "node_modules/@firebase/data-connect/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/data-connect/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@firebase/database": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.11.tgz", - "integrity": "sha512-gLrw/XeioswWUXgpVKCPAzzoOuvYNqK5fRUeiJTzO7Mlp9P6ylFEyPJlRBl1djqYye641r3MX6AmIeMXwjgwuQ==", + "version": "1.0.16-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.16-20250512211235.tgz", + "integrity": "sha512-l2jVH/uCzbuAhCYk37+YWFHE2nIkGyTiFL3RthkDvoT+KHDzvaIxnWmjnbAgrQEYSHaimziiw0DmpQM+Safb0g==", "license": "Apache-2.0", "dependencies": { "@firebase/app-check-interop-types": "0.3.3", "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", "@firebase/logger": "0.4.4", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "faye-websocket": "0.11.4", "tslib": "^2.1.0" }, @@ -4497,16 +4751,42 @@ } }, "node_modules/@firebase/database-compat": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-2.0.2.tgz", - "integrity": "sha512-5zvdnMsfDHvrQAVM6jBS7CkBpu+z3YbpFdhxRsrK1FP45IEfxlzpeuEUb17D/tpM10vfq4Ok0x5akIBaCv7gfA==", + "version": "2.0.7-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-2.0.7-20250512211235.tgz", + "integrity": "sha512-8bt/9/EXqxce32RDg254yfkEUsG9x9h3K6+IFdsCeLhPH9mQLosrcRBSHusHGX65oNbY1ATgxkt/+v+uhoj+nw==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", - "@firebase/database": "1.0.11", - "@firebase/database-types": "1.0.8", + "@firebase/component": "0.6.15-20250512211235", + "@firebase/database": "1.0.16-20250512211235", + "@firebase/database-types": "1.0.12-20250512211235", "@firebase/logger": "0.4.4", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/database-compat/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/database-compat/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { "tslib": "^2.1.0" }, "engines": { @@ -4514,24 +4794,63 @@ } }, "node_modules/@firebase/database-types": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.8.tgz", - "integrity": "sha512-6lPWIGeufhUq1heofZULyVvWFhD01TUrkkB9vyhmksjZ4XF7NaivQp9rICMk7QNhqwa+uDCaj4j+Q8qqcSVZ9g==", + "version": "1.0.12-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.12-20250512211235.tgz", + "integrity": "sha512-FsZ/VeSyNLaJWQGLP0Yy955Zonlm/WSPhpdOpof84ToKAekUQobxlI08skPe+Gk2dAUnKrdqfGJPO9pagsByYA==", "license": "Apache-2.0", "dependencies": { "@firebase/app-types": "0.9.3", - "@firebase/util": "1.10.3" + "@firebase/util": "1.12.0-20250512211235" + } + }, + "node_modules/@firebase/database-types/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/database/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/database/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@firebase/firestore": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.7.6.tgz", - "integrity": "sha512-aVDboR+upR/44qZDLR4tnZ9pepSOFBbDJnwk7eWzmTyQq2nZAVG+HIhrqpQawmUVcDRkuJv2K2UT2+oqR8F8TA==", + "version": "4.7.13-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.7.13-20250512211235.tgz", + "integrity": "sha512-m3xEnbYrsgp58a5if00Vqrrglm/22yU7amZ3CjwqUD+/M6TFSf1a9lvMqF9S33AuPbwHDxUb3hJ4ogpTQ+uSjQ==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", "@firebase/logger": "0.4.4", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "@firebase/webchannel-wrapper": "1.0.3", "@grpc/grpc-js": "~1.9.0", "@grpc/proto-loader": "^0.7.8", @@ -4541,26 +4860,52 @@ "node": ">=18.0.0" }, "peerDependencies": { - "@firebase/app": "0.x" + "@firebase/app": "0.13.0-20250512211235" } }, "node_modules/@firebase/firestore-compat": { - "version": "0.3.41", - "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.41.tgz", - "integrity": "sha512-J/PgWKEt0yugETOE7lOabT16hsV21cLzSxERD7ZhaiwBQkBTSf0Mx9RhjZRT0Ttqe4weM90HGZFyUBqYA73fVA==", + "version": "0.3.48-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.48-20250512211235.tgz", + "integrity": "sha512-8nWD3QRkN9rUoApULVfBMg112QNYstUWRm58cMwcdp0Wkx6+RV+9YraDYzg7GmsEklL4CnGF36HGNrtzraxOTg==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", - "@firebase/firestore": "4.7.6", + "@firebase/component": "0.6.15-20250512211235", + "@firebase/firestore": "4.7.13-20250512211235", "@firebase/firestore-types": "3.0.3", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@firebase/app-compat": "0.x" + "@firebase/app-compat": "0.4.0-20250512211235" + } + }, + "node_modules/@firebase/firestore-compat/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/firestore-compat/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@firebase/firestore-types": { @@ -4573,43 +4918,95 @@ "@firebase/util": "1.x" } }, + "node_modules/@firebase/firestore/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/firestore/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@firebase/functions": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.12.1.tgz", - "integrity": "sha512-QucRiFrvMMmIGTRhL7ZK2IeBnAWP7lAmfFREMpEtX47GjVqDqGxdFs+Mg7XBzxSc9UjDO4Rxf+aE9xJHU6bGwg==", + "version": "0.12.5-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.12.5-20250512211235.tgz", + "integrity": "sha512-3BTjMHjx4ulr22+G1/ut8ZQW6OTGmpS5LC+2MhTl/W8OgSYP+3Hc844OhhlDq4kBjcWO752PG2+I1JwJNK6rPA==", "license": "Apache-2.0", "dependencies": { "@firebase/app-check-interop-types": "0.3.3", "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", "@firebase/messaging-interop-types": "0.2.3", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@firebase/app": "0.x" + "@firebase/app": "0.13.0-20250512211235" } }, "node_modules/@firebase/functions-compat": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.18.tgz", - "integrity": "sha512-N7+RN5GVus2ORB8cqfSNhfSn4iaYws6F8uCCfn4mtjC7zYS/KH6muzNAhZUdUqlv5YazbVmvxlAoYYF39i8Qzg==", + "version": "0.3.22-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.22-20250512211235.tgz", + "integrity": "sha512-/CrVsUlcVKoCtuzpYzIfBYjdiCBtpMkDIY3M2/MIKv5gwB90ydX4E2OP/E57Ne85eiYfezYoGurt27OXSno/Fg==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", - "@firebase/functions": "0.12.1", + "@firebase/component": "0.6.15-20250512211235", + "@firebase/functions": "0.12.5-20250512211235", "@firebase/functions-types": "0.6.3", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@firebase/app-compat": "0.x" + "@firebase/app-compat": "0.4.0-20250512211235" + } + }, + "node_modules/@firebase/functions-compat/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/functions-compat/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@firebase/functions-types": { @@ -4618,35 +5015,87 @@ "integrity": "sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==", "license": "Apache-2.0" }, + "node_modules/@firebase/functions/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/functions/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@firebase/installations": { - "version": "0.6.12", - "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.12.tgz", - "integrity": "sha512-ES/WpuAV2k2YtBTvdaknEo7IY8vaGjIjS3zhnHSAIvY9KwTR8XZFXOJoZ3nSkjN1A5R4MtEh+07drnzPDg9vaw==", + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.15-20250512211235.tgz", + "integrity": "sha512-RinZjbNpImsz0JGi6u6B6Yb7ezrE6ej2pdBT7K3ju1cScpBmKRBeWSl7AevD5PEH+W9E5i6U2VX+q2gycI3ZRA==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", - "@firebase/util": "1.10.3", + "@firebase/component": "0.6.15-20250512211235", + "@firebase/util": "1.12.0-20250512211235", "idb": "7.1.1", "tslib": "^2.1.0" }, "peerDependencies": { - "@firebase/app": "0.x" + "@firebase/app": "0.13.0-20250512211235" } }, "node_modules/@firebase/installations-compat": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.12.tgz", - "integrity": "sha512-RhcGknkxmFu92F6Jb3rXxv6a4sytPjJGifRZj8MSURPuv2Xu+/AispCXEfY1ZraobhEHTG5HLGsP6R4l9qB5aA==", + "version": "0.2.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.15-20250512211235.tgz", + "integrity": "sha512-i7sV28ZLE8p65lHyy/vni93aiIKIyo7PuOUNyaMnfdam++Sv2mBkNj0koo9B6LidDaWxZ3gZJ2bTxSyPOOukYg==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", - "@firebase/installations": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", + "@firebase/installations": "0.6.15-20250512211235", "@firebase/installations-types": "0.5.3", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "peerDependencies": { - "@firebase/app-compat": "0.x" + "@firebase/app-compat": "0.4.0-20250512211235" + } + }, + "node_modules/@firebase/installations-compat/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/installations-compat/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@firebase/installations-types": { @@ -4658,6 +5107,32 @@ "@firebase/app-types": "0.x" } }, + "node_modules/@firebase/installations/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/installations/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@firebase/logger": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.4.tgz", @@ -4671,35 +5146,61 @@ } }, "node_modules/@firebase/messaging": { - "version": "0.12.16", - "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.16.tgz", - "integrity": "sha512-VJ8sCEIeP3+XkfbJA7410WhYGHdloYFZXoHe/vt+vNVDGw8JQPTQSVTRvjrUprEf5I4Tbcnpr2H34lS6zhCHSA==", + "version": "0.12.19-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.19-20250512211235.tgz", + "integrity": "sha512-h4fraiJuJrLSOSI6WIFlbV1u6L6/8zPfTzcNxqyjCIVj5eFVpgoLIW5lQ2O+G6h6RQiWG29AJkuWGnp26BOJ6Q==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", - "@firebase/installations": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", + "@firebase/installations": "0.6.15-20250512211235", "@firebase/messaging-interop-types": "0.2.3", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "idb": "7.1.1", "tslib": "^2.1.0" }, "peerDependencies": { - "@firebase/app": "0.x" + "@firebase/app": "0.13.0-20250512211235" } }, "node_modules/@firebase/messaging-compat": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.16.tgz", - "integrity": "sha512-9HZZ88Ig3zQ0ok/Pwt4gQcNsOhoEy8hDHoGsV1am6ulgMuGuDVD2gl11Lere2ksL+msM12Lddi2x/7TCqmODZw==", + "version": "0.2.19-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.19-20250512211235.tgz", + "integrity": "sha512-vTL0hMyPosU/WRvZ1xmi01aURJyjUI3zeBByYnnwSUJN01eF0YX7eM1RId/HSFcHoT/HgfsHFvINUFjy58TVUQ==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", - "@firebase/messaging": "0.12.16", - "@firebase/util": "1.10.3", + "@firebase/component": "0.6.15-20250512211235", + "@firebase/messaging": "0.12.19-20250512211235", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "peerDependencies": { - "@firebase/app-compat": "0.x" + "@firebase/app-compat": "0.4.0-20250512211235" + } + }, + "node_modules/@firebase/messaging-compat/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/messaging-compat/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@firebase/messaging-interop-types": { @@ -4708,37 +5209,90 @@ "integrity": "sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==", "license": "Apache-2.0" }, + "node_modules/@firebase/messaging/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/messaging/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@firebase/performance": { - "version": "0.6.12", - "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.12.tgz", - "integrity": "sha512-8mYL4z2jRlKXAi2hjk4G7o2sQLnJCCuTbyvti/xmHf5ZvOIGB01BZec0aDuBIXO+H1MLF62dbye/k91Fr+yc8g==", + "version": "0.7.4-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.7.4-20250512211235.tgz", + "integrity": "sha512-defCXX20kxX05/3b4qI+V2PreeH/qwn1Egvp82geS+hGyK6cDRFGgV7q94tIcc6idQJoRhsSW32ABKdI99XpWg==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", - "@firebase/installations": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", + "@firebase/installations": "0.6.15-20250512211235", "@firebase/logger": "0.4.4", - "@firebase/util": "1.10.3", - "tslib": "^2.1.0" + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0", + "web-vitals": "^4.2.4" }, "peerDependencies": { - "@firebase/app": "0.x" + "@firebase/app": "0.13.0-20250512211235" } }, "node_modules/@firebase/performance-compat": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.12.tgz", - "integrity": "sha512-DyCbDTIwtBTGsEiQxTz/TD23a0na2nrDozceQ5kVkszyFYvliB0YK/9el0wAGIG91SqgTG9pxHtYErzfZc0VWw==", + "version": "0.2.17-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.17-20250512211235.tgz", + "integrity": "sha512-5uUlGWbEyoTzGa0JaS6OIUl5T69VwK4gYRAjcET79kuVSZU85l4M1gsDbXqhl/YH1o/gpQEPmm1T1UrK9bRQbw==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", "@firebase/logger": "0.4.4", - "@firebase/performance": "0.6.12", + "@firebase/performance": "0.7.4-20250512211235", "@firebase/performance-types": "0.2.3", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "peerDependencies": { - "@firebase/app-compat": "0.x" + "@firebase/app-compat": "0.4.0-20250512211235" + } + }, + "node_modules/@firebase/performance-compat/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/performance-compat/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@firebase/performance-types": { @@ -4747,37 +5301,89 @@ "integrity": "sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==", "license": "Apache-2.0" }, + "node_modules/@firebase/performance/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/performance/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@firebase/remote-config": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.5.0.tgz", - "integrity": "sha512-weiEbpBp5PBJTHUWR4GwI7ZacaAg68BKha5QnZ8Go65W4oQjEWqCW/rfskABI/OkrGijlL3CUmCB/SA6mVo0qA==", + "version": "0.6.2-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.6.2-20250512211235.tgz", + "integrity": "sha512-FR/IDz/AkQiSXXZw80OJEl/MT++URfbrrUDev3p1Dgc5yuz2hGCReuiq/YYVTA3n/yppwY+BnRdVidV9dRaHSQ==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", - "@firebase/installations": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", + "@firebase/installations": "0.6.15-20250512211235", "@firebase/logger": "0.4.4", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "peerDependencies": { - "@firebase/app": "0.x" + "@firebase/app": "0.13.0-20250512211235" } }, "node_modules/@firebase/remote-config-compat": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.12.tgz", - "integrity": "sha512-91jLWPtubIuPBngg9SzwvNCWzhMLcyBccmt7TNZP+y1cuYFNOWWHKUXQ3IrxCLB7WwLqQaEu7fTDAjHsTyBsSw==", + "version": "0.2.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.15-20250512211235.tgz", + "integrity": "sha512-DiHaFVywKBG1GGziN/NA5k8qkvJ68gX+AFe63yQOmzAfvH59W+dbxAgSG116pGrfF3xDH/e/lho4Cs3M6tbL8g==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", + "@firebase/component": "0.6.15-20250512211235", "@firebase/logger": "0.4.4", - "@firebase/remote-config": "0.5.0", + "@firebase/remote-config": "0.6.2-20250512211235", "@firebase/remote-config-types": "0.4.0", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "peerDependencies": { - "@firebase/app-compat": "0.x" + "@firebase/app-compat": "0.4.0-20250512211235" + } + }, + "node_modules/@firebase/remote-config-compat/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/remote-config-compat/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@firebase/remote-config-types": { @@ -4786,40 +5392,92 @@ "integrity": "sha512-7p3mRE/ldCNYt8fmWMQ/MSGRmXYlJ15Rvs9Rk17t8p0WwZDbeK7eRmoI1tvCPaDzn9Oqh+yD6Lw+sGLsLg4kKg==", "license": "Apache-2.0" }, + "node_modules/@firebase/remote-config/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/remote-config/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@firebase/storage": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.13.5.tgz", - "integrity": "sha512-sB/7HNuW0N9tITyD0RxVLNCROuCXkml5i/iPqjwOGKC0xiUfpCOjBE+bb0ABMoN1qYZfqk0y9IuI2TdomjmkNw==", + "version": "0.13.9-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.13.9-20250512211235.tgz", + "integrity": "sha512-68vuBOmYVUu93Tbri++ubk8ECASRQWYnB1cvPpfBT0WoLSgdgxj+2F/+buXqzFZT/3ae8FBcEdgK6cD0gcT7tA==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", - "@firebase/util": "1.10.3", + "@firebase/component": "0.6.15-20250512211235", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@firebase/app": "0.x" + "@firebase/app": "0.13.0-20250512211235" } }, "node_modules/@firebase/storage-compat": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.15.tgz", - "integrity": "sha512-Z9afjrK2O9o1ZHWCpprCGZ1BTc3BbvpZvi6tkSteC8H3W/fMM6x+RoSunlzD3hEVV5bkbwdJIqNClLMchvyoPA==", + "version": "0.3.19-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.19-20250512211235.tgz", + "integrity": "sha512-Qz3kRo4qc6wRSDq/sCRT9ITqT/Of4puErdhideN+GBi40m42bLWOqBkxpkzPmHphOmFNwKUBA8/9Cksr/fj6IA==", "license": "Apache-2.0", "dependencies": { - "@firebase/component": "0.6.12", - "@firebase/storage": "0.13.5", + "@firebase/component": "0.6.15-20250512211235", + "@firebase/storage": "0.13.9-20250512211235", "@firebase/storage-types": "0.8.3", - "@firebase/util": "1.10.3", + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@firebase/app-compat": "0.x" + "@firebase/app-compat": "0.4.0-20250512211235" + } + }, + "node_modules/@firebase/storage-compat/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", + "license": "Apache-2.0", + "dependencies": { + "@firebase/util": "1.12.0-20250512211235", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/storage-compat/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@firebase/storage-types": { @@ -4832,36 +5490,43 @@ "@firebase/util": "1.x" } }, - "node_modules/@firebase/util": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.10.3.tgz", - "integrity": "sha512-wfoF5LTy0m2ufUapV0ZnpcGQvuavTbJ5Qr1Ze9OJGL70cSMvhDyjS4w2121XdA3lGZSTOsDOyGhpoDtYwck85A==", + "node_modules/@firebase/storage/node_modules/@firebase/component": { + "version": "0.6.15-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.15-20250512211235.tgz", + "integrity": "sha512-8U//EzcIE6frUcWUMcmrVzWBAXLBZt2eGWwt8Of1y+yU6t3Zwwu+1JpCz0hbiHpzXnkuTFjPwWA6fKgZQTk0MQ==", "license": "Apache-2.0", "dependencies": { + "@firebase/util": "1.12.0-20250512211235", "tslib": "^2.1.0" }, "engines": { "node": ">=18.0.0" } }, - "node_modules/@firebase/vertexai": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@firebase/vertexai/-/vertexai-1.0.3.tgz", - "integrity": "sha512-SQHg/RPb3LwQs/xiLcvAZYz9NXyDSZUIIwvgsKh6e4wdULAfyPCZIu6Y2ZYIhZLfk9Q44cKZ+++7RPTaqQJdYA==", + "node_modules/@firebase/storage/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@firebase/app-check-interop-types": "0.3.3", - "@firebase/component": "0.6.12", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.10.3", "tslib": "^2.1.0" }, "engines": { "node": ">=18.0.0" + } + }, + "node_modules/@firebase/util": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.11.1.tgz", + "integrity": "sha512-RXg4WE8C2LUrvoV/TMGRTu223zZf9Dq9MR8yHZio9nF9TpLnpCPURw9VWWB2WATDl6HfIdWfl2x2SJYtHkN4hw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" }, - "peerDependencies": { - "@firebase/app": "0.x", - "@firebase/app-types": "0.x" + "engines": { + "node": ">=18.0.0" } }, "node_modules/@firebase/webchannel-wrapper": { @@ -4967,18 +5632,18 @@ } }, "node_modules/@grpc/grpc-js/node_modules/@types/node": { - "version": "22.10.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz", - "integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==", + "version": "22.15.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.18.tgz", + "integrity": "sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==", "license": "MIT", "dependencies": { - "undici-types": "~6.20.0" + "undici-types": "~6.21.0" } }, "node_modules/@grpc/grpc-js/node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "license": "MIT" }, "node_modules/@grpc/proto-loader": { @@ -11897,39 +12562,39 @@ } }, "node_modules/firebase": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/firebase/-/firebase-11.2.0.tgz", - "integrity": "sha512-ztwPhBLAZMVNZjBeQzzTM4rk2rsRXmdFYcnvjAXh+StbiFVshHKaPO9VRGMUzF48du4Mkz6jN1wkmYCuUJPxLA==", + "version": "11.8.0-20250512211235", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-11.8.0-20250512211235.tgz", + "integrity": "sha512-0juBB1XpC52s4BF/6OwJd7ka8imyXIIbsnjp6yVr1n8W0GpYIpvXzKP0oahiV2Wiv9l0DfVRZpsMB0OJvk9nQw==", "license": "Apache-2.0", "dependencies": { - "@firebase/analytics": "0.10.11", - "@firebase/analytics-compat": "0.2.17", - "@firebase/app": "0.10.18", - "@firebase/app-check": "0.8.11", - "@firebase/app-check-compat": "0.3.18", - "@firebase/app-compat": "0.2.48", + "@firebase/ai": "1.3.0-20250512211235", + "@firebase/analytics": "0.10.14-20250512211235", + "@firebase/analytics-compat": "0.2.20-20250512211235", + "@firebase/app": "0.13.0-20250512211235", + "@firebase/app-check": "0.10.0-20250512211235", + "@firebase/app-check-compat": "0.3.23-20250512211235", + "@firebase/app-compat": "0.4.0-20250512211235", "@firebase/app-types": "0.9.3", - "@firebase/auth": "1.8.2", - "@firebase/auth-compat": "0.5.17", - "@firebase/data-connect": "0.2.0", - "@firebase/database": "1.0.11", - "@firebase/database-compat": "2.0.2", - "@firebase/firestore": "4.7.6", - "@firebase/firestore-compat": "0.3.41", - "@firebase/functions": "0.12.1", - "@firebase/functions-compat": "0.3.18", - "@firebase/installations": "0.6.12", - "@firebase/installations-compat": "0.2.12", - "@firebase/messaging": "0.12.16", - "@firebase/messaging-compat": "0.2.16", - "@firebase/performance": "0.6.12", - "@firebase/performance-compat": "0.2.12", - "@firebase/remote-config": "0.5.0", - "@firebase/remote-config-compat": "0.2.12", - "@firebase/storage": "0.13.5", - "@firebase/storage-compat": "0.3.15", - "@firebase/util": "1.10.3", - "@firebase/vertexai": "1.0.3" + "@firebase/auth": "1.10.3-20250512211235", + "@firebase/auth-compat": "0.5.23-20250512211235", + "@firebase/data-connect": "0.3.6-20250512211235", + "@firebase/database": "1.0.16-20250512211235", + "@firebase/database-compat": "2.0.7-20250512211235", + "@firebase/firestore": "4.7.13-20250512211235", + "@firebase/firestore-compat": "0.3.48-20250512211235", + "@firebase/functions": "0.12.5-20250512211235", + "@firebase/functions-compat": "0.3.22-20250512211235", + "@firebase/installations": "0.6.15-20250512211235", + "@firebase/installations-compat": "0.2.15-20250512211235", + "@firebase/messaging": "0.12.19-20250512211235", + "@firebase/messaging-compat": "0.2.19-20250512211235", + "@firebase/performance": "0.7.4-20250512211235", + "@firebase/performance-compat": "0.2.17-20250512211235", + "@firebase/remote-config": "0.6.2-20250512211235", + "@firebase/remote-config-compat": "0.2.15-20250512211235", + "@firebase/storage": "0.13.9-20250512211235", + "@firebase/storage-compat": "0.3.19-20250512211235", + "@firebase/util": "1.12.0-20250512211235" } }, "node_modules/firebase-admin": { @@ -12104,6 +12769,19 @@ "firebase-admin": "^11.10.0 || ^12.0.0" } }, + "node_modules/firebase/node_modules/@firebase/util": { + "version": "1.12.0-20250512211235", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0-20250512211235.tgz", + "integrity": "sha512-o7CkpIAymb6irDYCoK0wKZiEMMgHX4oGdsXEXvsIPBWjoZsUavF6HH4iYVGslL4KkasEEjJiLNiomxxGbJPqKg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", @@ -21828,6 +22506,12 @@ "license": "MIT", "optional": true }, + "node_modules/web-vitals": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz", + "integrity": "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==", + "license": "Apache-2.0" + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", diff --git a/package.json b/package.json index 20357e87b..db59db2b2 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "@angular/router": "^19.0.0", "@schematics/angular": "^19.0.0", "esbuild": "^0.24.0", - "firebase": "^11.2.0", + "firebase": "11.8.0-20250512211235", "firebase-functions": "^6.1.0", "fs-extra": "^8.0.1", "fuzzy": "^0.1.3", @@ -120,5 +120,8 @@ "typescript": ">=5.5 <5.7", "yaml": "^2.7.0" }, - "typings": "index.d.ts" + "typings": "index.d.ts", + "overrides": { + "firebase": "11.8.0-20250512211235" + } } diff --git a/src/ai/ai.module.ts b/src/ai/ai.module.ts new file mode 100644 index 000000000..444fd67b3 --- /dev/null +++ b/src/ai/ai.module.ts @@ -0,0 +1,79 @@ +import { + EnvironmentProviders, + InjectionToken, + Injector, + NgModule, + NgZone, + Optional, + makeEnvironmentProviders, +} from '@angular/core'; +import { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire'; +import { FirebaseApp, FirebaseApps } from '@angular/fire/app'; +import { AppCheckInstances } from '@angular/fire/app-check'; +import { AI as FirebaseAI } from 'firebase/ai'; +import { registerVersion } from 'firebase/app'; +import { AI, AIInstances, AI_PROVIDER_NAME } from './ai'; + +export const PROVIDED_AI_INSTANCES = new InjectionToken('angularfire2.ai-instances'); + +export function defaultAIInstanceFactory(provided: FirebaseAI[]|undefined, defaultApp: FirebaseApp) { + const defaultAI = ɵgetDefaultInstanceOf(AI_PROVIDER_NAME, provided, defaultApp); + return defaultAI && new AI(defaultAI); +} + +export function AIInstanceFactory(fn: (injector: Injector) => FirebaseAI) { + return (zone: NgZone, injector: Injector) => { + const ai = zone.runOutsideAngular(() => fn(injector)); + return new AI(ai); + }; +} + +const AI_INSTANCES_PROVIDER = { + provide: AIInstances, + deps: [ + [new Optional(), PROVIDED_AI_INSTANCES ], + ] +}; + +const DEFAULT_AI_INSTANCE_PROVIDER = { + provide: AI, + useFactory: defaultAIInstanceFactory, + deps: [ + [new Optional(), PROVIDED_AI_INSTANCES ], + FirebaseApp, + ] +}; + +@NgModule({ + providers: [ + DEFAULT_AI_INSTANCE_PROVIDER, + AI_INSTANCES_PROVIDER, + ] +}) +export class AIModule { + constructor() { + registerVersion('angularfire', VERSION.full, 'ai'); + } +} + +export function provideAI(fn: (injector: Injector) => FirebaseAI, ...deps: any[]): EnvironmentProviders { + registerVersion('angularfire', VERSION.full, 'ai'); + + return makeEnvironmentProviders([ + DEFAULT_AI_INSTANCE_PROVIDER, + AI_INSTANCES_PROVIDER, + { + provide: PROVIDED_AI_INSTANCES, + useFactory: AIInstanceFactory(fn), + multi: true, + deps: [ + NgZone, + Injector, + ɵAngularFireSchedulers, + FirebaseApps, + [new Optional(), AppCheckInstances ], + ...deps, + ] + } + ]); +} diff --git a/src/ai/ai.spec.ts b/src/ai/ai.spec.ts new file mode 100644 index 000000000..9b6fc1008 --- /dev/null +++ b/src/ai/ai.spec.ts @@ -0,0 +1,38 @@ +import { TestBed } from '@angular/core/testing'; +import { AI, getAI, provideAI } from '@angular/fire/ai'; +import { FirebaseApp, getApp, initializeApp, provideFirebaseApp } from '@angular/fire/app'; +import { COMMON_CONFIG } from '../test-config'; +import { rando } from '../utils'; + +describe('AI', () => { + let app: FirebaseApp; + let ai: AI; + let providedAI: AI; + let appName: string; + + describe('single injection', () => { + + beforeEach(() => { + appName = rando(); + TestBed.configureTestingModule({ + providers: [ + provideFirebaseApp(() => initializeApp(COMMON_CONFIG, appName)), + provideAI(() => { + providedAI = getAI(getApp(appName)); + return providedAI; + }), + ], + }); + app = TestBed.inject(FirebaseApp); + ai = TestBed.inject(AI); + }); + + it('should be injectable', () => { + expect(providedAI).toBeTruthy(); + expect(ai).toEqual(providedAI); + expect(ai.app).toEqual(app); + }); + + }); + +}); diff --git a/src/ai/ai.ts b/src/ai/ai.ts new file mode 100644 index 000000000..f0e4ffc86 --- /dev/null +++ b/src/ai/ai.ts @@ -0,0 +1,30 @@ +import { ɵgetAllInstancesOf } from '@angular/fire'; +import { AI as FirebaseAI } from 'firebase/ai'; +import { from, timer } from 'rxjs'; +import { concatMap, distinct } from 'rxjs/operators'; + +// see notes in core/firebase.app.module.ts for why we're building the class like this +// eslint-disable-next-line @typescript-eslint/no-empty-interface +export interface AI extends FirebaseAI {} + +export class AI { + constructor(ai: FirebaseAI) { + return ai; + } +} + +export const AI_PROVIDER_NAME = 'AI'; + +// eslint-disable-next-line @typescript-eslint/no-empty-interface +export interface AIInstances extends Array {} + +export class AIInstances { + constructor() { + return ɵgetAllInstancesOf(AI_PROVIDER_NAME); + } +} + +export const AIInstance$ = timer(0, 300).pipe( + concatMap(() => from(ɵgetAllInstancesOf(AI_PROVIDER_NAME))), + distinct(), +); diff --git a/src/ai/firebase.ts b/src/ai/firebase.ts new file mode 100644 index 000000000..4e33d0635 --- /dev/null +++ b/src/ai/firebase.ts @@ -0,0 +1,14 @@ +// DO NOT MODIFY, this file is autogenerated by tools/build.ts +export * from 'firebase/ai'; +import { ɵzoneWrap } from '@angular/fire'; +import { + getAI as _getAI, + getGenerativeModel as _getGenerativeModel, + getImagenModel as _getImagenModel, + getVertexAI as _getVertexAI +} from 'firebase/ai'; + +export const getAI = ɵzoneWrap(_getAI, true); +export const getGenerativeModel = ɵzoneWrap(_getGenerativeModel, true); +export const getImagenModel = ɵzoneWrap(_getImagenModel, true); +export const getVertexAI = ɵzoneWrap(_getVertexAI, true); diff --git a/src/ai/ng-package.json b/src/ai/ng-package.json new file mode 100644 index 000000000..d3032da35 --- /dev/null +++ b/src/ai/ng-package.json @@ -0,0 +1,6 @@ +{ + "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", + "lib": { + "entryFile": "public_api.ts" + } +} diff --git a/src/ai/package.json b/src/ai/package.json new file mode 100644 index 000000000..8dce418a5 --- /dev/null +++ b/src/ai/package.json @@ -0,0 +1,3 @@ +{ + "$schema": "../../node_modules/ng-packagr/package.schema.json" +} diff --git a/src/ai/public_api.ts b/src/ai/public_api.ts new file mode 100644 index 000000000..aee859b99 --- /dev/null +++ b/src/ai/public_api.ts @@ -0,0 +1,3 @@ +export { AI, AIInstances, AIInstance$ } from './ai'; +export { provideAI, AIModule } from './ai.module'; +export * from './firebase'; diff --git a/src/package.json b/src/package.json index b4e78e8ad..a3c12b4bc 100644 --- a/src/package.json +++ b/src/package.json @@ -36,7 +36,7 @@ "@angular/platform-server": { "optional": true } }, "dependencies": { - "firebase": "^11.2.0", + "firebase": "^11.8.0", "rxfire": "^6.1.0", "@angular-devkit/schematics": "^19.0.0", "@schematics/angular": "^19.0.0", diff --git a/src/vertexai/firebase.ts b/src/vertexai/firebase.ts index c988e7e2a..9c24d52b9 100644 --- a/src/vertexai/firebase.ts +++ b/src/vertexai/firebase.ts @@ -2,9 +2,13 @@ export * from 'firebase/vertexai'; import { ɵzoneWrap } from '@angular/fire'; import { + getAI as _getAI, getGenerativeModel as _getGenerativeModel, + getImagenModel as _getImagenModel, getVertexAI as _getVertexAI } from 'firebase/vertexai'; +export const getAI = ɵzoneWrap(_getAI, true); export const getGenerativeModel = ɵzoneWrap(_getGenerativeModel, true); +export const getImagenModel = ɵzoneWrap(_getImagenModel, true); export const getVertexAI = ɵzoneWrap(_getVertexAI, true); diff --git a/tools/build.ts b/tools/build.ts index a8ced7106..c947ad765 100644 --- a/tools/build.ts +++ b/tools/build.ts @@ -114,6 +114,7 @@ ${exportedZoneWrappedFns} await writeFile(filePath, fileOutput); }; return Promise.all([ + reexport('ai', 'firebase', 'firebase/ai', tsKeys()), reexport('analytics', 'firebase', 'firebase/analytics', tsKeys(), { isSupported: { blockUntilFirst: false }, logEvent: { blockUntilFirst: false, logLevel: LogLevel.VERBOSE },