Home
Selecione uma ação
diff --git a/apps/viteapp/src/screens/login.tsx b/apps/viteapp/src/screens/login.tsx
index 96e6183..cd4d1ba 100644
--- a/apps/viteapp/src/screens/login.tsx
+++ b/apps/viteapp/src/screens/login.tsx
@@ -5,7 +5,8 @@ export function Login() {
const [username, setUsername] = useState('');
const [password, setPassword] = useState('');
const { mutateAsync: login, isPending: isPendingLogin } = useLogin();
- const { mutateAsync: createSession, isPending: isPendingSession } = useBiometricSession();
+ const { mutateAsync: createSession, isPending: isPendingSession } =
+ useBiometricSession();
const handleLogin = async () => {
try {
@@ -29,7 +30,7 @@ export function Login() {
setUsername(e.target.value)}
+ onChange={e => setUsername(e.target.value)}
placeholder='seu.usuario'
className='w-full border border-gray-200 rounded-lg px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:ring-2 focus:ring-gray-300'
/>
@@ -40,7 +41,7 @@ export function Login() {
setPassword(e.target.value)}
+ onChange={e => setPassword(e.target.value)}
placeholder='••••••••'
className='w-full border border-gray-200 rounded-lg px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:ring-2 focus:ring-gray-300'
/>
diff --git a/apps/viteapp/src/services/api.ts b/apps/viteapp/src/services/api.ts
index a00d7f1..52a60e9 100644
--- a/apps/viteapp/src/services/api.ts
+++ b/apps/viteapp/src/services/api.ts
@@ -13,12 +13,12 @@ export const clientApi = axios.create({
});
clientApi.interceptors.request.use(
- async (config) => {
+ async config => {
const token = useUserStore.getState()?.token || '';
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
- config.validateStatus = (status) => {
+ config.validateStatus = status => {
if (status === 401) {
alert('Session expired. Please log in again.');
useUserStore.getState().logout();
@@ -28,12 +28,12 @@ clientApi.interceptors.request.use(
};
return config;
},
- (error) => Promise.reject(error),
+ error => Promise.reject(error),
);
clientApi.interceptors.response.use(
- (res) => res,
- (error) => Promise.reject(error),
+ res => res,
+ error => Promise.reject(error),
);
export const queryClient = new QueryClient({
defaultOptions: {
diff --git a/apps/viteapp/src/services/client.service.ts b/apps/viteapp/src/services/client.service.ts
index 4124908..4a1e5b1 100644
--- a/apps/viteapp/src/services/client.service.ts
+++ b/apps/viteapp/src/services/client.service.ts
@@ -1,4 +1,9 @@
-import type { ConfigsResponseData, CreateUserRequest, LoginRequest, LoginResponse } from '../types/services.types';
+import type {
+ ConfigsResponseData,
+ CreateUserRequest,
+ LoginRequest,
+ LoginResponse,
+} from '../types/services.types';
import { clientApi } from './api';
import { useMutation, useQuery } from '@tanstack/react-query';
import { useUserStore } from '../hooks';
@@ -48,7 +53,9 @@ export function useBiometricConfigs() {
return useQuery({
queryKey: ['configs'],
queryFn: async () => {
- const response = await clientApi.get
('/biometrics/configs');
+ const response = await clientApi.get(
+ '/biometrics/configs',
+ );
return response.data;
},
diff --git a/package-lock.json b/package-lock.json
index 8ce3f9b..2243ceb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -37,7 +37,6 @@
"zustand": "^5.0.12"
},
"devDependencies": {
- "@azify/aziface-web": "1.0.6",
"@tailwindcss/postcss": "^4",
"@types/node": "^20",
"@types/react": "^19",
@@ -48,12 +47,6 @@
"typescript": "5"
}
},
- "apps/nextapp/node_modules/@azify/aziface-web": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@azify/aziface-web/-/aziface-web-1.0.6.tgz",
- "integrity": "sha512-T+iaOk1zZbCdEU8B8MwBma3sI7qJ3rAdcClSvjpO2lQ5yWdyaI0QSb6thIcoT6dpuPoLuqLD6c4OEItIv9RvSQ==",
- "dev": true
- },
"apps/viteapp": {
"version": "0.0.0",
"dependencies": {
@@ -141,7 +134,6 @@
"resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz",
"integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==",
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -214,6 +206,7 @@
"integrity": "sha512-zYt6cz+ivnTmiT/ksRVriMBOiuoUpDCJJlZ5KPl2/FRdvwU3f7MPh9qftvbkXJThragzUZieit2nyHUyw53Seg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@actions/exec": "^3.0.0",
"@actions/http-client": "^4.0.0"
@@ -225,6 +218,7 @@
"integrity": "sha512-6xH/puSoNBXb72VPlZVm7vQ+svQpFyA96qdDBvhB8eNZOE8LtPf9L4oAsfzK/crCL8YZ+19fKYVnM63Sl+Xzlw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@actions/io": "^3.0.2"
}
@@ -235,6 +229,7 @@
"integrity": "sha512-QuwPsgVMsD6qaPD57GLZi9sqzAZCtiJT8kVBCDpLtxhL5MydQ4gS+DrejtZZPdIYyB1e95uCK9Luyds7ybHI3g==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"tunnel": "^0.0.6",
"undici": "^6.23.0"
@@ -246,6 +241,7 @@
"integrity": "sha512-sC+b0tB1whOCzbtlx20fx3WgCXwkW627p4EA9uM+/tNNPkSS+eSEld6pAs9nDv7WbY1UUljBMYPtu9BCOrCWKA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18.17"
}
@@ -255,7 +251,8 @@
"resolved": "https://registry.npmjs.org/@actions/io/-/io-3.0.2.tgz",
"integrity": "sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/@alloc/quick-lru": {
"version": "5.2.0",
@@ -305,7 +302,6 @@
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@babel/code-frame": "^7.29.0",
"@babel/generator": "^7.29.0",
@@ -552,6 +548,7 @@
"dev": true,
"license": "MIT",
"optional": true,
+ "peer": true,
"engines": {
"node": ">=0.1.90"
}
@@ -1975,7 +1972,6 @@
"integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@octokit/auth-token": "^4.0.0",
"@octokit/graphql": "^7.1.0",
@@ -2834,7 +2830,8 @@
"resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz",
"integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/@semantic-release/changelog": {
"version": "6.0.3",
@@ -3256,6 +3253,7 @@
"integrity": "sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -3269,6 +3267,7 @@
"integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=10"
},
@@ -3649,7 +3648,6 @@
"integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==",
"devOptional": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"csstype": "^3.2.2"
}
@@ -3699,7 +3697,6 @@
"integrity": "sha512-gGkiNMPqerb2cJSVcruigx9eHBlLG14fSdPdqMoOcBfh+vvn4iCq2C8MzUB89PrxOXk0y3GZ1yIWb9aOzL93bw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "8.58.1",
"@typescript-eslint/types": "8.58.1",
@@ -4238,7 +4235,6 @@
"integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
"dev": true,
"license": "MIT",
- "peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -4303,6 +4299,7 @@
"integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"environment": "^1.0.0"
},
@@ -4319,6 +4316,7 @@
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -4332,6 +4330,7 @@
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -4358,7 +4357,8 @@
"resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz",
"integrity": "sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/aria-query": {
"version": "5.3.2",
@@ -4684,7 +4684,6 @@
}
],
"license": "MIT",
- "peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.10.12",
"caniuse-lite": "^1.0.30001782",
@@ -4810,6 +4809,7 @@
"integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": "^12.17.0 || ^14.13 || >=16.0.0"
},
@@ -4823,6 +4823,7 @@
"integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=10"
}
@@ -4859,6 +4860,7 @@
"integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==",
"dev": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"chalk": "^4.0.0",
"highlight.js": "^10.7.1",
@@ -4881,6 +4883,7 @@
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"color-convert": "^2.0.1"
},
@@ -4897,6 +4900,7 @@
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -4914,6 +4918,7 @@
"integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
"dev": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
@@ -4926,6 +4931,7 @@
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -4944,6 +4950,7 @@
"integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"cliui": "^7.0.2",
"escalade": "^3.1.1",
@@ -4963,6 +4970,7 @@
"integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
"dev": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": ">=10"
}
@@ -4973,6 +4981,7 @@
"integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"string-width": "^4.2.0"
},
@@ -4995,6 +5004,7 @@
"integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==",
"dev": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"string-width": "^7.2.0",
"strip-ansi": "^7.1.0",
@@ -5009,7 +5019,8 @@
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
"integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/cliui/node_modules/string-width": {
"version": "7.2.0",
@@ -5017,6 +5028,7 @@
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"emoji-regex": "^10.3.0",
"get-east-asian-width": "^1.0.0",
@@ -5035,6 +5047,7 @@
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ansi-regex": "^6.2.2"
},
@@ -5202,6 +5215,7 @@
"integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -5229,6 +5243,7 @@
"integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"env-paths": "^2.2.1",
"import-fresh": "^3.3.0",
@@ -5256,6 +5271,7 @@
"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@babel/code-frame": "^7.0.0",
"error-ex": "^1.3.1",
@@ -5317,8 +5333,7 @@
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
"integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/damerau-levenshtein": {
"version": "1.0.8",
@@ -5536,6 +5551,7 @@
"integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
"dev": true,
"license": "BSD-3-Clause",
+ "peer": true,
"dependencies": {
"readable-stream": "^2.0.2"
}
@@ -5552,14 +5568,16 @@
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/emojilib": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz",
"integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/enhanced-resolve": {
"version": "5.20.1",
@@ -5580,6 +5598,7 @@
"integrity": "sha512-D5kWfzkmaOQDioPmiviWAVtKmpPT4/iJmMVQxWxMPJTFyTkdc5JQUfc5iXEeWxcOdsYTKSAiA/Age4NUOqKsRA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"execa": "^8.0.0",
"java-properties": "^1.0.2"
@@ -5594,6 +5613,7 @@
"integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"cross-spawn": "^7.0.3",
"get-stream": "^8.0.1",
@@ -5618,6 +5638,7 @@
"integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=16"
},
@@ -5631,6 +5652,7 @@
"integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
"dev": true,
"license": "Apache-2.0",
+ "peer": true,
"engines": {
"node": ">=16.17.0"
}
@@ -5641,6 +5663,7 @@
"integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
@@ -5654,6 +5677,7 @@
"integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -5667,6 +5691,7 @@
"integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"path-key": "^4.0.0"
},
@@ -5683,6 +5708,7 @@
"integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"mimic-fn": "^4.0.0"
},
@@ -5699,6 +5725,7 @@
"integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -5712,6 +5739,7 @@
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": ">=14"
},
@@ -5725,6 +5753,7 @@
"integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -5738,6 +5767,7 @@
"integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=6"
}
@@ -5748,6 +5778,7 @@
"integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -5761,6 +5792,7 @@
"integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"is-arrayish": "^0.2.1"
}
@@ -5946,7 +5978,6 @@
"devOptional": true,
"hasInstallScript": true,
"license": "MIT",
- "peer": true,
"bin": {
"esbuild": "bin/esbuild"
},
@@ -6011,7 +6042,6 @@
"integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
@@ -6197,7 +6227,6 @@
"integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@rtsao/scc": "^1.1.0",
"array-includes": "^3.1.9",
@@ -6646,7 +6675,8 @@
"url": "https://opencollective.com/fastify"
}
],
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
@@ -6702,6 +6732,7 @@
"integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"is-unicode-supported": "^2.0.0"
},
@@ -6744,6 +6775,7 @@
"integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"locate-path": "^2.0.0"
},
@@ -6770,6 +6802,7 @@
"integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"semver-regex": "^4.0.5",
"super-regex": "^1.0.0"
@@ -6921,6 +6954,7 @@
"integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -6985,6 +7019,7 @@
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "6.* || 8.* || >= 10.*"
}
@@ -6995,6 +7030,7 @@
"integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -7089,6 +7125,7 @@
"integrity": "sha512-PI+sPDvHXNPl5WNOErAK05s3j0lgwUzMN6o8cyQrDaKfT3qd7TmNJKeXX+SknI5I0QhG5fVPAEwSY4tRGDtYoQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"argv-formatter": "~1.0.0",
"spawn-error-forwarder": "~1.0.0",
@@ -7104,6 +7141,7 @@
"integrity": "sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==",
"dev": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"through2": "~2.0.0"
}
@@ -7348,6 +7386,7 @@
"integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
"dev": true,
"license": "BSD-3-Clause",
+ "peer": true,
"engines": {
"node": "*"
}
@@ -7358,6 +7397,7 @@
"integrity": "sha512-IHI4bEVOt3vRUDJ+bFA9VUJlo7SzvFARPNLw75pqSmAOP2HmTWfFJtPvLBrDrlgjEYXY9zs7SFdHPQaJShkSCQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20"
},
@@ -7580,7 +7620,8 @@
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/is-async-function": {
"version": "2.1.1",
@@ -7741,6 +7782,7 @@
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=8"
}
@@ -7847,6 +7889,7 @@
"integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -7985,6 +8028,7 @@
"integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -8093,6 +8137,7 @@
"integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">= 0.6.0"
}
@@ -8161,14 +8206,16 @@
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/json-schema-traverse": {
"version": "0.4.1",
@@ -8196,7 +8243,8 @@
"resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.8.tgz",
"integrity": "sha512-eq/4KP6K34kwa7TcFdtvnftvHCD9KvHOGGICWwMFc4dOOKF5t4iYqnfLK8otCRCRv06FXOzGGyqE8h8ElMvvdw==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/json5": {
"version": "2.2.3",
@@ -8586,6 +8634,7 @@
"integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"graceful-fs": "^4.1.2",
"parse-json": "^4.0.0",
@@ -8602,6 +8651,7 @@
"integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"error-ex": "^1.3.1",
"json-parse-better-errors": "^1.0.1"
@@ -8626,6 +8676,7 @@
"integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"p-locate": "^2.0.0",
"path-exists": "^3.0.0"
@@ -8725,6 +8776,7 @@
"integrity": "sha512-ayF7iT+44LXdxJLTrTd3TLQpFDDvPCBxXxbv+pMUSuHA5Q8zyAfwkRP6aHHwNVFBUFWtxAHqwNJxF8vMZLAbVg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"p-event": "^6.0.0",
"type-fest": "^4.6.0",
@@ -8757,6 +8809,7 @@
"integrity": "sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ansi-escapes": "^7.0.0",
"ansi-regex": "^6.1.0",
@@ -9080,6 +9133,7 @@
"integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@sindresorhus/is": "^4.6.0",
"char-regex": "^1.0.2",
@@ -11038,7 +11092,6 @@
"dev": true,
"inBundle": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=12"
},
@@ -11880,6 +11933,7 @@
"integrity": "sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -11893,6 +11947,7 @@
"integrity": "sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"p-timeout": "^6.1.2"
},
@@ -11935,6 +11990,7 @@
"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"p-try": "^1.0.0"
},
@@ -11948,6 +12004,7 @@
"integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"p-limit": "^1.1.0"
},
@@ -11984,6 +12041,7 @@
"integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=14.16"
},
@@ -11997,6 +12055,7 @@
"integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=4"
}
@@ -12038,6 +12097,7 @@
"integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -12050,7 +12110,8 @@
"resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
"integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/parse5-htmlparser2-tree-adapter": {
"version": "6.0.1",
@@ -12058,6 +12119,7 @@
"integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"parse5": "^6.0.1"
}
@@ -12067,7 +12129,8 @@
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/path-exists": {
"version": "3.0.0",
@@ -12075,6 +12138,7 @@
"integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=4"
}
@@ -12138,6 +12202,7 @@
"integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=4"
}
@@ -12158,6 +12223,7 @@
"integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"find-up": "^2.0.0",
"load-json-file": "^4.0.0"
@@ -12275,6 +12341,7 @@
"integrity": "sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"parse-ms": "^4.0.0"
},
@@ -12369,7 +12436,6 @@
"resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz",
"integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==",
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -12379,7 +12445,6 @@
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz",
"integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==",
"license": "MIT",
- "peer": true,
"dependencies": {
"scheduler": "^0.27.0"
},
@@ -12432,6 +12497,7 @@
"integrity": "sha512-Q5hMVBYur/eQNWDdbF4/Wqqr9Bjvtrw2kjGxxBbKLbx8bVCL8gcArjTy8zDUuLGQicftpMuU0riQNcAsbtOVsw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"find-up-simple": "^1.0.1",
"read-pkg": "^10.0.0",
@@ -12450,6 +12516,7 @@
"integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==",
"dev": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"lru-cache": "^11.1.0"
},
@@ -12463,6 +12530,7 @@
"integrity": "sha512-JvNw9Y81y33E+BEYPr0U7omo+U9AySnsMsEiXgwT6yqd31VQWTLNQqmT4ou5eqPFUrTfIDFta2wKhB1hyohtAQ==",
"dev": true,
"license": "BlueOak-1.0.0",
+ "peer": true,
"engines": {
"node": "20 || >=22"
}
@@ -12473,6 +12541,7 @@
"integrity": "sha512-RWk+PI433eESQ7ounYxIp67CYuVsS1uYSonX3kA6ps/3LWfjVQa/ptEg6Y3T6uAMq1mWpX9PQ+qx+QaHpsc7gQ==",
"dev": true,
"license": "BSD-2-Clause",
+ "peer": true,
"dependencies": {
"hosted-git-info": "^9.0.0",
"semver": "^7.3.5",
@@ -12488,6 +12557,7 @@
"integrity": "sha512-I8g2lArQiP78ll51UeMZojewtYgIRCKCWqZEgOO8c/uefTI+XDXvCSXu3+YNUaTNvZzobrL5+SqHjBrByRRTdg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@types/normalize-package-data": "^2.4.4",
"normalize-package-data": "^8.0.0",
@@ -12508,6 +12578,7 @@
"integrity": "sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==",
"dev": true,
"license": "(MIT OR CC0-1.0)",
+ "peer": true,
"dependencies": {
"tagged-tag": "^1.0.0"
},
@@ -12524,6 +12595,7 @@
"integrity": "sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20"
},
@@ -12676,6 +12748,7 @@
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -12975,6 +13048,7 @@
"integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">= 20"
}
@@ -13005,6 +13079,7 @@
"integrity": "sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@octokit/types": "^16.0.0",
"universal-user-agent": "^7.0.2"
@@ -13019,6 +13094,7 @@
"integrity": "sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@octokit/request": "^10.0.6",
"@octokit/types": "^16.0.0",
@@ -13033,7 +13109,8 @@
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
"integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/semantic-release/node_modules/@octokit/plugin-paginate-rest": {
"version": "14.0.0",
@@ -13041,6 +13118,7 @@
"integrity": "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@octokit/types": "^16.0.0"
},
@@ -13057,6 +13135,7 @@
"integrity": "sha512-O1FZgXeiGb2sowEr/hYTr6YunGdSAFWnr2fyW39Ah85H8O33ELASQxcvOFF5LE6Tjekcyu2ms4qAzJVhSaJxTw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@octokit/request-error": "^7.0.2",
"@octokit/types": "^16.0.0",
@@ -13075,6 +13154,7 @@
"integrity": "sha512-34eE0RkFCKycLl2D2kq7W+LovheM/ex3AwZCYN8udpi6bxsyjZidb2McXs69hZhLmJlDqTSP8cH+jSRpiaijBg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@octokit/types": "^16.0.0",
"bottleneck": "^2.15.3"
@@ -13092,6 +13172,7 @@
"integrity": "sha512-SJZNwY9pur9Agf7l87ywFi14W+Hd9Jg6Ifivsd33+/bGUQIjNujdFiXII2/qSlN2ybqUHfp5xpekMEjIBTjlSw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@octokit/endpoint": "^11.0.3",
"@octokit/request-error": "^7.0.2",
@@ -13110,6 +13191,7 @@
"integrity": "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@octokit/types": "^16.0.0"
},
@@ -13123,6 +13205,7 @@
"integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@octokit/openapi-types": "^27.0.0"
}
@@ -13133,6 +13216,7 @@
"integrity": "sha512-wdnBPHKkr9HhNhXOhZD5a2LNl91+hs8CC2vsAVYxtZH3y0dV3wKn+uZSN61rdJQZ8EGxzWB3inWocBHV9+u/CQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"conventional-changelog-angular": "^8.0.0",
"conventional-changelog-writer": "^8.0.0",
@@ -13156,6 +13240,7 @@
"integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
}
@@ -13166,6 +13251,7 @@
"integrity": "sha512-aYYFkwHW3c6YtHwQF0t0+lAjlU+87NFOZuH2CvWFD0Ylivc7MwhZMiHOJ0FMpIgPpCVib/VUAcOwvrW0KnxQtA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@octokit/core": "^7.0.0",
"@octokit/plugin-paginate-rest": "^14.0.0",
@@ -13198,6 +13284,7 @@
"integrity": "sha512-Hq5UxzoatN3LHiq2rTsWS54nCdqJHlsssGERCo8WlvdfFA9LoN0vO+OuKVSjtNapIc/S8C2LBj206wKLHg62mg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@actions/core": "^3.0.0",
"@semantic-release/error": "^4.0.0",
@@ -13228,6 +13315,7 @@
"integrity": "sha512-CcyDRk7xq+ON/20YNR+1I/jP7BYKICr1uKd1HHpROSnnTdGqOTburi4jcRiTYz0cpfhxSloQO3cGhnoot7IEkA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"conventional-changelog-angular": "^8.0.0",
"conventional-changelog-writer": "^8.0.0",
@@ -13253,6 +13341,7 @@
"integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=16"
},
@@ -13266,6 +13355,7 @@
"integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==",
"dev": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"lru-cache": "^10.0.1"
},
@@ -13278,7 +13368,8 @@
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
"dev": true,
- "license": "ISC"
+ "license": "ISC",
+ "peer": true
},
"node_modules/semantic-release/node_modules/@semantic-release/release-notes-generator/node_modules/normalize-package-data": {
"version": "6.0.2",
@@ -13286,6 +13377,7 @@
"integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==",
"dev": true,
"license": "BSD-2-Clause",
+ "peer": true,
"dependencies": {
"hosted-git-info": "^7.0.0",
"semver": "^7.3.5",
@@ -13301,6 +13393,7 @@
"integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"find-up-simple": "^1.0.0",
"read-pkg": "^9.0.0",
@@ -13319,6 +13412,7 @@
"integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@types/normalize-package-data": "^2.4.3",
"normalize-package-data": "^6.0.0",
@@ -13339,6 +13433,7 @@
"integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -13352,6 +13447,7 @@
"integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -13365,6 +13461,7 @@
"integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"clean-stack": "^5.2.0",
"indent-string": "^5.0.0"
@@ -13381,7 +13478,8 @@
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz",
"integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==",
"dev": true,
- "license": "Apache-2.0"
+ "license": "Apache-2.0",
+ "peer": true
},
"node_modules/semantic-release/node_modules/clean-stack": {
"version": "5.3.0",
@@ -13389,6 +13487,7 @@
"integrity": "sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"escape-string-regexp": "5.0.0"
},
@@ -13405,6 +13504,7 @@
"integrity": "sha512-6gfI3otXK5Ph5DfCOI1dblr+kN3FAm5a97hYoQkqNZxOaYa5WKfXH+AnpsmS+iUH2mgVC2Cg2Qw9m5OKcmNrIg==",
"dev": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"compare-func": "^2.0.0"
},
@@ -13418,6 +13518,7 @@
"integrity": "sha512-HHBFkk1EECxxmCi4CTu091iuDpQv5/OavuCUAuZmrkWpmYfyD816nom1CvtfXJ/uYfAAjavgHvXHX291tSLK8g==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@simple-libs/stream-utils": "^1.2.0",
"conventional-commits-filter": "^5.0.0",
@@ -13438,6 +13539,7 @@
"integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
}
@@ -13448,6 +13550,7 @@
"integrity": "sha512-tvRg7FIBNlyPzjdG8wWRlPHQJJHI7DylhtRGeU9Lq+JuoPh5BKpPRX83ZdLrvXuOSu5Eo/e7SzOQhU4Hd2Miuw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@simple-libs/stream-utils": "^1.2.0",
"meow": "^13.0.0"
@@ -13465,6 +13568,7 @@
"integrity": "sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@sindresorhus/merge-streams": "^4.0.0",
"cross-spawn": "^7.0.6",
@@ -13492,6 +13596,7 @@
"integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@sec-ant/readable-stream": "^0.4.1",
"is-stream": "^4.0.1"
@@ -13509,6 +13614,7 @@
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=10"
},
@@ -13522,6 +13628,7 @@
"integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==",
"dev": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"lru-cache": "^11.1.0"
},
@@ -13535,6 +13642,7 @@
"integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==",
"dev": true,
"license": "Apache-2.0",
+ "peer": true,
"engines": {
"node": ">=18.18.0"
}
@@ -13545,6 +13653,7 @@
"integrity": "sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"debug": "^4.3.4",
"import-meta-resolve": "^4.0.0"
@@ -13559,6 +13668,7 @@
"integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -13572,6 +13682,7 @@
"integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -13585,6 +13696,7 @@
"integrity": "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"lodash.capitalize": "^4.2.1",
"lodash.escaperegexp": "^4.1.2",
@@ -13602,6 +13714,7 @@
"integrity": "sha512-JvNw9Y81y33E+BEYPr0U7omo+U9AySnsMsEiXgwT6yqd31VQWTLNQqmT4ou5eqPFUrTfIDFta2wKhB1hyohtAQ==",
"dev": true,
"license": "BlueOak-1.0.0",
+ "peer": true,
"engines": {
"node": "20 || >=22"
}
@@ -13612,6 +13725,7 @@
"integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -13625,6 +13739,7 @@
"integrity": "sha512-RWk+PI433eESQ7ounYxIp67CYuVsS1uYSonX3kA6ps/3LWfjVQa/ptEg6Y3T6uAMq1mWpX9PQ+qx+QaHpsc7gQ==",
"dev": true,
"license": "BSD-2-Clause",
+ "peer": true,
"dependencies": {
"hosted-git-info": "^9.0.0",
"semver": "^7.3.5",
@@ -13640,6 +13755,7 @@
"integrity": "sha512-z9nC87iaZXXySbWWtTHfCFJyFvKaUAW6lODhikG7ILSbVgmwuFjUqkgnheHvAUcGedO29e2QGBRXMUD64aurqQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20"
},
@@ -13720,6 +13836,7 @@
],
"dev": true,
"license": "Artistic-2.0",
+ "peer": true,
"workspaces": [
"docs",
"smoke-tests",
@@ -13808,6 +13925,7 @@
"integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"path-key": "^4.0.0",
"unicorn-magic": "^0.3.0"
@@ -13824,6 +13942,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -13833,6 +13952,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"minipass": "^7.0.4"
},
@@ -13844,13 +13964,15 @@
"version": "1.1.0",
"dev": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/@npmcli/agent": {
"version": "4.0.0",
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"agent-base": "^7.1.0",
"http-proxy-agent": "^7.0.0",
@@ -13867,6 +13989,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@gar/promise-retry": "^1.0.0",
"@isaacs/string-locale-compare": "^1.1.0",
@@ -13915,6 +14038,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@npmcli/map-workspaces": "^5.0.0",
"@npmcli/package-json": "^7.0.0",
@@ -13934,6 +14058,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"semver": "^7.3.5"
},
@@ -13946,6 +14071,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@gar/promise-retry": "^1.0.0",
"@npmcli/promise-spawn": "^9.0.0",
@@ -13965,6 +14091,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"npm-bundled": "^5.0.0",
"npm-normalize-package-bin": "^5.0.0"
@@ -13981,6 +14108,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@npmcli/name-from-folder": "^4.0.0",
"@npmcli/package-json": "^7.0.0",
@@ -13996,6 +14124,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"cacache": "^20.0.0",
"json-parse-even-better-errors": "^5.0.0",
@@ -14012,6 +14141,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -14021,6 +14151,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -14030,6 +14161,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@npmcli/git": "^7.0.0",
"glob": "^13.0.0",
@@ -14048,6 +14180,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"which": "^6.0.0"
},
@@ -14060,6 +14193,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"postcss-selector-parser": "^7.0.0"
},
@@ -14072,6 +14206,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -14081,6 +14216,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@npmcli/node-gyp": "^5.0.0",
"@npmcli/package-json": "^7.0.0",
@@ -14097,6 +14233,7 @@
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
+ "peer": true,
"dependencies": {
"@sigstore/protobuf-specs": "^0.5.0"
},
@@ -14109,6 +14246,7 @@
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -14118,6 +14256,7 @@
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
+ "peer": true,
"engines": {
"node": "^18.17.0 || >=20.5.0"
}
@@ -14127,6 +14266,7 @@
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
+ "peer": true,
"dependencies": {
"@gar/promise-retry": "^1.0.2",
"@sigstore/bundle": "^4.0.0",
@@ -14144,6 +14284,7 @@
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
+ "peer": true,
"dependencies": {
"@sigstore/protobuf-specs": "^0.5.0",
"tuf-js": "^4.1.0"
@@ -14157,6 +14298,7 @@
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
+ "peer": true,
"dependencies": {
"@sigstore/bundle": "^4.0.0",
"@sigstore/core": "^3.1.0",
@@ -14171,6 +14313,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": "^16.14.0 || >=18.0.0"
}
@@ -14180,6 +14323,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@tufjs/canonical-json": "2.0.0",
"minimatch": "^10.1.1"
@@ -14193,6 +14337,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -14202,6 +14347,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">= 14"
}
@@ -14210,19 +14356,22 @@
"version": "2.1.0",
"dev": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/archy": {
"version": "1.0.0",
"dev": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/balanced-match": {
"version": "4.0.4",
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": "18 || 20 || >=22"
}
@@ -14232,6 +14381,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"cmd-shim": "^8.0.0",
"npm-normalize-package-bin": "^5.0.0",
@@ -14248,6 +14398,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18.20"
},
@@ -14260,6 +14411,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"balanced-match": "^4.0.2"
},
@@ -14272,6 +14424,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@npmcli/fs": "^5.0.0",
"fs-minipass": "^3.0.0",
@@ -14293,6 +14446,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": "^12.17.0 || ^14.13 || >=16.0.0"
},
@@ -14305,6 +14459,7 @@
"dev": true,
"inBundle": true,
"license": "BlueOak-1.0.0",
+ "peer": true,
"engines": {
"node": ">=18"
}
@@ -14320,6 +14475,7 @@
],
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=8"
}
@@ -14329,6 +14485,7 @@
"dev": true,
"inBundle": true,
"license": "BSD-2-Clause",
+ "peer": true,
"engines": {
"node": ">=20"
}
@@ -14338,6 +14495,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -14347,6 +14505,7 @@
"dev": true,
"inBundle": true,
"license": "BlueOak-1.0.0",
+ "peer": true,
"engines": {
"node": ">= 18"
}
@@ -14356,6 +14515,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"bin": {
"cssesc": "bin/cssesc"
},
@@ -14368,6 +14528,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ms": "^2.1.3"
},
@@ -14385,6 +14546,7 @@
"dev": true,
"inBundle": true,
"license": "BSD-3-Clause",
+ "peer": true,
"engines": {
"node": ">=0.3.1"
}
@@ -14394,6 +14556,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=6"
}
@@ -14402,13 +14565,15 @@
"version": "3.1.3",
"dev": true,
"inBundle": true,
- "license": "Apache-2.0"
+ "license": "Apache-2.0",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/fastest-levenshtein": {
"version": "1.0.16",
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">= 4.9.1"
}
@@ -14418,6 +14583,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"minipass": "^7.0.3"
},
@@ -14430,6 +14596,7 @@
"dev": true,
"inBundle": true,
"license": "BlueOak-1.0.0",
+ "peer": true,
"dependencies": {
"minimatch": "^10.2.2",
"minipass": "^7.1.3",
@@ -14446,13 +14613,15 @@
"version": "4.2.11",
"dev": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/hosted-git-info": {
"version": "9.0.2",
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"lru-cache": "^11.1.0"
},
@@ -14464,13 +14633,15 @@
"version": "4.2.0",
"dev": true,
"inBundle": true,
- "license": "BSD-2-Clause"
+ "license": "BSD-2-Clause",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/http-proxy-agent": {
"version": "7.0.2",
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"agent-base": "^7.1.0",
"debug": "^4.3.4"
@@ -14484,6 +14655,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"agent-base": "^7.1.2",
"debug": "4"
@@ -14498,6 +14670,7 @@
"inBundle": true,
"license": "MIT",
"optional": true,
+ "peer": true,
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
@@ -14514,6 +14687,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"minimatch": "^10.0.3"
},
@@ -14526,6 +14700,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -14535,6 +14710,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@npmcli/package-json": "^7.0.0",
"npm-package-arg": "^13.0.0",
@@ -14552,6 +14728,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">= 12"
}
@@ -14561,6 +14738,7 @@
"dev": true,
"inBundle": true,
"license": "BSD-2-Clause",
+ "peer": true,
"dependencies": {
"cidr-regex": "^5.0.1"
},
@@ -14573,6 +14751,7 @@
"dev": true,
"inBundle": true,
"license": "BlueOak-1.0.0",
+ "peer": true,
"engines": {
"node": ">=20"
}
@@ -14582,6 +14761,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -14591,6 +14771,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
@@ -14602,25 +14783,29 @@
"node >= 0.2.0"
],
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/just-diff": {
"version": "6.0.2",
"dev": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/just-diff-apply": {
"version": "5.5.0",
"dev": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/libnpmaccess": {
"version": "10.0.3",
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"npm-package-arg": "^13.0.0",
"npm-registry-fetch": "^19.0.0"
@@ -14634,6 +14819,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@npmcli/arborist": "^9.4.2",
"@npmcli/installed-package-contents": "^4.0.0",
@@ -14653,6 +14839,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@gar/promise-retry": "^1.0.0",
"@npmcli/arborist": "^9.4.2",
@@ -14676,6 +14863,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@npmcli/arborist": "^9.4.2"
},
@@ -14688,6 +14876,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"aproba": "^2.0.0",
"npm-registry-fetch": "^19.0.0"
@@ -14701,6 +14890,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@npmcli/arborist": "^9.4.2",
"@npmcli/run-script": "^10.0.0",
@@ -14716,6 +14906,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@npmcli/package-json": "^7.0.0",
"ci-info": "^4.0.0",
@@ -14735,6 +14926,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"npm-registry-fetch": "^19.0.0"
},
@@ -14747,6 +14939,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"aproba": "^2.0.0",
"npm-registry-fetch": "^19.0.0"
@@ -14760,6 +14953,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@npmcli/git": "^7.0.0",
"@npmcli/run-script": "^10.0.0",
@@ -14776,6 +14970,7 @@
"dev": true,
"inBundle": true,
"license": "BlueOak-1.0.0",
+ "peer": true,
"engines": {
"node": "20 || >=22"
}
@@ -14785,6 +14980,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@gar/promise-retry": "^1.0.0",
"@npmcli/agent": "^4.0.0",
@@ -14808,6 +15004,7 @@
"dev": true,
"inBundle": true,
"license": "BlueOak-1.0.0",
+ "peer": true,
"dependencies": {
"brace-expansion": "^5.0.2"
},
@@ -14823,6 +15020,7 @@
"dev": true,
"inBundle": true,
"license": "BlueOak-1.0.0",
+ "peer": true,
"engines": {
"node": ">=16 || 14 >=14.17"
}
@@ -14832,6 +15030,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"minipass": "^7.0.3"
},
@@ -14844,6 +15043,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"minipass": "^7.0.3",
"minipass-sized": "^2.0.0",
@@ -14861,6 +15061,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"minipass": "^3.0.0"
},
@@ -14873,6 +15074,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"yallist": "^4.0.0"
},
@@ -14884,13 +15086,15 @@
"version": "4.0.0",
"dev": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/minipass-pipeline": {
"version": "1.2.4",
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"minipass": "^3.0.0"
},
@@ -14903,6 +15107,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"yallist": "^4.0.0"
},
@@ -14914,13 +15119,15 @@
"version": "4.0.0",
"dev": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/minipass-sized": {
"version": "2.0.0",
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"minipass": "^7.1.2"
},
@@ -14933,6 +15140,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"minipass": "^7.1.2"
},
@@ -14944,13 +15152,15 @@
"version": "2.1.3",
"dev": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/mute-stream": {
"version": "3.0.0",
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -14960,6 +15170,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">= 0.6"
}
@@ -14969,6 +15180,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"env-paths": "^2.2.0",
"exponential-backoff": "^3.1.1",
@@ -14993,6 +15205,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"abbrev": "^4.0.0"
},
@@ -15008,6 +15221,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -15017,6 +15231,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"npm-normalize-package-bin": "^5.0.0"
},
@@ -15029,6 +15244,7 @@
"dev": true,
"inBundle": true,
"license": "BSD-2-Clause",
+ "peer": true,
"dependencies": {
"semver": "^7.1.1"
},
@@ -15041,6 +15257,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -15050,6 +15267,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"hosted-git-info": "^9.0.0",
"proc-log": "^6.0.0",
@@ -15065,6 +15283,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"ignore-walk": "^8.0.0",
"proc-log": "^6.0.0"
@@ -15078,6 +15297,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"npm-install-checks": "^8.0.0",
"npm-normalize-package-bin": "^5.0.0",
@@ -15093,6 +15313,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"npm-registry-fetch": "^19.0.0",
"proc-log": "^6.0.0"
@@ -15106,6 +15327,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@npmcli/redact": "^4.0.0",
"jsonparse": "^1.3.1",
@@ -15125,6 +15347,7 @@
"dev": true,
"inBundle": true,
"license": "BSD-2-Clause",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -15134,6 +15357,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -15146,6 +15370,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@gar/promise-retry": "^1.0.0",
"@npmcli/git": "^7.0.0",
@@ -15177,6 +15402,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"json-parse-even-better-errors": "^5.0.0",
"just-diff": "^6.0.0",
@@ -15191,6 +15417,7 @@
"dev": true,
"inBundle": true,
"license": "BlueOak-1.0.0",
+ "peer": true,
"dependencies": {
"lru-cache": "^11.0.0",
"minipass": "^7.1.2"
@@ -15207,6 +15434,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -15220,6 +15448,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -15229,6 +15458,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -15238,6 +15468,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
@@ -15247,6 +15478,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
@@ -15256,6 +15488,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"read": "^5.0.0"
},
@@ -15267,6 +15500,7 @@
"version": "0.12.0",
"dev": true,
"inBundle": true,
+ "peer": true,
"bin": {
"qrcode-terminal": "bin/qrcode-terminal.js"
}
@@ -15276,6 +15510,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"mute-stream": "^3.0.0"
},
@@ -15288,6 +15523,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -15297,13 +15533,15 @@
"dev": true,
"inBundle": true,
"license": "MIT",
- "optional": true
+ "optional": true,
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/semver": {
"version": "7.7.4",
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"bin": {
"semver": "bin/semver.js"
},
@@ -15316,6 +15554,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": ">=14"
},
@@ -15328,6 +15567,7 @@
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
+ "peer": true,
"dependencies": {
"@sigstore/bundle": "^4.0.0",
"@sigstore/core": "^3.1.0",
@@ -15345,6 +15585,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
@@ -15355,6 +15596,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ip-address": "^10.0.1",
"smart-buffer": "^4.2.0"
@@ -15369,6 +15611,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"agent-base": "^7.1.2",
"debug": "^4.3.4",
@@ -15382,13 +15625,15 @@
"version": "2.5.0",
"dev": true,
"inBundle": true,
- "license": "CC-BY-3.0"
+ "license": "CC-BY-3.0",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/spdx-expression-parse": {
"version": "4.0.0",
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
@@ -15398,13 +15643,15 @@
"version": "3.0.23",
"dev": true,
"inBundle": true,
- "license": "CC0-1.0"
+ "license": "CC0-1.0",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/ssri": {
"version": "13.0.1",
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"minipass": "^7.0.3"
},
@@ -15417,6 +15664,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -15429,6 +15677,7 @@
"dev": true,
"inBundle": true,
"license": "BlueOak-1.0.0",
+ "peer": true,
"dependencies": {
"@isaacs/fs-minipass": "^4.0.0",
"chownr": "^3.0.0",
@@ -15444,19 +15693,22 @@
"version": "0.2.0",
"dev": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/tiny-relative-date": {
"version": "2.0.2",
"dev": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/tinyglobby": {
"version": "0.2.15",
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"fdir": "^6.5.0",
"picomatch": "^4.0.3"
@@ -15473,6 +15725,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12.0.0"
},
@@ -15503,6 +15756,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
@@ -15512,6 +15766,7 @@
"dev": true,
"inBundle": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@tufjs/models": "4.1.0",
"debug": "^4.4.3",
@@ -15525,13 +15780,15 @@
"version": "1.0.2",
"dev": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/semantic-release/node_modules/npm/node_modules/validate-npm-package-name": {
"version": "7.0.2",
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -15541,6 +15798,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "20 || >=22"
}
@@ -15550,6 +15808,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"isexe": "^4.0.0"
},
@@ -15565,6 +15824,7 @@
"dev": true,
"inBundle": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"signal-exit": "^4.0.1"
},
@@ -15577,6 +15837,7 @@
"dev": true,
"inBundle": true,
"license": "BlueOak-1.0.0",
+ "peer": true,
"engines": {
"node": ">=18"
}
@@ -15587,6 +15848,7 @@
"integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -15600,6 +15862,7 @@
"integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -15613,6 +15876,7 @@
"integrity": "sha512-I8g2lArQiP78ll51UeMZojewtYgIRCKCWqZEgOO8c/uefTI+XDXvCSXu3+YNUaTNvZzobrL5+SqHjBrByRRTdg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@types/normalize-package-data": "^2.4.4",
"normalize-package-data": "^8.0.0",
@@ -15633,6 +15897,7 @@
"integrity": "sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==",
"dev": true,
"license": "(MIT OR CC0-1.0)",
+ "peer": true,
"dependencies": {
"tagged-tag": "^1.0.0"
},
@@ -15649,6 +15914,7 @@
"integrity": "sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20"
},
@@ -15662,6 +15928,7 @@
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": ">=14"
},
@@ -15675,6 +15942,7 @@
"integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -15687,7 +15955,8 @@
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz",
"integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==",
"dev": true,
- "license": "ISC"
+ "license": "ISC",
+ "peer": true
},
"node_modules/semver": {
"version": "7.7.4",
@@ -15708,6 +15977,7 @@
"integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -15921,6 +16191,7 @@
"integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"chalk": "^2.3.2",
"figures": "^2.0.0",
@@ -15936,6 +16207,7 @@
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"color-convert": "^1.9.0"
},
@@ -15949,6 +16221,7 @@
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -15964,6 +16237,7 @@
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"color-name": "1.1.3"
}
@@ -15973,7 +16247,8 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/signale/node_modules/escape-string-regexp": {
"version": "1.0.5",
@@ -15981,6 +16256,7 @@
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=0.8.0"
}
@@ -15991,6 +16267,7 @@
"integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"escape-string-regexp": "^1.0.5"
},
@@ -16004,6 +16281,7 @@
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=4"
}
@@ -16014,6 +16292,7 @@
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"has-flag": "^3.0.0"
},
@@ -16027,6 +16306,7 @@
"integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"unicode-emoji-modifier-base": "^1.0.0"
},
@@ -16071,7 +16351,8 @@
"resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz",
"integrity": "sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/spdx-correct": {
"version": "3.2.0",
@@ -16146,6 +16427,7 @@
"integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"duplexer2": "~0.1.0",
"readable-stream": "^2.0.2"
@@ -16167,6 +16449,7 @@
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -16295,6 +16578,7 @@
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -16308,6 +16592,7 @@
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=8"
}
@@ -16394,6 +16679,7 @@
"integrity": "sha512-WHkws2ZflZe41zj6AolvvmaTrWds/VuyeYr9iPVv/oQeaIoVxMKaushfFWpOGDT+GuBrM/sVqF8KUCYQlSSTdQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"function-timeout": "^1.0.1",
"make-asynchronous": "^1.0.1",
@@ -16425,6 +16711,7 @@
"integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"has-flag": "^4.0.0",
"supports-color": "^7.0.0"
@@ -16455,6 +16742,7 @@
"integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20"
},
@@ -16585,6 +16873,7 @@
"integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"readable-stream": "~2.3.6",
"xtend": "~4.0.1"
@@ -16596,6 +16885,7 @@
"integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"convert-hrtime": "^5.0.0"
},
@@ -16651,7 +16941,6 @@
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=12"
},
@@ -16678,6 +16967,7 @@
"integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">= 0.4"
},
@@ -16816,6 +17106,7 @@
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
}
@@ -16930,7 +17221,6 @@
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true,
"license": "Apache-2.0",
- "peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -17009,6 +17299,7 @@
"integrity": "sha512-H/nlJ/h0ggGC+uRL3ovD+G0i4bqhvsDOpbDv7At5eFLlj2b41L8QliGbnl2H7SnDiYhENphh1tQFJZf+MyfLsQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.18.1"
}
@@ -17026,6 +17317,7 @@
"integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=4"
}
@@ -17185,7 +17477,6 @@
"resolved": "https://registry.npmjs.org/vite/-/vite-8.0.8.tgz",
"integrity": "sha512-dbU7/iLVa8KZALJyLOBOQ88nOXtNG8vxKuOT4I2mD+Ya70KPceF4IAmDsmU0h1Qsn5bPrvsY9HJstCRh3hG6Uw==",
"license": "MIT",
- "peer": true,
"dependencies": {
"lightningcss": "^1.32.0",
"picomatch": "^4.0.4",
@@ -17279,7 +17570,8 @@
"resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.5.0.tgz",
"integrity": "sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==",
"dev": true,
- "license": "Apache-2.0"
+ "license": "Apache-2.0",
+ "peer": true
},
"node_modules/which": {
"version": "2.0.2",
@@ -17416,6 +17708,7 @@
"integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ansi-styles": "^6.2.1",
"string-width": "^7.0.0",
@@ -17433,7 +17726,8 @@
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
"integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/wrap-ansi/node_modules/string-width": {
"version": "7.2.0",
@@ -17441,6 +17735,7 @@
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"emoji-regex": "^10.3.0",
"get-east-asian-width": "^1.0.0",
@@ -17459,6 +17754,7 @@
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ansi-regex": "^6.2.2"
},
@@ -17482,6 +17778,7 @@
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=0.4"
}
@@ -17492,6 +17789,7 @@
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
"dev": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": ">=10"
}
@@ -17509,6 +17807,7 @@
"integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"cliui": "^9.0.1",
"escalade": "^3.1.1",
@@ -17527,6 +17826,7 @@
"integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==",
"dev": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": "^20.19.0 || ^22.12.0 || >=23"
}
@@ -17536,7 +17836,8 @@
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
"integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/yargs/node_modules/string-width": {
"version": "7.2.0",
@@ -17544,6 +17845,7 @@
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"emoji-regex": "^10.3.0",
"get-east-asian-width": "^1.0.0",
@@ -17562,6 +17864,7 @@
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ansi-regex": "^6.2.2"
},
@@ -17591,6 +17894,7 @@
"integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -17604,7 +17908,6 @@
"integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==",
"dev": true,
"license": "MIT",
- "peer": true,
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
diff --git a/package.json b/package.json
index 4dfa98a..25d741c 100644
--- a/package.json
+++ b/package.json
@@ -12,14 +12,18 @@
"build": "npm run build --workspaces --if-present",
"dev": "npm run dev --workspaces --if-present",
"release": "cd packages/aziface && npm run build && npx semantic-release",
- "clean": "npm run clean --workspaces --if-present"
+ "clean": "npm run clean --workspaces --if-present",
+ "next:dev": "npm run dev -w nextapp",
+ "next:build": "npm run build -w nextapp",
+ "vite:dev": "npm run dev -w viteapp",
+ "vite:build": "npm run build -w viteapp"
},
"repository": {
"type": "git",
"url": "git+https://github.com/azifydev/aziface-web.git"
},
"keywords": [],
- "author": "Azify (https://github.com/azifydev)",
+ "author": "Azify (https://github.com/azifydev)",
"license": "MIT",
"type": "commonjs",
"bugs": {
diff --git a/packages/aziface/README.md b/packages/aziface/README.md
index 2c669c2..5f8ecd9 100644
--- a/packages/aziface/README.md
+++ b/packages/aziface/README.md
@@ -1,10 +1,13 @@
# @azify/aziface-web 🖥️
-Web SDK adapter.
+Web SDK adapter for React.
## Summary
- [Installation](#installation)
+- [Setup](#setup)
+ - [Next.js](#nextjs)
+ - [Vite](#vite)
- [Usage](#usage)
- [API](#api)
- [`initialize`](#initialize)
@@ -23,6 +26,7 @@ Web SDK adapter.
- [`resetTheme`](#resettheme)
- [`setLocale`](#setlocale)
- [`Properties`](#properties-3)
+- [Styles](#styles)
- [Types](#types)
- [`Initialize`](#initialize-1)
- [`InitializeParams`](#initializeparams)
@@ -34,6 +38,7 @@ Web SDK adapter.
- [`DisposeCallback`](#disposecallback)
- [`SessionCode`](#sessioncode)
- [`Style`](#style)
+ - [`CancelLocation`](#cancellocation)
- [`Locale`](#locale)
- [Classes](#classes)
- [`SessionError`](#sessionerror)
@@ -41,25 +46,67 @@ Web SDK adapter.
-## Adding the SDK assets to your project
+## Installation
+
+Add the SDK to your project:
+
+```bash
+npm i @azify/aziface-web
+```
+
+
+
+## Setup
+
+Add the configuration below according to the environment you are using:
-1. Go to your project’s `public` directory and copy the `core` folder from the SDK package example into it. This folder includes all the essential assets required for the SDK to function correctly, such as images and other resources.
+### Next.js
-2. Include the following script in your layout page when using a Next.js app, or in the main entry point of your application if you are using a different framework:
+In your `app/page.tsx`, add the following script:
```tsx
-
-//Others:
+'use client';
+
+import Script from 'next/script';
+// ...
+
+export default function Page() {
+ // ...
+
+ return (
+ <>
+
+
+ {/* ... */}
+ >
+ );
+}
```
-## Installation
+Your Next.js environment is now configured!
-Add the SDK to your project:
+### Vite
-```bash
-npm i @azify/aziface-web
+In your `index.html`, add the following script:
+
+```html
+
+
+
+
+
+
+
+
+
+
```
+Your Vite environment is now configured!
+
## Usage
@@ -74,12 +121,14 @@ import {
liveness,
photoMatch,
photoScan,
+ setLocale,
withTheme,
+ SessionError,
type Initialize,
- type InitializeCallback,
type InitializeHeaders,
type InitializeParams,
} from '@azify/aziface-web';
+import '@azify/aziface-web/dist/aziface.css';
export function MyPage() {
// ...
@@ -97,18 +146,20 @@ export function MyPage() {
'x-only-raw-analysis': '1',
};
- initialize({ params, headers }, (initialized) => {
+ initialize({ params, headers }, initialized => {
const error = initialized.error;
setIsInitialized(initialized.isSuccess);
if (error) {
console.error(`${error.cause} - (${error.code})`);
+ } else {
+ setLocale('en');
}
});
};
const onDispose = (): void => {
- dispose((disposed) => {
+ dispose(disposed => {
setIsInitialized(!disposed);
if (!disposed) {
@@ -117,23 +168,23 @@ export function MyPage() {
});
};
- const onFaceScan = (type: string): void => {
+ const onFaceScan = async (type: string): Promise => {
try {
switch (type) {
case 'enroll':
- enroll();
+ await enroll();
break;
case 'authenticate':
- authenticate();
+ await authenticate();
break;
case 'liveness':
- liveness();
+ await liveness();
break;
case 'photoMatch':
- photoMatch();
+ await photoMatch();
break;
case 'photoScan':
- photoScan();
+ await photoScan();
break;
default:
console.error(`Invalid face scan type: ${type}`);
@@ -215,26 +266,26 @@ export function MyPage() {
## API
-| Methods | Return type |
-| -------------- | ----------- |
-| `initialize` | `void` |
-| `dispose` | `void` |
-| `enroll` | `void` |
-| `authenticate` | `void` |
-| `liveness` | `void` |
-| `photoScan` | `void` |
-| `photoMatch` | `void` |
-| `withTheme` | `void` |
-| `resetTheme` | `void` |
-| `setLocale` | `void` |
+| Methods | Return type |
+| -------------- | ------------------ |
+| `initialize` | `void` |
+| `dispose` | `void` |
+| `enroll` | `Promise` |
+| `authenticate` | `Promise` |
+| `liveness` | `Promise` |
+| `photoScan` | `Promise` |
+| `photoMatch` | `Promise` |
+| `withTheme` | `void` |
+| `resetTheme` | `void` |
+| `setLocale` | `void` |
### `initialize`
-The `initialize` of the Aziface SDK is the process of configuring and preparing the SDK for use before any face capture, liveness, authentication, or identity verification sessions can begin.
+The `initialize` method configures and prepares the Aziface SDK before any face capture, liveness, authentication, or identity verification session can begin.
During initialization, the application provides the SDK with the required configuration data, such as the device key identifier, base URL, and `x-token-bearer`. The SDK validates these parameters, performs internal setup, and prepares the necessary resources for secure camera access, biometric processing, and user interface rendering.
-A successful initialization confirms that the SDK is correctly licensed, properly configured for the target environment, and ready to start user sessions. If initialization fails due to invalid keys, network issues, or unsupported device conditions, the SDK returns boolean information (true or false) so the application can handle the failure gracefully and prevent session startup.
+A successful initialization confirms that the SDK is correctly licensed, properly configured for the target environment, and ready to start user sessions. If initialization fails due to invalid keys, network issues, or unsupported device conditions, the SDK returns an `InitializeResponse` object with `isSuccess` and error details so the application can handle the failure gracefully and prevent session startup.
Initialization is a mandatory step and must be completed once during the application lifecycle (or as required by the platform) before invoking any Aziface SDK workflows.
@@ -251,7 +302,7 @@ initialize(
'x-only-raw-analysis': '1',
},
},
- (initialized) => {
+ initialized => {
const error = initialized.error;
if (error) {
@@ -281,9 +332,9 @@ Dispose is typically used when the application is terminating, when the SDK will
If dispose is performed while a session is still in progress, the SDK may return an error or forcefully terminate the session, depending on the platform implementation.
```ts
-dispose((disposed) => {
+dispose(disposed => {
if (disposed) {
- console.log('SDK disposed with successful!!!');
+ console.log('SDK disposed successfully!');
} else {
console.error('Failed to dispose SDK.');
}
@@ -306,7 +357,7 @@ The result of a successful enrollment is a trusted biometric template associated
### `authenticate`
-The authentication method in the Aziface SDK is used to verify a user’s identity by comparing a newly captured face scan against a previously enrolled biometric template. This process confirms that the person attempting to access the system is the same individual who completed the enrollment.
+The `authenticate` method verifies a user's identity by comparing a newly captured face scan against a previously enrolled biometric template. This process confirms that the person attempting to access the system is the same individual who completed enrollment.
During authentication, the SDK performs an active liveness check while guiding the user through simple on-screen instructions. A fresh face scan is captured, encrypted, and securely transmitted to the backend, where it is matched against the stored enrollment data.
@@ -338,14 +389,14 @@ A successful document-only verification is suitable for lower-risk scenarios or
### `withTheme`
-This method customize your SDK theme during session. The Aziface SDK must be successfully initialized **before calling** this API.
+This method customizes your SDK theme during a session. The Aziface SDK must be successfully initialized **before calling** this API.
```ts
initialize(
{
// ...
},
- (initialized) => {
+ initialized => {
const error = initialized.error;
if (error && !initialized.isSuccess) {
@@ -369,7 +420,7 @@ initialize(
The `brandingImage` and `cancelImage` properties represents your branding and icon of the button cancel. Default are [Azify](https://azify.com/) images, and `.png` format. If the image is not found, it will not be displayed during the session.
-You must go to your project's `public/core/images` directory. Inside the `public/core/images` folder, you must put your images.
+Go to your project's `public/core/images` directory and add your custom images there.
##### Example
@@ -380,7 +431,7 @@ initialize(
{
// ...
},
- (initialized) => {
+ initialized => {
if (initialized.error && !initialized.isSuccess) {
// ...
} else {
@@ -393,9 +444,11 @@ initialize(
);
```
+**Note**: Images via HTTPS link **aren't** supported by SDK.
+
### `resetTheme`
-The `resetTheme` is a fallback method to return default theme.
+The `resetTheme` method restores the default theme.
### `setLocale`
@@ -412,11 +465,11 @@ initialize(
{
// ...
},
- (initialized) => {
+ initialized => {
if (initialized.error && !initialized.isSuccess) {
// ...
} else {
- setLocale('pt-br');
+ setLocale('pt-BR');
}
},
);
@@ -430,6 +483,28 @@ initialize(
+## Styles
+
+Aziface Web recommends importing our predefined styles for the best user experience.
+
+Simply import them onto the screen where you are using Aziface methods.
+
+```tsx
+// ...
+import {
+ authenticate,
+ dispose,
+ enroll,
+ initialize,
+ liveness,
+ photoMatch,
+ photoScan,
+} from '@azify/aziface-web';
+import '@azify/aziface-web/dist/aziface.css'; // <-- Add this import
+```
+
+
+
## Types
### `Initialize`
@@ -443,7 +518,7 @@ The `Initialize` object is required to initialize the SDK.
#### `InitializeParams`
-It initializes, and it starts SDK.
+It contains the parameters used to initialize and start the SDK.
| Property | Type | Required |
| --------------------- | --------- | -------- |
@@ -455,14 +530,14 @@ It initializes, and it starts SDK.
It establishes communication between the SDK and the external service.
-| Property | Type | Required |
-| ---------------- | -------- | -------- |
-| `x-token-bearer` | `string` | ✅ |
-| `[key: string]` | `string` | ❌ |
+| Property | Type | Required |
+| ---------------- | ----------------------------- | -------- |
+| `x-token-bearer` | `string` | ✅ |
+| `[key: string]` | `string \| null \| undefined` | ❌ |
### `InitializeCallback`
-Get initialization response using the `InitializeCallback`.
+Use `InitializeCallback` to receive the initialization response.
| Callback | Type | Required |
| ------------- | ------------------------------------------- | -------- |
@@ -507,19 +582,19 @@ The session code is a type identifier of the session when a method fails or it h
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- |
| `SessionCompleted` | The Session was completed. | `0` |
| `RequestAborted` | When session has catastrophic error and the application could not be validated. | `1` |
-| `UserCancelledFaceScan` | The user cancelled before performing enough scans to cucceed. | `2` |
+| `UserCancelledFaceScan` | The user cancelled before performing enough scans to succeed. | `2` |
| `UserCancelledIDScan` | The user cancelled before completing all of the steps in the ID Scan Process. | `3` |
| `LockedOut` | The session was cancelled because the user was in a locked out state. | `4` |
| `CameraError` | The session was cancelled because Aziface SDK was unable to start the camera on this device, or an unexpected error occurred with the camera during runtime. | `5` |
| `CameraPermissionsDenied` | The session was cancelled because camera permissions were not enabled. | `6` |
| `UnknownInternalError` | An unknown and unexpected error occurred. | `7` |
-| `IFrameNotAllowedWithoutPermission` | The session was cancelled, the Aziface SDK was opened in an Iframe without permission. | `8` |
+| `IFrameNotAllowedWithoutPermission` | The session was cancelled because the Aziface SDK was opened in an iframe without permission. | `8` |
| `NotInitialized` | This error code indicates that the Aziface SDK has not been initialized. | `9` |
| `NoUserEnrolled` | No user enrolled. Please enroll a user before attempting to authenticate. | `10` |
### `DisposeCallback`
-Get dispose response using the `DisposeCallback`.
+Use `DisposeCallback` to receive the dispose response.
| Callback | Type | Required |
| ---------- | --------- | -------- |
@@ -529,21 +604,33 @@ Get dispose response using the `DisposeCallback`.
Customize your Aziface SDK using `Style` object.
-| Property | Type | Required | Default |
-| ------------------------------- | -------- | -------- | ----------- |
-| `backgroundColor` | `string` | ❌ | `#FFFFFF` |
-| `frameColor` | `string` | ❌ | `#FFFFFF` |
-| `borderColor` | `string` | ❌ | `#026FF4` |
-| `ovalColor` | `string` | ❌ | `#026FF4` |
-| `dualSpinnerColor` | `string` | ❌ | `#026FF4` |
-| `textColor` | `string` | ❌ | `#026FF4` |
-| `buttonAndFeedbackBarColor` | `string` | ❌ | `#026FF4` |
-| `buttonAndFeedbackBarTextColor` | `string` | ❌ | `#FFFFFF` |
-| `buttonColorHighlight` | `string` | ❌ | `#0264DC` |
-| `buttonColorDisabled` | `string` | ❌ | `#B3D4FC` |
-| `frameCornerRadius` | `string` | ❌ | `20px` |
-| `cancelImage` | `string` | ❌ | `undefined` |
-| `brandingImage` | `string` | ❌ | `undefined` |
+| Property | Type | Required | Default |
+| ------------------------------- | ----------------------------------- | -------- | ----------- |
+| `backgroundColor` | `string` | ❌ | `#FFFFFF` |
+| `frameColor` | `string` | ❌ | `#FFFFFF` |
+| `borderColor` | `string` | ❌ | `#026FF4` |
+| `ovalColor` | `string` | ❌ | `#026FF4` |
+| `dualSpinnerColor` | `string` | ❌ | `#026FF4` |
+| `textColor` | `string` | ❌ | `#026FF4` |
+| `buttonAndFeedbackBarColor` | `string` | ❌ | `#026FF4` |
+| `buttonAndFeedbackBarTextColor` | `string` | ❌ | `#FFFFFF` |
+| `buttonColorHighlight` | `string` | ❌ | `#0264DC` |
+| `buttonColorDisabled` | `string` | ❌ | `#B3D4FC` |
+| `frameCornerRadius` | `string` | ❌ | `20px` |
+| `cancelImage` | `string` | ❌ | `undefined` |
+| `cancelLocation` | [`CancelLocation`](#cancellocation) | ❌ | `top-left` |
+| `brandingImage` | `string` | ❌ | `undefined` |
+| `showBranding` | `boolean` | ❌ | `true` |
+
+#### `CancelLocation`
+
+The `CancelLocation` type defines where the cancel button will be shown.
+
+| type | Description |
+| ----------- | ------------------------------------ |
+| `top-left` | Displays cancel button in top-left. |
+| `top-right` | Displays cancel button in top-right. |
+| `none` | Hides the cancel button. |
### Locale
@@ -572,14 +659,14 @@ The `Locale` type uses the [ISO 639](https://en.wikipedia.org/wiki/List_of_ISO_6
### `SessionError`
-A `SessionError` class is returned when an error is thrown by the Aziface SDK.
+A `SessionError` is thrown when an error occurs in the Aziface SDK.
| Property | Type | Required |
| --------- | ----------------------------- | -------- |
| `code` | [`SessionCode`](#sessioncode) | ✅ |
| `name` | `string` | ✅ |
| `message` | `string` | ✅ |
-| `cause` | `string` | ✅ |
+| `cause` | `string` | ❌ |
| `stack` | `string` | ❌ |
#### `constructor`
diff --git a/packages/aziface/src/errors/errors.ts b/packages/aziface/src/errors/errors.ts
index 939d705..3f03c2e 100644
--- a/packages/aziface/src/errors/errors.ts
+++ b/packages/aziface/src/errors/errors.ts
@@ -1,5 +1,5 @@
import { SessionCode } from '../types/aziface';
-import { getSessionStatusCauseByCode } from '../utils/utils';
+import { getSessionStatusCauseByCode } from '../utils';
export class SessionError extends Error {
constructor(public code: SessionCode) {
diff --git a/packages/aziface/src/index.ts b/packages/aziface/src/index.ts
index 92cd80b..00bc12f 100644
--- a/packages/aziface/src/index.ts
+++ b/packages/aziface/src/index.ts
@@ -12,6 +12,7 @@ export {
} from './module/aziface';
export type {
+ CancelLocation,
DisposeCallback,
Initialize,
InitializeCallback,
diff --git a/packages/aziface/src/module/aziface.ts b/packages/aziface/src/module/aziface.ts
index c18726d..f55f021 100644
--- a/packages/aziface/src/module/aziface.ts
+++ b/packages/aziface/src/module/aziface.ts
@@ -1,9 +1,13 @@
-import { FaceTecInitializationError, FaceTecSDKInstance, FaceTecSessionStatus } from '../types/FaceTecPublicApi';
+import {
+ FaceTecInitializationError,
+ FaceTecSDKInstance,
+ FaceTecSessionStatus,
+} from '../types/FaceTecPublicApi';
import { FaceTecSDK as FaceTecSDKType } from '../types/FaceTecSDK';
import { SessionError } from '../errors/errors';
import { SessionRequestProcessor } from '../services/request-processor';
import { applyTheme, getBackgroundColor } from '../styles/theme';
-import { getInitializationErrorCauseByCode } from '../utils/utils';
+import { getInitializationErrorCauseByCode } from '../utils';
import {
Controller,
DisposeCallback,
@@ -26,7 +30,10 @@ export class AzifaceController implements Controller {
public static baseUrl: string = '';
public static headers: InitializeHeaders = {} as InitializeHeaders;
private faceTecSDKInstance: FaceTecSDKInstance | null = null;
- public initialize = (init: Initialize, callback: InitializeCallback): void => {
+ public initialize = (
+ init: Initialize,
+ callback: InitializeCallback,
+ ): void => {
this.setupController(init);
FaceTecSDK.setImagesDirectory(`/core/images`);
@@ -42,30 +49,35 @@ export class AzifaceController implements Controller {
return;
}
- const sessionRequestProcessor: SessionRequestProcessor = new SessionRequestProcessor(
- this.generateExternalDatabaseRefID(),
- this.onComplete,
- );
-
- FaceTecSDK.initializeWithSessionRequest(AzifaceController.deviceKeyIdentifier, sessionRequestProcessor, {
- onSuccess: (newFaceTecSdkInstance: FaceTecSDKInstance) => {
- this.onInitializationSuccess(newFaceTecSdkInstance);
- callback({
- isSuccess: true,
- error: undefined,
- });
- },
- onError: (initializationError: FaceTecInitializationError) => {
- this.onInitializationError();
- callback({
- isSuccess: false,
- error: {
- code: initializationError,
- cause: getInitializationErrorCauseByCode(initializationError),
- },
- });
+ const sessionRequestProcessor: SessionRequestProcessor =
+ new SessionRequestProcessor(
+ this.generateExternalDatabaseRefID(),
+ this.onComplete,
+ );
+
+ FaceTecSDK.initializeWithSessionRequest(
+ AzifaceController.deviceKeyIdentifier,
+ sessionRequestProcessor,
+ {
+ onSuccess: (newFaceTecSdkInstance: FaceTecSDKInstance) => {
+ this.onInitializationSuccess(newFaceTecSdkInstance);
+ callback({
+ isSuccess: true,
+ error: undefined,
+ });
+ },
+ onError: (initializationError: FaceTecInitializationError) => {
+ this.onInitializationError();
+ callback({
+ isSuccess: false,
+ error: {
+ code: initializationError,
+ cause: getInitializationErrorCauseByCode(initializationError),
+ },
+ });
+ },
},
- });
+ );
};
public dispose = (callback: DisposeCallback): void => {
@@ -83,8 +95,8 @@ export class AzifaceController implements Controller {
}
};
- public authenticate = (): void =>
- this.decorator((instance) => {
+ public authenticate = async (): Promise => {
+ return await this.decoratorAsync(instance => {
if (AzifaceController.latestExternalDatabaseRefID.length === 0) {
throw new SessionError(MethodError.NoUserEnrolled);
} else {
@@ -93,48 +105,59 @@ export class AzifaceController implements Controller {
this.onAttach();
}
});
+ };
- public enroll = (): void =>
- this.decorator((instance) => {
- AzifaceController.latestExternalDatabaseRefID = this.generateExternalDatabaseRefID();
+ public enroll = async (): Promise => {
+ return await this.decoratorAsync(instance => {
+ AzifaceController.latestExternalDatabaseRefID =
+ this.generateExternalDatabaseRefID();
const processor = this.makeSessionRequestProcessor();
instance.start3DLiveness(processor);
this.onAttach();
});
+ };
- public liveness = (): void =>
- this.decorator((instance) => {
+ public liveness = async (): Promise => {
+ return await this.decoratorAsync(instance => {
AzifaceController.latestExternalDatabaseRefID = '';
const processor = this.makeSessionRequestProcessor();
instance.start3DLiveness(processor);
this.onAttach();
});
+ };
- public photoMatch = (): void =>
- this.decorator((instance) => {
- AzifaceController.latestExternalDatabaseRefID = this.generateExternalDatabaseRefID();
+ public photoMatch = async (): Promise => {
+ return await this.decoratorAsync(instance => {
+ AzifaceController.latestExternalDatabaseRefID =
+ this.generateExternalDatabaseRefID();
const processor = this.makeSessionRequestProcessor();
instance.start3DLivenessThen3D2DPhotoIDMatch(processor);
this.onAttach();
});
+ };
- public photoScan = (): void =>
- this.decorator((instance) => {
- AzifaceController.latestExternalDatabaseRefID = this.generateExternalDatabaseRefID();
+ public photoScan = async (): Promise => {
+ return await this.decoratorAsync(instance => {
+ AzifaceController.latestExternalDatabaseRefID =
+ this.generateExternalDatabaseRefID();
const processor = this.makeSessionRequestProcessor();
instance.startIDScanOnly(processor);
this.onAttach();
});
+ };
public withTheme = (overrides?: Style): void => applyTheme(overrides);
- public setLocale = (locale: Locale): void => this.decorator(() => FaceTecSDK.configureLocalization(i18n[locale]));
+ public setLocale = (locale: Locale): void =>
+ this.decoratorSync(() => FaceTecSDK.configureLocalization(i18n[locale]));
- private decorator = (callback: (instance: FaceTecSDKInstance) => void): void => {
+ private decoratorSync = (
+ callback: (instance: FaceTecSDKInstance) => void,
+ ): void => {
if (!AzifaceController.isInitialized || !this.faceTecSDKInstance) {
throw new SessionError(MethodError.NotInitialized);
} else {
@@ -142,11 +165,28 @@ export class AzifaceController implements Controller {
}
};
+ private decoratorAsync = (
+ callback: (instance: FaceTecSDKInstance) => void,
+ ): Promise => {
+ return new Promise((resolve, reject) => {
+ try {
+ this.decoratorSync(callback);
+ resolve(true);
+ } catch (error) {
+ reject(error);
+ }
+ });
+ };
+
private makeSessionRequestProcessor = (): SessionRequestProcessor =>
- new SessionRequestProcessor(AzifaceController.latestExternalDatabaseRefID, this.onComplete);
+ new SessionRequestProcessor(
+ AzifaceController.latestExternalDatabaseRefID,
+ this.onComplete,
+ );
private setupController = (init: Initialize): void => {
- AzifaceController.deviceKeyIdentifier = init?.params?.deviceKeyIdentifier || '';
+ AzifaceController.deviceKeyIdentifier =
+ init?.params?.deviceKeyIdentifier || '';
AzifaceController.baseUrl = init?.params?.baseUrl || '';
AzifaceController.isDevelopment = init?.params?.isDevelopment || false;
AzifaceController.headers = init?.headers;
@@ -163,9 +203,12 @@ export class AzifaceController implements Controller {
this.withTheme();
};
- private generateExternalDatabaseRefID = (): string => `aziface_web_${crypto.randomUUID()}`;
+ private generateExternalDatabaseRefID = (): string =>
+ `aziface_web_${crypto.randomUUID()}`;
- private onInitializationSuccess = (newFaceTecSdkInstance: FaceTecSDKInstance): void => {
+ private onInitializationSuccess = (
+ newFaceTecSdkInstance: FaceTecSDKInstance,
+ ): void => {
this.faceTecSDKInstance = newFaceTecSdkInstance;
AzifaceController.isInitialized = true;
};
@@ -173,14 +216,17 @@ export class AzifaceController implements Controller {
private onInitializationError = (): void => this.cleanup();
private onComplete = (faceTecSessionStatus: FaceTecSessionStatus): void => {
- const isError = faceTecSessionStatus !== FaceTecSDK.FaceTecSessionStatus.SessionCompleted;
+ const isError =
+ faceTecSessionStatus !== FaceTecSDK.FaceTecSessionStatus.SessionCompleted;
if (isError) {
throw new SessionError(faceTecSessionStatus);
}
};
private onAttach = () => {
- const container = document.getElementById('DOM_FT_PRIMARY_TOPLEVEL_mainContainer');
+ const container = document.getElementById(
+ 'DOM_FT_PRIMARY_TOPLEVEL_mainContainer',
+ );
if (container) {
container.style.backgroundColor = getBackgroundColor();
@@ -192,7 +238,10 @@ export class AzifaceController implements Controller {
const controller = new AzifaceController();
-export function initialize(init: Initialize, callback: InitializeCallback): void {
+export function initialize(
+ init: Initialize,
+ callback: InitializeCallback,
+): void {
controller.initialize(init, callback);
}
@@ -200,24 +249,24 @@ export function dispose(callback: DisposeCallback): void {
controller.dispose(callback);
}
-export function enroll(): void {
- controller.enroll();
+export async function enroll(): Promise {
+ return await controller.enroll();
}
-export function authenticate(): void {
- controller.authenticate();
+export async function authenticate(): Promise {
+ return await controller.authenticate();
}
-export function liveness(): void {
- controller.liveness();
+export async function liveness(): Promise {
+ return await controller.liveness();
}
-export function photoMatch(): void {
- controller.photoMatch();
+export async function photoMatch(): Promise {
+ return await controller.photoMatch();
}
-export function photoScan(): void {
- controller.photoScan();
+export async function photoScan(): Promise {
+ return await controller.photoScan();
}
export function withTheme(overrides?: Style): void {
diff --git a/packages/aziface/src/services/networking-request.ts b/packages/aziface/src/services/networking-request.ts
index 5df680b..a5d94cd 100644
--- a/packages/aziface/src/services/networking-request.ts
+++ b/packages/aziface/src/services/networking-request.ts
@@ -47,11 +47,17 @@ export class FaceTecTestingAPINetworkingRequest {
// Developer Note: This is ONLY needed for calls to the FaceTec Testing API.
// You should remove this when using Your App connected to Your Webservice + FaceTec Server
- this.request.setRequestHeader('X-Device-Key', AzifaceController.deviceKeyIdentifier);
+ this.request.setRequestHeader(
+ 'X-Device-Key',
+ AzifaceController.deviceKeyIdentifier,
+ );
// Developer Note: This is ONLY needed for calls to the FaceTec Testing API.
// You should remove this when using Your App connected to Your Webservice + FaceTec Server
if (AzifaceController.isDevelopment) {
- this.request.setRequestHeader('X-Testing-API-Header', FaceTecSDK.getTestingAPIHeader());
+ this.request.setRequestHeader(
+ 'X-Testing-API-Header',
+ FaceTecSDK.getTestingAPIHeader(),
+ );
}
Object.entries(AzifaceController.headers).forEach(([key, value]) => {
@@ -111,8 +117,13 @@ export class FaceTecTestingAPINetworkingRequest {
};
// Send the payload
- if (typeof faceTecTestingAPIPayload === 'object' && Object.keys(faceTecTestingAPIPayload).length > 0) {
- const faceTecTestingAPIPayloadJSON = JSON.parse(JSON.stringify(faceTecTestingAPIPayload));
+ if (
+ typeof faceTecTestingAPIPayload === 'object' &&
+ Object.keys(faceTecTestingAPIPayload).length > 0
+ ) {
+ const faceTecTestingAPIPayloadJSON = JSON.parse(
+ JSON.stringify(faceTecTestingAPIPayload),
+ );
if (faceTecTestingAPIPayload.externalDatabaseRefID.length === 0) {
delete faceTecTestingAPIPayloadJSON.externalDatabaseRefID;
@@ -124,7 +135,9 @@ export class FaceTecTestingAPINetworkingRequest {
}
};
- public processResponse = (onResponseBlobReceived: (responseBlob: string) => void): void => {
+ public processResponse = (
+ onResponseBlobReceived: (responseBlob: string) => void,
+ ): void => {
const parsedResponse: {
responseBlob: string;
result?: { [key: string]: string | undefined };
diff --git a/packages/aziface/src/services/request-processor.ts b/packages/aziface/src/services/request-processor.ts
index f74b428..76484c7 100644
--- a/packages/aziface/src/services/request-processor.ts
+++ b/packages/aziface/src/services/request-processor.ts
@@ -8,7 +8,9 @@ import { FaceTecTestingAPINetworkingRequest } from './networking-request';
export class SessionRequestProcessor {
public requestCallback!: FaceTecSessionRequestProcessorCallback;
// Save the onCompleteCallback
- public onCompleteCallback: (faceTecSessionStatus: FaceTecSessionStatus) => void;
+ public onCompleteCallback: (
+ faceTecSessionStatus: FaceTecSessionStatus,
+ ) => void;
public onOfficialIDPhotoCallback?: (image: string) => void;
// ** Important Note: **
// The API parameter demonstrationExternalDatabaseRefID is developer-defined and created and set by you using your own business logic.
@@ -26,13 +28,17 @@ export class SessionRequestProcessor {
onCompleteCallback: (faceTecSessionStatus: FaceTecSessionStatus) => void,
onOfficialIDPhotoCallback?: (image: string) => void,
) {
- this.demonstrationExternalDatabaseRefID = demonstrationExternalDatabaseRefID;
+ this.demonstrationExternalDatabaseRefID =
+ demonstrationExternalDatabaseRefID;
this.onCompleteCallback = onCompleteCallback;
this.onOfficialIDPhotoCallback = onOfficialIDPhotoCallback;
}
// This method gets called from inside the FaceTecSDK when some server side process is needed to continue processing
- public onSessionRequest = (requestBlob: string, requestCallback: FaceTecSessionRequestProcessorCallback): void => {
+ public onSessionRequest = (
+ requestBlob: string,
+ requestCallback: FaceTecSessionRequestProcessorCallback,
+ ): void => {
// Create the simple payload to send to the networking class
const sessionRequestProcessorPayload: {
requestBlob: string;
@@ -44,7 +50,10 @@ export class SessionRequestProcessor {
// Here you will call your implementation of networking that communicates through your middleware that contacts your server code
// Send the payload to the FaceTecTestingAPI for processing
- new FaceTecTestingAPINetworkingRequest().send(sessionRequestProcessorPayload, requestCallback);
+ new FaceTecTestingAPINetworkingRequest().send(
+ sessionRequestProcessorPayload,
+ requestCallback,
+ );
};
// Session is completely done
diff --git a/packages/aziface/src/styles/theme.ts b/packages/aziface/src/styles/theme.ts
index e1b2a65..3c6fe5f 100644
--- a/packages/aziface/src/styles/theme.ts
+++ b/packages/aziface/src/styles/theme.ts
@@ -1,10 +1,10 @@
import { FaceTecSDK as FaceTecSDKType } from '../types/FaceTecSDK';
import { Style } from '../types/aziface';
+import { resolveCancelLocation } from '../utils';
declare const FaceTecSDK: typeof FaceTecSDKType;
function retrieveConfigurationWizardCustomization(theme?: Style) {
- const sdkImageDirectory = `/core/images/`;
// For Color Customization
const outerBackgroundColor = theme?.backgroundColor || '#FFFFFF';
const frameColor = theme?.frameColor || '#FFFFFF';
@@ -12,45 +12,59 @@ function retrieveConfigurationWizardCustomization(theme?: Style) {
const ovalColor = theme?.ovalColor || '#026FF4';
const dualSpinnerColor = theme?.dualSpinnerColor || '#026FF4';
const textColor = theme?.textColor || '#026FF4';
- const buttonAndFeedbackBarColor = theme?.buttonAndFeedbackBarColor || '#026FF4';
- const buttonAndFeedbackBarTextColor = theme?.buttonAndFeedbackBarTextColor || '#FFFFFF';
+ const buttonAndFeedbackBarColor =
+ theme?.buttonAndFeedbackBarColor || '#026FF4';
+ const buttonAndFeedbackBarTextColor =
+ theme?.buttonAndFeedbackBarTextColor || '#FFFFFF';
const buttonColorHighlight = theme?.buttonColorHighlight || '#0264DC';
const buttonColorDisabled = theme?.buttonColorDisabled || '#B3D4FC';
// For Frame Corner Radius Customization
const frameCornerRadius = theme?.frameCornerRadius || '20px';
+ const commonDirectory = `/core/images/`;
// For Cancel Button Customization
- const cancelButtonImage = sdkImageDirectory + (theme?.cancelImage || 'FaceTec_cancel.png');
- const cancelButtonLocation = FaceTecSDK.FaceTecCancelButtonLocation.TopLeft;
-
+ const cancelButtonImage = `${commonDirectory}${theme?.cancelImage || 'FaceTec_cancel.png'}`;
// For Image Customization
- const yourAppLogoImage = sdkImageDirectory + (theme?.brandingImage || 'FaceTec_your_app_logo.png');
- const securityWatermarkImage = FaceTecSDK.FaceTecSecurityWatermarkImage.FaceTec;
+ const yourAppLogoImage = `${commonDirectory}${theme?.brandingImage || 'FaceTec_your_app_logo.png'}`;
+ const securityWatermarkImage =
+ FaceTecSDK.FaceTecSecurityWatermarkImage.FaceTec;
// Set a Default Customization
const defaultCustomization = new FaceTecSDK.FaceTecCustomization();
// Set Frame Customization
- defaultCustomization.frameCustomization.borderCornerRadius = frameCornerRadius;
+ defaultCustomization.frameCustomization.borderCornerRadius =
+ frameCornerRadius;
defaultCustomization.frameCustomization.backgroundColor = frameColor;
defaultCustomization.frameCustomization.borderColor = borderColor;
// Set Overlay Customization
defaultCustomization.overlayCustomization.brandingImage = yourAppLogoImage;
- defaultCustomization.overlayCustomization.backgroundColor = outerBackgroundColor;
+ defaultCustomization.overlayCustomization.showBrandingImage =
+ typeof theme?.showBranding === 'boolean' ? theme.showBranding : true;
+ defaultCustomization.overlayCustomization.backgroundColor =
+ outerBackgroundColor;
// Set Guidance Customization
defaultCustomization.guidanceCustomization.backgroundColors = frameColor;
defaultCustomization.guidanceCustomization.foregroundColor = textColor;
- defaultCustomization.guidanceCustomization.buttonBackgroundNormalColor = buttonAndFeedbackBarColor;
- defaultCustomization.guidanceCustomization.buttonBackgroundDisabledColor = buttonColorDisabled;
- defaultCustomization.guidanceCustomization.buttonBackgroundHighlightColor = buttonColorHighlight;
- defaultCustomization.guidanceCustomization.buttonTextNormalColor = buttonAndFeedbackBarTextColor;
- defaultCustomization.guidanceCustomization.buttonTextDisabledColor = buttonAndFeedbackBarTextColor;
- defaultCustomization.guidanceCustomization.buttonTextHighlightColor = buttonAndFeedbackBarTextColor;
- defaultCustomization.guidanceCustomization.retryScreenImageBorderColor = borderColor;
- defaultCustomization.guidanceCustomization.retryScreenOvalStrokeColor = borderColor;
+ defaultCustomization.guidanceCustomization.buttonBackgroundNormalColor =
+ buttonAndFeedbackBarColor;
+ defaultCustomization.guidanceCustomization.buttonBackgroundDisabledColor =
+ buttonColorDisabled;
+ defaultCustomization.guidanceCustomization.buttonBackgroundHighlightColor =
+ buttonColorHighlight;
+ defaultCustomization.guidanceCustomization.buttonTextNormalColor =
+ buttonAndFeedbackBarTextColor;
+ defaultCustomization.guidanceCustomization.buttonTextDisabledColor =
+ buttonAndFeedbackBarTextColor;
+ defaultCustomization.guidanceCustomization.buttonTextHighlightColor =
+ buttonAndFeedbackBarTextColor;
+ defaultCustomization.guidanceCustomization.retryScreenImageBorderColor =
+ borderColor;
+ defaultCustomization.guidanceCustomization.retryScreenOvalStrokeColor =
+ borderColor;
// Set Oval Customization
defaultCustomization.ovalCustomization.strokeColor = ovalColor;
@@ -58,44 +72,71 @@ function retrieveConfigurationWizardCustomization(theme?: Style) {
defaultCustomization.ovalCustomization.progressColor2 = dualSpinnerColor;
// Set Feedback Customization
- defaultCustomization.feedbackCustomization.backgroundColor = buttonAndFeedbackBarColor;
- defaultCustomization.feedbackCustomization.textColor = buttonAndFeedbackBarTextColor;
+ defaultCustomization.feedbackCustomization.backgroundColor =
+ buttonAndFeedbackBarColor;
+ defaultCustomization.feedbackCustomization.textColor =
+ buttonAndFeedbackBarTextColor;
// Set Cancel Customization
- defaultCustomization.cancelButtonCustomization.customImage = cancelButtonImage;
- defaultCustomization.cancelButtonCustomization.location = cancelButtonLocation;
+ defaultCustomization.cancelButtonCustomization.customImage =
+ cancelButtonImage;
+ defaultCustomization.cancelButtonCustomization.location =
+ resolveCancelLocation(theme?.cancelLocation);
// Set Security Watermark Customization
- defaultCustomization.securityWatermarkCustomization.setSecurityWatermarkImage(securityWatermarkImage);
+ defaultCustomization.securityWatermarkCustomization.setSecurityWatermarkImage(
+ securityWatermarkImage,
+ );
// Set Result Screen Customization
defaultCustomization.resultScreenCustomization.backgroundColors = frameColor;
defaultCustomization.resultScreenCustomization.foregroundColor = textColor;
- defaultCustomization.resultScreenCustomization.activityIndicatorColor = buttonAndFeedbackBarColor;
- defaultCustomization.resultScreenCustomization.resultAnimationBackgroundColor = buttonAndFeedbackBarColor;
- defaultCustomization.resultScreenCustomization.resultAnimationForegroundColor = buttonAndFeedbackBarTextColor;
- defaultCustomization.resultScreenCustomization.uploadProgressFillColor = buttonAndFeedbackBarColor;
+ defaultCustomization.resultScreenCustomization.activityIndicatorColor =
+ buttonAndFeedbackBarColor;
+ defaultCustomization.resultScreenCustomization.resultAnimationBackgroundColor =
+ buttonAndFeedbackBarColor;
+ defaultCustomization.resultScreenCustomization.resultAnimationForegroundColor =
+ buttonAndFeedbackBarTextColor;
+ defaultCustomization.resultScreenCustomization.uploadProgressFillColor =
+ buttonAndFeedbackBarColor;
// Set ID Scan Customization
- defaultCustomization.idScanCustomization.selectionScreenBackgroundColors = frameColor;
- defaultCustomization.idScanCustomization.selectionScreenForegroundColor = textColor;
- defaultCustomization.idScanCustomization.reviewScreenBackgroundColors = frameColor;
- defaultCustomization.idScanCustomization.reviewScreenForegroundColor = buttonAndFeedbackBarTextColor;
- defaultCustomization.idScanCustomization.reviewScreenTextBackgroundColor = buttonAndFeedbackBarColor;
- defaultCustomization.idScanCustomization.captureScreenForegroundColor = buttonAndFeedbackBarTextColor;
- defaultCustomization.idScanCustomization.captureScreenTextBackgroundColor = buttonAndFeedbackBarColor;
- defaultCustomization.idScanCustomization.buttonBackgroundNormalColor = buttonAndFeedbackBarColor;
- defaultCustomization.idScanCustomization.buttonBackgroundDisabledColor = buttonColorDisabled;
- defaultCustomization.idScanCustomization.buttonBackgroundHighlightColor = buttonColorHighlight;
- defaultCustomization.idScanCustomization.buttonTextNormalColor = buttonAndFeedbackBarTextColor;
- defaultCustomization.idScanCustomization.buttonTextDisabledColor = buttonAndFeedbackBarTextColor;
- defaultCustomization.idScanCustomization.buttonTextHighlightColor = buttonAndFeedbackBarTextColor;
- defaultCustomization.idScanCustomization.captureScreenBackgroundColor = frameColor;
- defaultCustomization.idScanCustomization.captureFrameStrokeColor = borderColor;
+ defaultCustomization.idScanCustomization.selectionScreenBackgroundColors =
+ frameColor;
+ defaultCustomization.idScanCustomization.selectionScreenForegroundColor =
+ textColor;
+ defaultCustomization.idScanCustomization.reviewScreenBackgroundColors =
+ frameColor;
+ defaultCustomization.idScanCustomization.reviewScreenForegroundColor =
+ buttonAndFeedbackBarTextColor;
+ defaultCustomization.idScanCustomization.reviewScreenTextBackgroundColor =
+ buttonAndFeedbackBarColor;
+ defaultCustomization.idScanCustomization.captureScreenForegroundColor =
+ buttonAndFeedbackBarTextColor;
+ defaultCustomization.idScanCustomization.captureScreenTextBackgroundColor =
+ buttonAndFeedbackBarColor;
+ defaultCustomization.idScanCustomization.buttonBackgroundNormalColor =
+ buttonAndFeedbackBarColor;
+ defaultCustomization.idScanCustomization.buttonBackgroundDisabledColor =
+ buttonColorDisabled;
+ defaultCustomization.idScanCustomization.buttonBackgroundHighlightColor =
+ buttonColorHighlight;
+ defaultCustomization.idScanCustomization.buttonTextNormalColor =
+ buttonAndFeedbackBarTextColor;
+ defaultCustomization.idScanCustomization.buttonTextDisabledColor =
+ buttonAndFeedbackBarTextColor;
+ defaultCustomization.idScanCustomization.buttonTextHighlightColor =
+ buttonAndFeedbackBarTextColor;
+ defaultCustomization.idScanCustomization.captureScreenBackgroundColor =
+ frameColor;
+ defaultCustomization.idScanCustomization.captureFrameStrokeColor =
+ borderColor;
// Set Initial Loading Customization
- defaultCustomization.initialLoadingAnimationCustomization.backgroundColor = buttonAndFeedbackBarTextColor;
- defaultCustomization.initialLoadingAnimationCustomization.foregroundColor = buttonAndFeedbackBarColor;
+ defaultCustomization.initialLoadingAnimationCustomization.backgroundColor =
+ buttonAndFeedbackBarTextColor;
+ defaultCustomization.initialLoadingAnimationCustomization.foregroundColor =
+ buttonAndFeedbackBarColor;
return defaultCustomization;
}
diff --git a/packages/aziface/src/types/aziface.ts b/packages/aziface/src/types/aziface.ts
index ebf18b6..51fb9f4 100644
--- a/packages/aziface/src/types/aziface.ts
+++ b/packages/aziface/src/types/aziface.ts
@@ -1,4 +1,7 @@
-import { FaceTecInitializationError, FaceTecSessionStatus } from '../types/FaceTecPublicApi';
+import {
+ FaceTecInitializationError,
+ FaceTecSessionStatus,
+} from '../types/FaceTecPublicApi';
/**
* @enum MethodError
@@ -38,6 +41,16 @@ export type SessionCode = FaceTecSessionStatus | MethodError;
*/
export type InitializeCodeError = FaceTecInitializationError;
+/**
+ * @type CancelLocation
+ *
+ * @description A type that represents the possible locations for the cancel button
+ * in the Aziface UI. This type includes options for the `top-left` and `top-right`
+ * corners of the UI, as well as an option to not display the cancel button at
+ * all.
+ */
+export type CancelLocation = 'top-left' | 'top-right' | 'none';
+
/**
* @interface InitializeParams
*
@@ -255,6 +268,14 @@ export interface Style {
*/
cancelImage?: string;
+ /**
+ * @description The location of the cancel button in the Aziface UI. Uses the
+ * default location provided by the SDK if not specified.
+ *
+ * @default 'top-left'
+ */
+ cancelLocation?: CancelLocation;
+
/**
* @description The location of the cancel button in the Aziface UI. Uses the
* default branding image provided by the SDK if not specified.
@@ -262,6 +283,15 @@ export interface Style {
* @default undefined
*/
brandingImage?: string;
+
+ /**
+ * @description A boolean value indicating whether to show the branding image in
+ * the Aziface UI. Uses the default branding image provided by the SDK if not
+ * specified.
+ *
+ * @default true
+ */
+ showBranding?: boolean;
}
/**
@@ -299,16 +329,30 @@ export interface DisposeCallback {
* Aziface SDK. This type includes a list of language codes that can be used to
* set the locale of the SDK.
*/
-export type Locale = 'af' | 'ar' | 'de' | 'el' | 'en' | 'es' | 'fr' | 'ja' | 'kk' | 'no' | 'pt-BR' | 'ru' | 'vi' | 'zh';
+export type Locale =
+ | 'af'
+ | 'ar'
+ | 'de'
+ | 'el'
+ | 'en'
+ | 'es'
+ | 'fr'
+ | 'ja'
+ | 'kk'
+ | 'no'
+ | 'pt-BR'
+ | 'ru'
+ | 'vi'
+ | 'zh';
export interface Controller {
initialize: (init: Initialize, callback: InitializeCallback) => void;
dispose: (callback: DisposeCallback) => void;
- enroll: () => void;
- authenticate: () => void;
- liveness: () => void;
- photoScan: () => void;
- photoMatch: () => void;
+ enroll: () => Promise;
+ authenticate: () => Promise;
+ liveness: () => Promise;
+ photoScan: () => Promise;
+ photoMatch: () => Promise;
withTheme: (overrides?: Style) => void;
setLocale: (locale: Locale) => void;
}
diff --git a/packages/aziface/src/utils/index.ts b/packages/aziface/src/utils/index.ts
new file mode 100644
index 0000000..471dca8
--- /dev/null
+++ b/packages/aziface/src/utils/index.ts
@@ -0,0 +1,2 @@
+export * from './sessions';
+export * from './styles';
diff --git a/packages/aziface/src/utils/utils.ts b/packages/aziface/src/utils/sessions.ts
similarity index 91%
rename from packages/aziface/src/utils/utils.ts
rename to packages/aziface/src/utils/sessions.ts
index 670855a..c37828e 100644
--- a/packages/aziface/src/utils/utils.ts
+++ b/packages/aziface/src/utils/sessions.ts
@@ -4,7 +4,9 @@ import { MethodError, SessionCode } from '../types/aziface';
declare const FaceTecSDK: typeof FaceTecSDKType;
-export function getInitializationErrorCauseByCode(value: FaceTecInitializationError): string {
+export function getInitializationErrorCauseByCode(
+ value: FaceTecInitializationError,
+): string {
switch (value) {
case FaceTecSDK.FaceTecInitializationError.RejectedByServer:
return 'The Aziface SDK Server could not validate this application.';
@@ -12,9 +14,11 @@ export function getInitializationErrorCauseByCode(value: FaceTecInitializationEr
return 'The provided FaceTecSessionRequestProcessor called abortOnCatastrophicError() and the application could not be validated.';
case FaceTecSDK.FaceTecInitializationError.DeviceNotSupported:
return 'This device/platform/browser/version combination is not supported by the Aziface Browser SDK.';
- case FaceTecSDK.FaceTecInitializationError.ResourcesCouldNotBeLoadedOnLastInit:
+ case FaceTecSDK.FaceTecInitializationError
+ .ResourcesCouldNotBeLoadedOnLastInit:
return 'Aziface SDK could not load resources.';
- case FaceTecSDK.FaceTecInitializationError.GetUserMediaRemoteHTTPNotSupported:
+ case FaceTecSDK.FaceTecInitializationError
+ .GetUserMediaRemoteHTTPNotSupported:
return 'Browser Camera APIs are only supported on localhost or https.';
case FaceTecSDK.FaceTecInitializationError.UnknownInternalError:
return 'An unknown and unexpected error occurred.';
diff --git a/packages/aziface/src/utils/styles.ts b/packages/aziface/src/utils/styles.ts
new file mode 100644
index 0000000..e923e4a
--- /dev/null
+++ b/packages/aziface/src/utils/styles.ts
@@ -0,0 +1,21 @@
+import { CancelLocation } from '../types/aziface';
+import type { FaceTecCancelButtonLocation } from '../types/FaceTecCustomization';
+
+const CANCEL_BUTTON_LOCATION = {
+ Disabled: 0 as FaceTecCancelButtonLocation,
+ TopLeft: 1 as FaceTecCancelButtonLocation,
+ TopRight: 2 as FaceTecCancelButtonLocation,
+} as const;
+
+export function resolveCancelLocation(
+ location?: CancelLocation,
+): FaceTecCancelButtonLocation {
+ const defaultLocation = CANCEL_BUTTON_LOCATION.TopLeft;
+ const locations: Record = {
+ 'top-left': defaultLocation,
+ 'top-right': CANCEL_BUTTON_LOCATION.TopRight,
+ none: CANCEL_BUTTON_LOCATION.Disabled,
+ };
+
+ return location ? locations[location] : defaultLocation;
+}