diff --git a/demos/nextjs-ssr-demo/src/app/guarded-csr/page.tsx b/demos/nextjs-ssr-demo/src/app/guarded-csr/page.tsx new file mode 100644 index 00000000..c2729a50 --- /dev/null +++ b/demos/nextjs-ssr-demo/src/app/guarded-csr/page.tsx @@ -0,0 +1,46 @@ +"use client"; + +import { createNhostClient } from "../lib/nhost/client"; +import Link from "next/link"; + +export default function GuardedCSRPage() { + const nhost = createNhostClient(); + const session = nhost.getUserSession(); + + const { accessToken } = session || {}; + const isAuthenticated = !!session; + + return ( +
+

Guarded Client-side Page

+

+ This page is rendered client-side and is protected by middleware. You + should only see this if you are authenticated. +

+ +
+

Authentication Status

+
+ Access Token (from client hook): +
+ User Authenticated: + {isAuthenticated ? "Yes" : "No"} +
+
+ Access Token: +
+              {accessToken || "Not available or not authenticated"}
+            
+
+
+
+ + + ← Back to Home + +
+ ); +} diff --git a/demos/nextjs-ssr-demo/src/app/guarded-ssr/GuardedSSRClientInfo.tsx b/demos/nextjs-ssr-demo/src/app/guarded-ssr/GuardedSSRClientInfo.tsx new file mode 100644 index 00000000..27d9c6f2 --- /dev/null +++ b/demos/nextjs-ssr-demo/src/app/guarded-ssr/GuardedSSRClientInfo.tsx @@ -0,0 +1,35 @@ +"use client"; + +import { createNhostClient } from "../lib/nhost/client"; + +export default function GuardedSSRClientInfo({ + initialAccessToken, +}: { + initialAccessToken?: string; +}) { + const nhost = createNhostClient(); + const session = nhost.getUserSession(); + + const { accessToken } = session || {}; + + return ( +
+

+ Client-Side Hook Info (on SSR Page) +

+
+ Access Token (from client hook): +
+          {accessToken || "Loading or not available..."}
+        
+
+

+ (Server initially provided an access token:{" "} + {initialAccessToken ? "Yes" : "No"}) +

+
+ ); +} diff --git a/demos/nextjs-ssr-demo/src/app/guarded-ssr/page.tsx b/demos/nextjs-ssr-demo/src/app/guarded-ssr/page.tsx new file mode 100644 index 00000000..4c8e9f53 --- /dev/null +++ b/demos/nextjs-ssr-demo/src/app/guarded-ssr/page.tsx @@ -0,0 +1,52 @@ +import { createNhostClient } from "../lib/nhost/server"; // Adjust path if needed +import Link from "next/link"; +import GuardedSSRClientInfo from "./GuardedSSRClientInfo"; // We'll create this + +export default async function GuardedSSRPage() { + const nhost = await createNhostClient(); + const session = nhost.getUserSession(); + + // Middleware should have already redirected if no session, + // but good practice to check if data is used. + // For this page, we primarily demonstrate SSR access to the token. + + return ( +
+

Guarded Server-side Page

+

+ This page is primarily rendered server-side and is protected by + middleware. You should only see this if you are authenticated. +

+ +
+

Server-Side Session Info

+
+ Access Token (from server): +
+            {session?.accessToken ||
+              "Not available (should not happen on guarded route)"}
+          
+
+
+ User ID (from server): + + {session?.user?.id || "Not available"} + +
+
+ + {/* Optional: Demonstrate client-side hooks */} + + + + ← Back to Home + +
+ ); +} diff --git a/demos/nextjs-ssr-demo/src/app/public-csr/page.tsx b/demos/nextjs-ssr-demo/src/app/public-csr/page.tsx new file mode 100644 index 00000000..78b9ff6a --- /dev/null +++ b/demos/nextjs-ssr-demo/src/app/public-csr/page.tsx @@ -0,0 +1,45 @@ +"use client"; + +import { createNhostClient } from "../lib/nhost/client"; +import Link from "next/link"; + +export default function PublicCSRPage() { + const nhost = createNhostClient(); + const session = nhost.getUserSession(); + + const { accessToken } = session || {}; + const isAuthenticated = !!session; + + return ( +
+

Public Client-side Page

+

+ This page is rendered client-side and is public. It shows auth state if + available. +

+ +
+

+ Authentication Status (Client Hooks) +

+
+ User Authenticated: + {isAuthenticated ? "Yes" : "No"} +
+
+ Access Token: +
+            {accessToken || "Not available or not authenticated"}
+          
+
+
+ + + ← Back to Home + +
+ ); +} diff --git a/demos/nextjs-ssr-demo/src/app/public-ssr/PublicSSRClientInfo.tsx b/demos/nextjs-ssr-demo/src/app/public-ssr/PublicSSRClientInfo.tsx new file mode 100644 index 00000000..4ba3271b --- /dev/null +++ b/demos/nextjs-ssr-demo/src/app/public-ssr/PublicSSRClientInfo.tsx @@ -0,0 +1,56 @@ +"use client"; + +import { createNhostClient } from "../lib/nhost/client"; + +interface Props { + initialIsAuthenticated: boolean; + initialAccessToken?: string; +} + +export default function PublicSSRClientInfo({ + initialIsAuthenticated, + initialAccessToken, +}: Props) { + const nhost = createNhostClient(); + // FIXME: use hooks, bc throws error + // ⨯ ReferenceError: document is not defined + // at CookieStorage.get (../../packages/nhost-js/src/sessionStorage.ts:152:20) + // at NhostClient.getUserSession (../../packages/nhost-js/src/index.ts:233:31) + // at PublicSSRClientInfo (src/app/public-ssr/PublicSSRClientInfo.tsx:15:24) + // 150 | */ + // 151 | get(): Session | null { + // > 152 | const cookies = document.cookie.split(";"); + // | ^ + // 153 | for (const cookie of cookies) { + // 154 | const [name, value] = cookie.trim().split("="); + // 155 | if (name === this.cookieName) { { + const session = nhost.getUserSession(); + + const { accessToken } = session || {}; + + return ( +
+

+ Client-Side Hook Info (on Public SSR Page) +

+
+ User Authenticated (from client hook): + {session ? "Yes" : "No"} +
+
+ Access Token (from client hook): +
+          {accessToken || "Not available or not authenticated"}
+        
+
+

+ (Server initially reported authenticated:{" "} + {initialIsAuthenticated ? "Yes" : "No"}, and token:{" "} + {initialAccessToken ? "Exists" : "Absent"}) +

+
+ ); +} diff --git a/demos/nextjs-ssr-demo/src/app/public-ssr/page.tsx b/demos/nextjs-ssr-demo/src/app/public-ssr/page.tsx new file mode 100644 index 00000000..34607fad --- /dev/null +++ b/demos/nextjs-ssr-demo/src/app/public-ssr/page.tsx @@ -0,0 +1,46 @@ +import { createNhostClient } from "../lib/nhost/server"; +import Link from "next/link"; +import PublicSSRClientInfo from "./PublicSSRClientInfo"; // We'll create this + +export default async function PublicSSRPage() { + const nhost = await createNhostClient(); + const session = nhost.getUserSession(); + const isAuthenticatedOnServer = !!session; + + return ( +
+

Public Server-side Page

+

+ This page is primarily rendered server-side and is public. It shows auth + state if available. +

+ +
+

Server-Side Session Info

+
+ User Authenticated (on server): + {isAuthenticatedOnServer ? "Yes" : "No"} +
+
+ Access Token (from server): +
+            {session?.accessToken || "Not available or not authenticated"}
+          
+
+
+ + {/* Optional: Demonstrate client-side hooks */} + + + + ← Back to Home + +
+ ); +} diff --git a/demos/nextjs-ssr-demo/src/middleware.ts b/demos/nextjs-ssr-demo/src/middleware.ts index 00bd47d0..f4763417 100644 --- a/demos/nextjs-ssr-demo/src/middleware.ts +++ b/demos/nextjs-ssr-demo/src/middleware.ts @@ -3,7 +3,13 @@ import { NextResponse } from "next/server"; import { handleNhostMiddleware } from "./app/lib/nhost/server"; // Define public routes that don't require authentication -const publicRoutes = ["/signin", "/signup", "/verify"]; +const publicRoutes = [ + "/signin", + "/signup", + "/verify", + "/public-csr", + "/public-ssr", +]; export async function middleware(request: NextRequest) { // Create a response that we'll modify as needed diff --git a/docs/reference/javascript/nhost-js/main.mdx b/docs/reference/javascript/nhost-js/main.mdx index 0a542f7b..8ea82697 100644 --- a/docs/reference/javascript/nhost-js/main.mdx +++ b/docs/reference/javascript/nhost-js/main.mdx @@ -125,7 +125,7 @@ console.log(JSON.stringify(funcResp.body, null, 2)); // } ``` -## Classes +## Interfaces ### NhostClient @@ -133,45 +133,52 @@ Main client class that provides unified access to all Nhost services. This class serves as the central interface for interacting with Nhost's authentication, storage, GraphQL, and serverless functions capabilities. -#### Constructors +#### Properties -##### Constructor +##### auth ```ts -new NhostClient( - auth: Client, - storage: Client, - graphql: Client, - functions: Client, - sessionStorage: SessionStorage): NhostClient; +auth: Client; ``` -Create a new Nhost client. This constructor is reserved for advanced use cases. -For typical usage, use [createClient](#createclient) or [createServerClient](#createserverclient) instead. +Authentication client providing methods for user sign-in, sign-up, and session management. +Use this client to handle all authentication-related operations. -###### Parameters +##### functions -| Parameter | Type | Description | -| ---------------- | ---------------------------------------------- | ---------------------------------------------- | -| `auth` | [`Client`](auth#client) | Authentication client instance | -| `storage` | [`Client`](storage#client) | Storage client instance | -| `graphql` | [`Client`](graphql#client) | GraphQL client instance | -| `functions` | [`Client`](functions#client) | Functions client instance | -| `sessionStorage` | [`SessionStorage`](session#sessionstorage) | Storage implementation for session persistence | +```ts +functions: Client; +``` -###### Returns +Functions client providing methods for invoking serverless functions. +Use this client to call your custom serverless functions deployed to Nhost. -[`NhostClient`](#nhostclient) +##### graphql -#### Properties +```ts +graphql: Client; +``` + +GraphQL client providing methods for executing GraphQL operations against your Hasura backend. +Use this client to query and mutate data in your database through GraphQL. -| Property | Type | Description | -| -------------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `auth` | [`Client`](auth#client) | Authentication client providing methods for user sign-in, sign-up, and session management. Use this client to handle all authentication-related operations. | -| `functions` | [`Client`](functions#client) | Functions client providing methods for invoking serverless functions. Use this client to call your custom serverless functions deployed to Nhost. | -| `graphql` | [`Client`](graphql#client) | GraphQL client providing methods for executing GraphQL operations against your Hasura backend. Use this client to query and mutate data in your database through GraphQL. | -| `sessionStorage` | [`SessionStorage`](session#sessionstorage) | Storage implementation used for persisting session information. This handles saving, retrieving, and managing authentication sessions across requests. | -| `storage` | [`Client`](storage#client) | Storage client providing methods for file operations (upload, download, delete). Use this client to manage files in your Nhost storage. | +##### sessionStorage + +```ts +sessionStorage: SessionStorage; +``` + +Storage implementation used for persisting session information. +This handles saving, retrieving, and managing authentication sessions across requests. + +##### storage + +```ts +storage: Client; +``` + +Storage client providing methods for file operations (upload, download, delete). +Use this client to manage files in your Nhost storage. #### Methods @@ -260,7 +267,7 @@ const refreshedSession = await nhost.refreshSession(300); const forcedRefresh = await nhost.refreshSession(0); ``` -## Interfaces +--- ### NhostClientOptions diff --git a/docs/reference/javascript/nhost-js/session.mdx b/docs/reference/javascript/nhost-js/session.mdx index fefaf3fd..45942814 100644 --- a/docs/reference/javascript/nhost-js/session.mdx +++ b/docs/reference/javascript/nhost-js/session.mdx @@ -398,7 +398,7 @@ Example - `"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."` ###### Inherited from -[`Session`](auth#session).[`accessToken`](auth#session#accesstoken) +[`Session`](auth#session).[`accessToken`](auth#accesstoken) ##### accessTokenExpiresIn @@ -412,7 +412,7 @@ Format - int64 ###### Inherited from -[`Session`](auth#session).[`accessTokenExpiresIn`](auth#session#accesstokenexpiresin) +[`Session`](auth#session).[`accessTokenExpiresIn`](auth#accesstokenexpiresin) ##### decodedToken @@ -434,7 +434,7 @@ Pattern - \b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b ###### Inherited from -[`Session`](auth#session).[`refreshToken`](auth#session#refreshtoken-3) +[`Session`](auth#session).[`refreshToken`](auth#refreshtoken-3) ##### refreshTokenId @@ -448,7 +448,7 @@ Pattern - \b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b ###### Inherited from -[`Session`](auth#session).[`refreshTokenId`](auth#session#refreshtokenid) +[`Session`](auth#session).[`refreshTokenId`](auth#refreshtokenid) ##### user? @@ -460,7 +460,7 @@ User profile and account information ###### Inherited from -[`Session`](auth#session).[`user`](auth#session#user-1) +[`Session`](auth#session).[`user`](auth#user-1) --- diff --git a/package.json b/package.json index 4f4105c1..8b4a73ac 100644 --- a/package.json +++ b/package.json @@ -20,20 +20,20 @@ "@eslint/json": "^0.12.0", "@jest/globals": "^29.7.0", "@jest/types": "^29.6.3", - "@next/eslint-plugin-next": "^15.3.2", - "@types/node": "^22.15.17", - "@typescript-eslint/eslint-plugin": "^8.32.1", - "@typescript-eslint/parser": "^8.32.1", + "@next/eslint-plugin-next": "^15.4.7", + "@types/node": "^22.17.2", + "@typescript-eslint/eslint-plugin": "^8.40.0", + "@typescript-eslint/parser": "^8.40.0", "eslint": "9.26.0", "eslint-plugin-next": "^0.0.0", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", - "globals": "^16.1.0", - "prettier": "^3.5.3", - "typescript": "^5.8.3", + "globals": "^16.3.0", + "prettier": "^3.6.2", + "typescript": "^5.9.2", "typescript-eslint": "8.32.0", "vite": "^6.3.5", - "vite-plugin-dts": "^4.5.3" + "vite-plugin-dts": "^4.5.4" } } diff --git a/packages/nhost-js/src/auth/client.ts b/packages/nhost-js/src/auth/client.ts index d92cdb13..f898888e 100644 --- a/packages/nhost-js/src/auth/client.ts +++ b/packages/nhost-js/src/auth/client.ts @@ -38,7 +38,7 @@ export interface AuthenticationExtensionsClientOutputs { } /** - * + * @property clientDataJSON (`string`) - Base64url encoded client data JSON @property authenticatorData (`string`) - Base64url encoded authenticator data @property signature (`string`) - Base64url encoded assertion signature @@ -68,7 +68,7 @@ export interface AuthenticatorAssertionResponse { export type AuthenticatorAttachment = "platform" | "cross-platform"; /** - * + * @property clientDataJSON (`string`) - Base64url-encoded binary data * Format - byte @property transports? (`string[]`) - The authenticator transports @@ -113,7 +113,7 @@ export interface AuthenticatorAttestationResponse { } /** - * + * @property authenticatorAttachment? (`AuthenticatorAttachment`) - The authenticator attachment modality @property requireResidentKey? (`boolean`) - Whether the authenticator must create a client-side-resident public key credential source @property residentKey? (`ResidentKeyRequirement`) - The resident key requirement @@ -158,10 +158,10 @@ export type ConveyancePreference = | "enterprise"; /** - * + * @property expiresAt (`string`) - Expiration date of the PAT * Format - date-time - @property metadata? (`Record`) - + @property metadata? (`Record`) - * Example - `{"name":"my-pat","used-by":"my-app-cli"}`*/ export interface CreatePATRequest { /** @@ -177,7 +177,7 @@ export interface CreatePATRequest { } /** - * + * @property id (`string`) - ID of the PAT * Example - `"2c35b6f3-c4b9-48e3-978a-d4d0f1d42e24"` * Pattern - \b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b @@ -200,7 +200,7 @@ export interface CreatePATResponse { } /** - * + * @property id (`string`) - The credential's identifier @property type (`string`) - The credential type represented by this object @property rawId (`string`) - Base64url-encoded binary data @@ -237,7 +237,7 @@ export interface CredentialAssertionResponse { } /** - * + * @property id (`string`) - The credential's identifier @property type (`string`) - The credential type represented by this object @property rawId (`string`) - Base64url-encoded binary data @@ -274,7 +274,7 @@ export interface CredentialCreationResponse { } /** - * + * @property type (`CredentialType`) - The valid credential types @property alg (`number`) - The cryptographic algorithm identifier*/ export interface CredentialParameter { @@ -426,8 +426,8 @@ export interface JWKSet { } /** - * - @property provider (`IdTokenProvider`) - + * + @property provider (`IdTokenProvider`) - @property idToken (`string`) - Apple ID token @property nonce? (`string`) - Nonce used during sign in process*/ export interface LinkIdTokenRequest { @@ -463,8 +463,8 @@ export interface MFAChallengePayload { export type OKResponse = "OK"; /** - * - @property redirectTo? (`string`) - + * + @property redirectTo? (`string`) - * Example - `"https://my-app.com/catch-redirection"` * Format - uri*/ export interface OptionsRedirectTo { @@ -477,15 +477,15 @@ export interface OptionsRedirectTo { } /** - * - @property rp (`RelyingPartyEntity`) - - @property user (`UserEntity`) - + * + @property rp (`RelyingPartyEntity`) - + @property user (`UserEntity`) - @property challenge (`string`) - Base64url-encoded binary data * Format - byte @property pubKeyCredParams (`CredentialParameter[]`) - The desired credential types and their respective cryptographic parameters @property timeout? (`number`) - A time, in milliseconds, that the caller is willing to wait for the call to complete @property excludeCredentials? (`PublicKeyCredentialDescriptor[]`) - A list of PublicKeyCredentialDescriptor objects representing public key credentials that are not acceptable to the caller - @property authenticatorSelection? (`AuthenticatorSelection`) - + @property authenticatorSelection? (`AuthenticatorSelection`) - @property hints? (`PublicKeyCredentialHints[]`) - Hints to help guide the user through the experience @property attestation? (`ConveyancePreference`) - The attestation conveyance preference @property attestationFormats? (`AttestationFormat[]`) - The preferred attestation statement formats @@ -539,7 +539,7 @@ export interface PublicKeyCredentialCreationOptions { } /** - * + * @property type (`CredentialType`) - The valid credential types @property id (`string`) - Base64url-encoded binary data * Format - byte @@ -569,7 +569,7 @@ export type PublicKeyCredentialHints = | "hybrid"; /** - * + * @property challenge (`string`) - Base64url-encoded binary data * Format - byte @property timeout? (`number`) - A time, in milliseconds, that the caller is willing to wait for the call to complete @@ -625,7 +625,7 @@ export interface RefreshTokenRequest { } /** - * + * @property name (`string`) - A human-palatable name for the entity @property id (`string`) - A unique identifier for the Relying Party entity, which sets the RP ID*/ export interface RelyingPartyEntity { @@ -699,14 +699,14 @@ export interface SessionPayload { } /** - * - @property displayName? (`string`) - + * + @property displayName? (`string`) - * Example - `"John Smith"` @property locale? (`string`) - A two-characters locale * Example - `"en"` * MinLength - 2 * MaxLength - 2 - @property metadata? (`Record`) - + @property metadata? (`Record`) - * Example - `{"firstName":"John","lastName":"Smith"}`*/ export interface SignInAnonymousRequest { /** @@ -769,8 +769,8 @@ export interface SignInEmailPasswordResponse { } /** - * - @property provider (`IdTokenProvider`) - + * + @property provider (`IdTokenProvider`) - @property idToken (`string`) - Apple ID token @property nonce? (`string`) - Nonce used during sign in process @property options? (`SignUpOptions`) - */ @@ -794,7 +794,7 @@ export interface SignInIdTokenRequest { } /** - * + * @property ticket (`string`) - Ticket * Pattern - ^mfaTotp:.*$ @property otp (`string`) - One time password*/ @@ -811,7 +811,7 @@ export interface SignInMfaTotpRequest { } /** - * + * @property email (`string`) - A valid email * Example - `"john.smith@nhost.io"` * Format - email @@ -830,7 +830,7 @@ export interface SignInOTPEmailRequest { } /** - * + * @property otp (`string`) - One time password @property email (`string`) - A valid email * Example - `"john.smith@nhost.io"` @@ -849,7 +849,7 @@ export interface SignInOTPEmailVerifyRequest { } /** - * + * @property session? (`Session`) - User authentication session containing tokens and user information*/ export interface SignInOTPEmailVerifyResponse { /** @@ -859,7 +859,7 @@ export interface SignInOTPEmailVerifyResponse { } /** - * + * @property personalAccessToken (`string`) - PAT * Example - `"2c35b6f3-c4b9-48e3-978a-d4d0f1d42e24"` * Pattern - \b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b*/ @@ -873,7 +873,7 @@ export interface SignInPATRequest { } /** - * + * @property email (`string`) - A valid email * Example - `"john.smith@nhost.io"` * Format - email @@ -892,7 +892,7 @@ export interface SignInPasswordlessEmailRequest { } /** - * + * @property phoneNumber (`string`) - Phone number of the user * Example - `"+123456789"` @property otp (`string`) - One-time password received by SMS*/ @@ -909,7 +909,7 @@ export interface SignInPasswordlessSmsOtpRequest { } /** - * + * @property session? (`Session`) - User authentication session containing tokens and user information @property mfa? (`MFAChallengePayload`) - Challenge payload for multi-factor authentication*/ export interface SignInPasswordlessSmsOtpResponse { @@ -924,7 +924,7 @@ export interface SignInPasswordlessSmsOtpResponse { } /** - * + * @property phoneNumber (`string`) - Phone number of the user * Example - `"+123456789"` @property options? (`SignUpOptions`) - */ @@ -941,7 +941,7 @@ export interface SignInPasswordlessSmsRequest { } /** - * + * @property email? (`string`) - A valid email * Example - `"john.smith@nhost.io"` * Format - email*/ @@ -955,7 +955,7 @@ export interface SignInWebauthnRequest { } /** - * + * @property email? (`string`) - A valid email. Deprecated, no longer used * Example - `"john.smith@nhost.io"` * Format - email @@ -974,7 +974,7 @@ export interface SignInWebauthnVerifyRequest { } /** - * + * @property refreshToken? (`string`) - Refresh token for the current session @property all? (`boolean`) - Sign out from all connected devices*/ export interface SignOutRequest { @@ -1019,12 +1019,12 @@ export interface SignUpEmailPasswordRequest { } /** - * - @property allowedRoles? (`string[]`) - + * + @property allowedRoles? (`string[]`) - * Example - `["me","user"]` - @property defaultRole? (`string`) - + @property defaultRole? (`string`) - * Example - `"user"` - @property displayName? (`string`) - + @property displayName? (`string`) - * Example - `"John Smith"` * Pattern - ^[\p{L}\p{N}\p{S} ,.'-]+$ * MaxLength - 32 @@ -1032,9 +1032,9 @@ export interface SignUpEmailPasswordRequest { * Example - `"en"` * MinLength - 2 * MaxLength - 2 - @property metadata? (`Record`) - + @property metadata? (`Record`) - * Example - `{"firstName":"John","lastName":"Smith"}` - @property redirectTo? (`string`) - + @property redirectTo? (`string`) - * Example - `"https://my-app.com/catch-redirection"` * Format - uri*/ export interface SignUpOptions { @@ -1076,7 +1076,7 @@ export interface SignUpOptions { } /** - * + * @property email (`string`) - A valid email * Example - `"john.smith@nhost.io"` * Format - email @@ -1095,9 +1095,9 @@ export interface SignUpWebauthnRequest { } /** - * - @property credential (`CredentialCreationResponse`) - - @property options? (`SignUpOptions`) - + * + @property credential (`CredentialCreationResponse`) - + @property options? (`SignUpOptions`) - @property nickname? (`string`) - Nickname for the security key*/ export interface SignUpWebauthnVerifyRequest { /** @@ -1257,7 +1257,7 @@ export type UserDeanonymizeRequestSignInMethod = | "passwordless"; /** - * + * @property signInMethod (`UserDeanonymizeRequestSignInMethod`) - Which sign-in method to use @property email (`string`) - A valid email * Example - `"john.smith@nhost.io"` @@ -1297,7 +1297,7 @@ export interface UserDeanonymizeRequest { } /** - * + * @property newEmail (`string`) - A valid email * Example - `"john.smith@nhost.io"` * Format - email @@ -1316,7 +1316,7 @@ export interface UserEmailChangeRequest { } /** - * + * @property email (`string`) - A valid email * Example - `"john.smith@nhost.io"` * Format - email @@ -1335,7 +1335,7 @@ export interface UserEmailSendVerificationEmailRequest { } /** - * + * @property name (`string`) - A human-palatable name for the entity @property displayName (`string`) - A human-palatable name for the user account, intended only for display @property id (`string`) - The user handle of the user account entity*/ @@ -1379,7 +1379,7 @@ export interface UserMfaRequest { } /** - * + * @property newPassword (`string`) - A password of minimum 3 characters * Example - `"Str0ngPassw#ord-94|%"` * MinLength - 3 @@ -1402,7 +1402,7 @@ export interface UserPasswordRequest { } /** - * + * @property email (`string`) - A valid email * Example - `"john.smith@nhost.io"` * Format - email @@ -1429,8 +1429,8 @@ export type UserVerificationRequirement = | "discouraged"; /** - * - @property credential (`CredentialCreationResponse`) - + * + @property credential (`CredentialCreationResponse`) - @property nickname? (`string`) - Optional nickname for the security key*/ export interface VerifyAddSecurityKeyRequest { /** @@ -1444,7 +1444,7 @@ export interface VerifyAddSecurityKeyRequest { } /** - * + * @property id (`string`) - The ID of the newly added security key * Example - `"123e4567-e89b-12d3-a456-426614174000"` @property nickname? (`string`) - The nickname of the security key if provided*/ @@ -1461,7 +1461,7 @@ export interface VerifyAddSecurityKeyResponse { } /** - * + * @property token? (`string`) - JWT token to verify*/ export interface VerifyTokenRequest { /** @@ -1510,7 +1510,7 @@ export type TicketTypeQuery = | "passwordReset"; /** - * + * @property version (`string`) - The version of the authentication service * Example - `"1.2.3"`*/ export interface GetVersionResponse200 { @@ -1524,83 +1524,83 @@ export interface GetVersionResponse200 { /** * Parameters for the signInProvider method. @property allowedRoles? (string[]) - Array of allowed roles for the user - + @property defaultRole? (string) - Default role for the user - + @property displayName? (string) - Display name for the user - + @property locale? (string) - A two-characters locale - + @property metadata? (Record) - Additional metadata for the user (JSON encoded string) - + @property redirectTo? (string) - URI to redirect to - + @property connect? (string) - If set, this means that the user is already authenticated and wants to link their account. This needs to be a valid JWT access token. */ export interface SignInProviderParams { /** * Array of allowed roles for the user - + */ allowedRoles?: string[]; /** * Default role for the user - + */ defaultRole?: string; /** * Display name for the user - + */ displayName?: string; /** * A two-characters locale - + */ locale?: string; /** * Additional metadata for the user (JSON encoded string) - + */ metadata?: Record; /** * URI to redirect to - + */ redirectTo?: string; /** * If set, this means that the user is already authenticated and wants to link their account. This needs to be a valid JWT access token. - + */ connect?: string; } /** * Parameters for the verifyTicket method. @property ticket (TicketQuery) - Ticket - + * Ticket @property type? (TicketTypeQuery) - Type of the ticket. Deprecated, no longer used - + * Type of the ticket @property redirectTo (RedirectToQuery) - Target URL for the redirect - + * Target URL for the redirect*/ export interface VerifyTicketParams { /** * Ticket - + * Ticket */ ticket: TicketQuery; /** * Type of the ticket. Deprecated, no longer used - + * Type of the ticket */ type?: TicketTypeQuery; /** * Target URL for the redirect - + * Target URL for the redirect */ redirectTo: RedirectToQuery; diff --git a/packages/nhost-js/src/storage/client.ts b/packages/nhost-js/src/storage/client.ts index 623a7ac6..edc0e837 100644 --- a/packages/nhost-js/src/storage/client.ts +++ b/packages/nhost-js/src/storage/client.ts @@ -10,6 +10,7 @@ import type { ChainFunction, FetchResponse } from "../fetch"; */ export type RFC2822Date = string; + /** * Error details. @property message (`string`) - Human-readable error message. @@ -18,14 +19,15 @@ export type RFC2822Date = string; export interface ErrorResponseError { /** * Human-readable error message. - * Example - `"File not found"` + * Example - `"File not found"` */ - message: string; + message: string, /** * Additional data related to the error, if any. */ - data?: Record; -} + data?: Record, +}; + /** * Error information returned by the API. @@ -34,8 +36,9 @@ export interface ErrorResponse { /** * Error details. */ - error?: ErrorResponseError; -} + error?: ErrorResponseError, +}; + /** * Error details. @@ -45,14 +48,15 @@ export interface ErrorResponse { export interface ErrorResponseWithProcessedFilesError { /** * Human-readable error message. - * Example - `"File not found"` + * Example - `"File not found"` */ - message: string; + message: string, /** * Additional data related to the error, if any. */ - data?: Record; -} + data?: Record, +}; + /** * Error information returned by the API. @@ -62,12 +66,13 @@ export interface ErrorResponseWithProcessedFiles { /** * List of files that were successfully processed before the error occurred. */ - processedFiles?: FileMetadata[]; + processedFiles?: FileMetadata[], /** * Error details. */ - error?: ErrorResponseWithProcessedFilesError; -} + error?: ErrorResponseWithProcessedFilesError, +}; + /** * Comprehensive metadata information about a file in storage. @@ -99,63 +104,64 @@ export interface ErrorResponseWithProcessedFiles { export interface FileMetadata { /** * Unique identifier for the file. - * Example - `"d5e76ceb-77a2-4153-b7da-1f7c115b2ff2"` + * Example - `"d5e76ceb-77a2-4153-b7da-1f7c115b2ff2"` */ - id: string; + id: string, /** * Name of the file including extension. - * Example - `"profile-picture.jpg"` + * Example - `"profile-picture.jpg"` */ - name: string; + name: string, /** * Size of the file in bytes. - * Example - `245678` - * Format - int64 + * Example - `245678` + * Format - int64 */ - size: number; + size: number, /** * ID of the bucket containing the file. - * Example - `"users-bucket"` + * Example - `"users-bucket"` */ - bucketId: string; + bucketId: string, /** * Entity tag for cache validation. - * Example - `"\"a1b2c3d4e5f6\""` + * Example - `"\"a1b2c3d4e5f6\""` */ - etag: string; + etag: string, /** * Timestamp when the file was created. - * Example - `"2023-01-15T12:34:56Z"` - * Format - date-time + * Example - `"2023-01-15T12:34:56Z"` + * Format - date-time */ - createdAt: string; + createdAt: string, /** * Timestamp when the file was last updated. - * Example - `"2023-01-16T09:45:32Z"` - * Format - date-time + * Example - `"2023-01-16T09:45:32Z"` + * Format - date-time */ - updatedAt: string; + updatedAt: string, /** * Whether the file has been successfully uploaded. - * Example - `true` + * Example - `true` */ - isUploaded: boolean; + isUploaded: boolean, /** * MIME type of the file. - * Example - `"image/jpeg"` + * Example - `"image/jpeg"` */ - mimeType: string; + mimeType: string, /** * ID of the user who uploaded the file. - * Example - `"abc123def456"` + * Example - `"abc123def456"` */ - uploadedByUserId?: string; + uploadedByUserId?: string, /** * Custom metadata associated with the file. - * Example - `{"alt":"Profile picture","category":"avatar"}` + * Example - `{"alt":"Profile picture","category":"avatar"}` */ - metadata?: Record; -} + metadata?: Record, +}; + /** * Basic information about a file in storage. @@ -170,25 +176,26 @@ export interface FileMetadata { export interface FileSummary { /** * Unique identifier for the file. - * Example - `"d5e76ceb-77a2-4153-b7da-1f7c115b2ff2"` + * Example - `"d5e76ceb-77a2-4153-b7da-1f7c115b2ff2"` */ - id: string; + id: string, /** * Name of the file including extension. - * Example - `"profile-picture.jpg"` + * Example - `"profile-picture.jpg"` */ - name: string; + name: string, /** * ID of the bucket containing the file. - * Example - `"users-bucket"` + * Example - `"users-bucket"` */ - bucketId: string; + bucketId: string, /** * Whether the file has been successfully uploaded. - * Example - `true` + * Example - `true` */ - isUploaded: boolean; -} + isUploaded: boolean, +}; + /** * Contains a presigned URL for direct file operations. @@ -199,15 +206,16 @@ export interface FileSummary { export interface PresignedURLResponse { /** * The presigned URL for file operations. - * Example - `"https://storage.example.com/files/abc123?signature=xyz"` + * Example - `"https://storage.example.com/files/abc123?signature=xyz"` */ - url: string; + url: string, /** * The time in seconds until the URL expires. - * Example - `3600` + * Example - `3600` */ - expiration: number; -} + expiration: number, +}; + /** * Metadata that can be updated for an existing file. @@ -218,15 +226,16 @@ export interface PresignedURLResponse { export interface UpdateFileMetadata { /** * New name to assign to the file. - * Example - `"renamed-file.jpg"` + * Example - `"renamed-file.jpg"` */ - name?: string; + name?: string, /** * Updated custom metadata to associate with the file. - * Example - `{"alt":"Updated image description","category":"profile"}` + * Example - `{"alt":"Updated image description","category":"profile"}` */ - metadata?: Record; -} + metadata?: Record, +}; + /** * Metadata provided when uploading a new file. @@ -239,20 +248,21 @@ export interface UpdateFileMetadata { export interface UploadFileMetadata { /** * Optional custom ID for the file. If not provided, a UUID will be generated. - * Example - `"custom-id-123"` + * Example - `"custom-id-123"` */ - id?: string; + id?: string, /** * Name to assign to the file. If not provided, the original filename will be used. - * Example - `"custom-filename.png"` + * Example - `"custom-filename.png"` */ - name?: string; + name?: string, /** * Custom metadata to associate with the file. - * Example - `{"alt":"Custom image","category":"document"}` + * Example - `{"alt":"Custom image","category":"document"}` */ - metadata?: Record; -} + metadata?: Record, +}; + /** * Contains version information about the storage service. @@ -261,21 +271,17 @@ export interface UploadFileMetadata { export interface VersionInformation { /** * The version number of the storage service build. - * Example - `"1.2.3"` + * Example - `"1.2.3"` */ - buildVersion: string; -} + buildVersion: string, +}; + /** * Output format for image files. Use 'auto' for content negotiation based on Accept header */ -export type OutputImageFormat = - | "auto" - | "same" - | "jpeg" - | "webp" - | "png" - | "avif"; +export type OutputImageFormat = "auto" | "same" | "jpeg" | "webp" | "png" | "avif"; + /** * @@ -286,18 +292,19 @@ export type OutputImageFormat = export interface UploadFilesBody { /** * Target bucket identifier where files will be stored. - * Example - `"user-uploads"` + * Example - `"user-uploads"` */ - "bucket-id"?: string; + "bucket-id"?: string, /** * Optional custom metadata for each uploaded file. Must match the order of the file[] array. */ - "metadata[]"?: UploadFileMetadata[]; + "metadata[]"?: UploadFileMetadata[], /** * Array of files to upload. */ - "file[]": Blob[]; -} + "file[]": Blob[], +}; + /** * @@ -306,8 +313,9 @@ export interface UploadFilesResponse201 { /** * List of successfully processed files with their metadata. */ - processedFiles: FileMetadata[]; -} + processedFiles: FileMetadata[], +}; + /** * @@ -318,63 +326,68 @@ export interface ReplaceFileBody { /** * Metadata that can be updated for an existing file. */ - metadata?: UpdateFileMetadata; + metadata?: UpdateFileMetadata, /** * New file content to replace the existing file - * Format - binary + * Format - binary */ - file?: Blob; -} + file?: Blob, +}; + /** * @property metadata? (`FileSummary[]`) - */ export interface DeleteBrokenMetadataResponse200 { /** - * + * */ - metadata?: FileSummary[]; -} + metadata?: FileSummary[], +}; + /** * @property files? (`string[]`) - */ export interface DeleteOrphanedFilesResponse200 { /** - * + * */ - files?: string[]; -} + files?: string[], +}; + /** * @property metadata? (`FileSummary[]`) - */ export interface ListBrokenMetadataResponse200 { /** - * + * */ - metadata?: FileSummary[]; -} + metadata?: FileSummary[], +}; + /** * @property metadata? (`FileSummary[]`) - */ export interface ListFilesNotUploadedResponse200 { /** - * + * */ - metadata?: FileSummary[]; -} + metadata?: FileSummary[], +}; + /** * @property files? (`string[]`) - */ export interface ListOrphanedFilesResponse200 { /** - * + * */ - files?: string[]; -} + files?: string[], +}; /** * Parameters for the getFile method. @@ -459,10 +472,11 @@ export interface GetFileMetadataHeadersParams { f?: OutputImageFormat; } + export interface Client { baseURL: string; pushChainFunction(chainFunction: ChainFunction): void; - /** + /** Summary: Upload files Upload one or more files to a specified bucket. Supports batch uploading with optional custom metadata for each file. If uploading multiple files, either provide metadata for all files or none. @@ -474,16 +488,19 @@ export interface Client { options?: RequestInit, ): Promise>; - /** + /** Summary: Delete file Permanently delete a file from storage. This removes both the file content and its associated metadata. This method may return different T based on the response code: - 204: void */ - deleteFile(id: string, options?: RequestInit): Promise>; + deleteFile( + id: string, + options?: RequestInit, + ): Promise>; - /** + /** Summary: Download file Retrieve and download the complete file content. Supports conditional requests, image transformations, and range requests for partial downloads. @@ -499,7 +516,7 @@ export interface Client { options?: RequestInit, ): Promise>; - /** + /** Summary: Check file information Retrieve file metadata headers without downloading the file content. Supports conditional requests and provides caching information. @@ -514,7 +531,7 @@ export interface Client { options?: RequestInit, ): Promise>; - /** + /** Summary: Replace file Replace an existing file with new content while preserving the file ID. The operation follows these steps: 1. The isUploaded flag is set to false to mark the file as being updated @@ -533,7 +550,7 @@ Each step is atomic, but if a step fails, previous steps will not be automatical options?: RequestInit, ): Promise>; - /** + /** Summary: Retrieve presigned URL to retrieve the file Retrieve presigned URL to retrieve the file. Expiration of the URL is determined by bucket configuration @@ -547,7 +564,7 @@ determined by bucket configuration options?: RequestInit, ): Promise>; - /** + /** Summary: Delete broken metadata Broken metadata is defined as metadata that has isUploaded = true but there is no file in the storage matching it. This is an admin operation that requires the Hasura admin secret. @@ -558,7 +575,7 @@ determined by bucket configuration options?: RequestInit, ): Promise>; - /** + /** Summary: Deletes orphaned files Orphaned files are files that are present in the storage but have no associated metadata. This is an admin operation that requires the Hasura admin secret. @@ -569,7 +586,7 @@ determined by bucket configuration options?: RequestInit, ): Promise>; - /** + /** Summary: Lists broken metadata Broken metadata is defined as metadata that has isUploaded = true but there is no file in the storage matching it. This is an admin operation that requires the Hasura admin secret. @@ -580,7 +597,7 @@ determined by bucket configuration options?: RequestInit, ): Promise>; - /** + /** Summary: Lists files that haven't been uploaded That is, metadata that has isUploaded = false. This is an admin operation that requires the Hasura admin secret. @@ -591,7 +608,7 @@ determined by bucket configuration options?: RequestInit, ): Promise>; - /** + /** Summary: Lists orphaned files Orphaned files are files that are present in the storage but have no associated metadata. This is an admin operation that requires the Hasura admin secret. @@ -602,15 +619,18 @@ determined by bucket configuration options?: RequestInit, ): Promise>; - /** + /** Summary: Get service version information Retrieves build and version information about the storage service. Useful for monitoring and debugging. This method may return different T based on the response code: - 200: VersionInformation */ - getVersion(options?: RequestInit): Promise>; -} + getVersion( + options?: RequestInit, + ): Promise>; +}; + export const createAPIClient = ( baseURL: string, @@ -622,7 +642,7 @@ export const createAPIClient = ( chainFunctions.push(chainFunction); fetch = createEnhancedFetch(chainFunctions); }; - const uploadFiles = async ( + const uploadFiles = async ( body: UploadFilesBody, options?: RequestInit, ): Promise> => { @@ -633,15 +653,17 @@ export const createAPIClient = ( } if (body["metadata[]"] !== undefined) { body["metadata[]"].forEach((value) => - formData.append( - "metadata[]", - new Blob([JSON.stringify(value)], { type: "application/json" }), - "", - ), + formData.append( + "metadata[]", + new Blob([JSON.stringify(value)], { type: "application/json" }), + "", + ), ); } if (body["file[]"] !== undefined) { - body["file[]"].forEach((value) => formData.append("file[]", value)); + body["file[]"].forEach((value) => + formData.append("file[]", value), + ); } const res = await fetch(url, { @@ -655,22 +677,20 @@ export const createAPIClient = ( const payload: unknown = responseBody ? JSON.parse(responseBody) : {}; throw new FetchError(payload, res.status, res.headers); } - - const responseBody = [204, 205, 304].includes(res.status) - ? null - : await res.text(); - const payload: UploadFilesResponse201 = responseBody - ? JSON.parse(responseBody) - : {}; + + const responseBody = [204, 205, 304].includes(res.status) ? null : await res.text(); + const payload: UploadFilesResponse201 = responseBody ? JSON.parse(responseBody) : {}; + return { body: payload, status: res.status, headers: res.headers, } as FetchResponse; + }; - const deleteFile = async ( + const deleteFile = async ( id: string, options?: RequestInit, ): Promise> => { @@ -688,37 +708,40 @@ export const createAPIClient = ( const payload: unknown = responseBody ? JSON.parse(responseBody) : {}; throw new FetchError(payload, res.status, res.headers); } - + const payload: void = undefined; + return { body: payload, status: res.status, headers: res.headers, } as FetchResponse; + }; - const getFile = async ( + const getFile = async ( id: string, params?: GetFileParams, options?: RequestInit, ): Promise> => { - const encodedParameters = - params && - Object.entries(params) - .map(([key, value]) => { - const stringValue = Array.isArray(value) - ? value.join(",") - : typeof value === "object" - ? JSON.stringify(value) - : (value as string); - return `${key}=${encodeURIComponent(stringValue)}`; - }) - .join("&"); - - const url = encodedParameters - ? baseURL + `/files/${id}?${encodedParameters}` - : baseURL + `/files/${id}`; + const encodedParameters = + params && + Object.entries(params) + .map(([key, value]) => { + const stringValue = Array.isArray(value) + ? value.join(',') + : typeof value === 'object' + ? JSON.stringify(value) + : (value as string) + return `${key}=${encodeURIComponent(stringValue)}` + }) + .join('&') + + const url = + encodedParameters + ? baseURL + `/files/${id}?${encodedParameters}` + : baseURL + `/files/${id}`; const res = await fetch(url, { ...options, method: "GET", @@ -732,37 +755,40 @@ export const createAPIClient = ( const payload: unknown = responseBody ? JSON.parse(responseBody) : {}; throw new FetchError(payload, res.status, res.headers); } - + const payload: Blob = await res.blob(); + return { body: payload, status: res.status, headers: res.headers, } as FetchResponse; + }; - const getFileMetadataHeaders = async ( + const getFileMetadataHeaders = async ( id: string, params?: GetFileMetadataHeadersParams, options?: RequestInit, ): Promise> => { - const encodedParameters = - params && - Object.entries(params) - .map(([key, value]) => { - const stringValue = Array.isArray(value) - ? value.join(",") - : typeof value === "object" - ? JSON.stringify(value) - : (value as string); - return `${key}=${encodeURIComponent(stringValue)}`; - }) - .join("&"); - - const url = encodedParameters - ? baseURL + `/files/${id}?${encodedParameters}` - : baseURL + `/files/${id}`; + const encodedParameters = + params && + Object.entries(params) + .map(([key, value]) => { + const stringValue = Array.isArray(value) + ? value.join(',') + : typeof value === 'object' + ? JSON.stringify(value) + : (value as string) + return `${key}=${encodeURIComponent(stringValue)}` + }) + .join('&') + + const url = + encodedParameters + ? baseURL + `/files/${id}?${encodedParameters}` + : baseURL + `/files/${id}`; const res = await fetch(url, { ...options, method: "HEAD", @@ -776,17 +802,19 @@ export const createAPIClient = ( const payload: unknown = responseBody ? JSON.parse(responseBody) : {}; throw new FetchError(payload, res.status, res.headers); } - + const payload: void = undefined; + return { body: payload, status: res.status, headers: res.headers, } as FetchResponse; + }; - const replaceFile = async ( + const replaceFile = async ( id: string, body: ReplaceFileBody, options?: RequestInit, @@ -796,9 +824,7 @@ export const createAPIClient = ( if (body["metadata"] !== undefined) { formData.append( "metadata", - new Blob([JSON.stringify(body["metadata"])], { - type: "application/json", - }), + new Blob([JSON.stringify(body["metadata"])], { type: "application/json" }), "", ); } @@ -817,20 +843,20 @@ export const createAPIClient = ( const payload: unknown = responseBody ? JSON.parse(responseBody) : {}; throw new FetchError(payload, res.status, res.headers); } - - const responseBody = [204, 205, 304].includes(res.status) - ? null - : await res.text(); + + const responseBody = [204, 205, 304].includes(res.status) ? null : await res.text(); const payload: FileMetadata = responseBody ? JSON.parse(responseBody) : {}; + return { body: payload, status: res.status, headers: res.headers, } as FetchResponse; + }; - const getFilePresignedURL = async ( + const getFilePresignedURL = async ( id: string, options?: RequestInit, ): Promise> => { @@ -848,22 +874,20 @@ export const createAPIClient = ( const payload: unknown = responseBody ? JSON.parse(responseBody) : {}; throw new FetchError(payload, res.status, res.headers); } - - const responseBody = [204, 205, 304].includes(res.status) - ? null - : await res.text(); - const payload: PresignedURLResponse = responseBody - ? JSON.parse(responseBody) - : {}; + + const responseBody = [204, 205, 304].includes(res.status) ? null : await res.text(); + const payload: PresignedURLResponse = responseBody ? JSON.parse(responseBody) : {}; + return { body: payload, status: res.status, headers: res.headers, } as FetchResponse; + }; - const deleteBrokenMetadata = async ( + const deleteBrokenMetadata = async ( options?: RequestInit, ): Promise> => { const url = baseURL + `/ops/delete-broken-metadata`; @@ -880,22 +904,20 @@ export const createAPIClient = ( const payload: unknown = responseBody ? JSON.parse(responseBody) : {}; throw new FetchError(payload, res.status, res.headers); } - - const responseBody = [204, 205, 304].includes(res.status) - ? null - : await res.text(); - const payload: DeleteBrokenMetadataResponse200 = responseBody - ? JSON.parse(responseBody) - : {}; + + const responseBody = [204, 205, 304].includes(res.status) ? null : await res.text(); + const payload: DeleteBrokenMetadataResponse200 = responseBody ? JSON.parse(responseBody) : {}; + return { body: payload, status: res.status, headers: res.headers, } as FetchResponse; + }; - const deleteOrphanedFiles = async ( + const deleteOrphanedFiles = async ( options?: RequestInit, ): Promise> => { const url = baseURL + `/ops/delete-orphans`; @@ -912,22 +934,20 @@ export const createAPIClient = ( const payload: unknown = responseBody ? JSON.parse(responseBody) : {}; throw new FetchError(payload, res.status, res.headers); } - - const responseBody = [204, 205, 304].includes(res.status) - ? null - : await res.text(); - const payload: DeleteOrphanedFilesResponse200 = responseBody - ? JSON.parse(responseBody) - : {}; + + const responseBody = [204, 205, 304].includes(res.status) ? null : await res.text(); + const payload: DeleteOrphanedFilesResponse200 = responseBody ? JSON.parse(responseBody) : {}; + return { body: payload, status: res.status, headers: res.headers, } as FetchResponse; + }; - const listBrokenMetadata = async ( + const listBrokenMetadata = async ( options?: RequestInit, ): Promise> => { const url = baseURL + `/ops/list-broken-metadata`; @@ -944,22 +964,20 @@ export const createAPIClient = ( const payload: unknown = responseBody ? JSON.parse(responseBody) : {}; throw new FetchError(payload, res.status, res.headers); } - - const responseBody = [204, 205, 304].includes(res.status) - ? null - : await res.text(); - const payload: ListBrokenMetadataResponse200 = responseBody - ? JSON.parse(responseBody) - : {}; + + const responseBody = [204, 205, 304].includes(res.status) ? null : await res.text(); + const payload: ListBrokenMetadataResponse200 = responseBody ? JSON.parse(responseBody) : {}; + return { body: payload, status: res.status, headers: res.headers, } as FetchResponse; + }; - const listFilesNotUploaded = async ( + const listFilesNotUploaded = async ( options?: RequestInit, ): Promise> => { const url = baseURL + `/ops/list-not-uploaded`; @@ -976,22 +994,20 @@ export const createAPIClient = ( const payload: unknown = responseBody ? JSON.parse(responseBody) : {}; throw new FetchError(payload, res.status, res.headers); } - - const responseBody = [204, 205, 304].includes(res.status) - ? null - : await res.text(); - const payload: ListFilesNotUploadedResponse200 = responseBody - ? JSON.parse(responseBody) - : {}; + + const responseBody = [204, 205, 304].includes(res.status) ? null : await res.text(); + const payload: ListFilesNotUploadedResponse200 = responseBody ? JSON.parse(responseBody) : {}; + return { body: payload, status: res.status, headers: res.headers, } as FetchResponse; + }; - const listOrphanedFiles = async ( + const listOrphanedFiles = async ( options?: RequestInit, ): Promise> => { const url = baseURL + `/ops/list-orphans`; @@ -1008,22 +1024,20 @@ export const createAPIClient = ( const payload: unknown = responseBody ? JSON.parse(responseBody) : {}; throw new FetchError(payload, res.status, res.headers); } - - const responseBody = [204, 205, 304].includes(res.status) - ? null - : await res.text(); - const payload: ListOrphanedFilesResponse200 = responseBody - ? JSON.parse(responseBody) - : {}; + + const responseBody = [204, 205, 304].includes(res.status) ? null : await res.text(); + const payload: ListOrphanedFilesResponse200 = responseBody ? JSON.parse(responseBody) : {}; + return { body: payload, status: res.status, headers: res.headers, } as FetchResponse; + }; - const getVersion = async ( + const getVersion = async ( options?: RequestInit, ): Promise> => { const url = baseURL + `/version`; @@ -1040,35 +1054,34 @@ export const createAPIClient = ( const payload: unknown = responseBody ? JSON.parse(responseBody) : {}; throw new FetchError(payload, res.status, res.headers); } - - const responseBody = [204, 205, 304].includes(res.status) - ? null - : await res.text(); - const payload: VersionInformation = responseBody - ? JSON.parse(responseBody) - : {}; + + const responseBody = [204, 205, 304].includes(res.status) ? null : await res.text(); + const payload: VersionInformation = responseBody ? JSON.parse(responseBody) : {}; + return { body: payload, status: res.status, headers: res.headers, } as FetchResponse; + }; + return { baseURL, pushChainFunction, - uploadFiles, - deleteFile, - getFile, - getFileMetadataHeaders, - replaceFile, - getFilePresignedURL, - deleteBrokenMetadata, - deleteOrphanedFiles, - listBrokenMetadata, - listFilesNotUploaded, - listOrphanedFiles, - getVersion, + uploadFiles, + deleteFile, + getFile, + getFileMetadataHeaders, + replaceFile, + getFilePresignedURL, + deleteBrokenMetadata, + deleteOrphanedFiles, + listBrokenMetadata, + listFilesNotUploaded, + listOrphanedFiles, + getVersion, }; }; diff --git a/packages/purescript-nhost/.gitignore b/packages/purescript-nhost/.gitignore new file mode 100644 index 00000000..c4705363 --- /dev/null +++ b/packages/purescript-nhost/.gitignore @@ -0,0 +1,12 @@ + +bower_components/ +node_modules/ +.pulp-cache/ +output/ +output-es/ +generated-docs/ +.psc-package/ +.psc* +.purs* +.psa* +.spago diff --git a/packages/purescript-nhost/spago.lock b/packages/purescript-nhost/spago.lock new file mode 100644 index 00000000..f9342eff --- /dev/null +++ b/packages/purescript-nhost/spago.lock @@ -0,0 +1,1459 @@ +{ + "workspace": { + "packages": { + "nhost": { + "path": "./", + "core": { + "dependencies": [ + "aff", + "codec-json", + "console", + "effect", + "fetch", + "js-uri", + "json", + "ordered-collections", + "prelude", + "web-file" + ], + "build_plan": [ + "aff", + "arraybuffer-types", + "arrays", + "bifunctors", + "codec", + "codec-json", + "console", + "const", + "contravariant", + "control", + "datetime", + "distributive", + "effect", + "either", + "enums", + "exceptions", + "exists", + "fetch", + "foldable-traversable", + "foreign", + "foreign-object", + "functions", + "functors", + "gen", + "http-methods", + "identity", + "integers", + "invariant", + "js-fetch", + "js-promise", + "js-promise-aff", + "js-uri", + "json", + "lazy", + "lists", + "maybe", + "media-types", + "newtype", + "nonempty", + "nullable", + "numbers", + "ordered-collections", + "orders", + "parallel", + "partial", + "prelude", + "profunctor", + "record", + "refs", + "safe-coerce", + "st", + "strings", + "tailrec", + "transformers", + "tuples", + "type-equality", + "typelevel-prelude", + "unfoldable", + "unsafe-coerce", + "variant", + "web-dom", + "web-events", + "web-file", + "web-streams" + ] + }, + "test": { + "dependencies": [], + "build_plan": [] + } + } + }, + "package_set": { + "address": { + "registry": "66.1.0" + }, + "compiler": ">=0.15.15 <0.16.0", + "content": { + "abc-parser": "2.0.1", + "ace": "9.1.0", + "address-rfc2821": "0.1.1", + "aff": "8.0.0", + "aff-bus": "6.0.0", + "aff-coroutines": "9.0.0", + "aff-promise": "4.0.0", + "aff-retry": "2.0.0", + "affjax": "13.0.0", + "affjax-node": "1.0.0", + "affjax-web": "1.0.0", + "ansi": "7.0.0", + "apexcharts": "0.5.0", + "applicative-phases": "1.0.0", + "argonaut": "9.0.0", + "argonaut-aeson-generic": "0.4.1", + "argonaut-codecs": "9.1.0", + "argonaut-core": "7.0.0", + "argonaut-generic": "8.0.0", + "argonaut-traversals": "10.0.0", + "argparse-basic": "2.0.0", + "array-builder": "0.1.2", + "array-search": "0.6.0", + "arraybuffer": "13.2.0", + "arraybuffer-builder": "3.1.0", + "arraybuffer-types": "3.0.2", + "arrays": "7.3.0", + "arrays-extra": "0.6.1", + "arrays-zipper": "2.0.1", + "ask": "1.0.0", + "assert": "6.0.0", + "assert-multiple": "0.4.0", + "avar": "5.0.1", + "axon": "0.0.3", + "b64": "0.0.8", + "barbies": "1.0.1", + "barlow-lens": "0.9.0", + "benchlib": "0.0.4", + "bifunctors": "6.1.0", + "bigints": "7.0.1", + "blessed": "1.0.0", + "bolson": "0.3.9", + "bookhound": "0.1.7", + "bower-json": "3.0.0", + "call-by-name": "4.0.1", + "canvas": "6.0.0", + "canvas-action": "9.0.0", + "cartesian": "1.0.6", + "catenable-lists": "7.0.0", + "cbor-stream": "1.3.0", + "chameleon": "1.0.0", + "chameleon-halogen": "1.0.3", + "chameleon-react-basic": "1.1.0", + "chameleon-styled": "2.5.0", + "chameleon-transformers": "1.0.0", + "channel": "1.0.0", + "checked-exceptions": "3.1.1", + "choku": "1.0.2", + "classless": "0.1.1", + "classless-arbitrary": "0.1.1", + "classless-decode-json": "0.1.1", + "classless-encode-json": "0.1.3", + "classnames": "2.0.0", + "codec": "6.1.0", + "codec-argonaut": "10.0.0", + "codec-json": "2.0.0", + "colors": "7.0.1", + "concur-core": "0.5.0", + "concur-react": "0.5.0", + "concurrent-queues": "3.0.0", + "console": "6.1.0", + "const": "6.0.0", + "contravariant": "6.0.0", + "control": "6.0.0", + "convertable-options": "1.0.0", + "coroutines": "7.0.0", + "css": "6.0.0", + "css-class-name-extractor": "0.0.4", + "css-frameworks": "1.0.1", + "csv-stream": "2.3.0", + "data-mvc": "0.0.2", + "datetime": "6.1.0", + "datetime-parsing": "0.2.0", + "debounce": "0.1.0", + "debug": "6.0.2", + "decimals": "7.1.0", + "default-values": "1.0.1", + "deku": "0.9.23", + "deno": "0.0.5", + "dissect": "1.0.0", + "distributive": "6.0.0", + "dodo-printer": "2.2.3", + "dom-filereader": "7.0.0", + "dom-indexed": "13.0.0", + "dom-simple": "0.4.0", + "dotenv": "4.0.3", + "droplet": "0.6.0", + "dts": "1.0.0", + "dual-numbers": "1.0.3", + "dynamic-buffer": "3.0.1", + "echarts-simple": "0.0.1", + "effect": "4.0.0", + "either": "6.1.0", + "elmish": "0.13.0", + "elmish-enzyme": "0.1.1", + "elmish-hooks": "0.10.3", + "elmish-html": "0.9.0", + "elmish-testing-library": "0.3.2", + "email-validate": "7.0.0", + "encoding": "0.0.9", + "enums": "6.0.1", + "env-names": "0.4.0", + "error": "2.0.0", + "eta-conversion": "0.3.2", + "exceptions": "6.1.0", + "exists": "6.0.0", + "exitcodes": "4.0.0", + "expect-inferred": "3.0.0", + "express": "0.9.1", + "ezfetch": "1.1.1", + "fahrtwind": "2.0.0", + "fakerjs": "0.0.1", + "fallback": "0.1.0", + "fast-vect": "1.2.0", + "fetch": "4.1.0", + "fetch-argonaut": "1.0.1", + "fetch-core": "5.1.0", + "fetch-yoga-json": "1.1.0", + "ffi-simple": "0.5.1", + "fft": "0.3.0", + "fft-js": "0.1.0", + "filterable": "5.0.0", + "fix-functor": "0.1.0", + "fixed-points": "7.0.0", + "fixed-precision": "5.0.0", + "flame": "1.4.0", + "float32": "2.0.0", + "fmt": "0.2.1", + "foldable-traversable": "6.0.0", + "foldable-traversable-extra": "0.0.6", + "foreign": "7.0.0", + "foreign-object": "4.1.0", + "foreign-readwrite": "3.4.0", + "forgetmenot": "0.1.0", + "fork": "6.0.0", + "form-urlencoded": "7.0.0", + "formatters": "7.0.0", + "framer-motion": "1.0.1", + "free": "7.1.0", + "freeap": "7.0.0", + "freer-free": "0.0.1", + "freet": "7.0.0", + "functions": "6.0.0", + "functor1": "3.0.0", + "functors": "5.0.0", + "fuzzy": "0.4.0", + "gen": "4.0.0", + "generate-values": "1.0.1", + "generic-router": "0.0.1", + "geojson": "0.0.5", + "geometria": "2.2.0", + "gesso": "1.0.0", + "gojs": "0.1.1", + "golem-fetch": "0.1.0", + "grain": "3.0.0", + "grain-router": "3.0.0", + "grain-virtualized": "3.0.0", + "graphs": "8.1.0", + "group": "4.1.1", + "halogen": "7.0.0", + "halogen-bootstrap5": "5.3.2", + "halogen-canvas": "1.0.0", + "halogen-css": "10.0.0", + "halogen-declarative-canvas": "0.0.8", + "halogen-echarts-simple": "0.0.4", + "halogen-formless": "4.0.3", + "halogen-helix": "1.1.0", + "halogen-hooks": "0.6.3", + "halogen-hooks-extra": "0.9.0", + "halogen-infinite-scroll": "1.1.0", + "halogen-store": "0.5.4", + "halogen-storybook": "2.0.0", + "halogen-subscriptions": "2.0.0", + "halogen-svg-elems": "8.0.0", + "halogen-typewriter": "1.0.4", + "halogen-use-trigger-hooks": "1.0.0", + "halogen-vdom": "8.0.0", + "halogen-vdom-string-renderer": "0.5.0", + "halogen-xterm": "2.0.0", + "heckin": "2.0.1", + "heterogeneous": "0.7.0", + "homogeneous": "0.4.0", + "http-methods": "6.0.0", + "httpurple": "4.0.0", + "huffman": "0.4.0", + "humdrum": "0.0.1", + "hyrule": "2.3.8", + "identity": "6.0.0", + "identy": "4.0.1", + "indexed-db": "1.0.0", + "indexed-monad": "3.0.0", + "int64": "3.0.0", + "integers": "6.0.0", + "interpolate": "5.0.2", + "intersection-observer": "1.0.1", + "invariant": "6.0.0", + "jarilo": "1.0.1", + "jelly": "0.10.0", + "jelly-router": "0.3.0", + "jelly-signal": "0.4.0", + "jest": "1.0.0", + "js-abort-controller": "1.0.0", + "js-bigints": "2.2.1", + "js-date": "8.0.0", + "js-fetch": "0.2.1", + "js-fileio": "3.0.0", + "js-intl": "1.1.4", + "js-iterators": "0.1.1", + "js-maps": "0.1.2", + "js-promise": "1.0.0", + "js-promise-aff": "1.0.0", + "js-timers": "6.1.0", + "js-uri": "3.1.0", + "jsdom": "1.0.0", + "json": "1.1.0", + "json-codecs": "5.0.0", + "justifill": "0.5.0", + "jwt": "0.0.9", + "labeled-data": "0.2.0", + "language-cst-parser": "0.14.1", + "lazy": "6.0.0", + "lazy-joe": "1.0.0", + "lcg": "4.0.0", + "leibniz": "5.0.0", + "leveldb": "1.0.1", + "liminal": "1.0.1", + "linalg": "6.0.0", + "lists": "7.0.0", + "literals": "1.0.2", + "logging": "3.0.0", + "logging-journald": "0.4.0", + "lumi-components": "18.0.0", + "machines": "7.0.0", + "maps-eager": "0.5.0", + "marionette": "1.0.0", + "marionette-react-basic-hooks": "0.1.1", + "marked": "0.1.0", + "matrices": "5.0.1", + "matryoshka": "1.0.0", + "maybe": "6.0.0", + "media-types": "6.0.0", + "meowclient": "1.0.0", + "midi": "4.0.0", + "milkis": "9.0.0", + "mimetype": "0.0.1", + "minibench": "4.0.1", + "mmorph": "7.0.0", + "monad-control": "5.0.0", + "monad-logger": "1.3.1", + "monad-loops": "0.5.0", + "monad-unlift": "1.0.1", + "monoid-extras": "0.0.1", + "monoidal": "0.16.0", + "morello": "0.4.0", + "mote": "3.0.0", + "motsunabe": "2.0.0", + "mvc": "0.0.1", + "mysql": "6.0.1", + "n3": "0.1.0", + "nano-id": "1.1.0", + "nanoid": "0.1.0", + "naturals": "3.0.0", + "nested-functor": "0.2.1", + "newtype": "5.0.0", + "nextjs": "0.1.1", + "nextui": "0.2.0", + "node-buffer": "9.0.0", + "node-child-process": "11.1.0", + "node-event-emitter": "3.0.0", + "node-execa": "5.0.0", + "node-fs": "9.2.0", + "node-glob-basic": "2.0.0", + "node-http": "9.1.0", + "node-http2": "1.1.1", + "node-human-signals": "1.0.0", + "node-net": "5.1.0", + "node-os": "5.1.0", + "node-path": "5.0.1", + "node-process": "11.2.0", + "node-readline": "8.1.1", + "node-sqlite3": "8.0.0", + "node-stream-pipes": "2.1.6", + "node-streams": "9.0.1", + "node-tls": "0.3.1", + "node-url": "7.0.1", + "node-workerbees": "0.3.1", + "node-zlib": "0.4.0", + "nonempty": "7.0.0", + "now": "6.0.0", + "npm-package-json": "2.0.0", + "nullable": "6.0.0", + "numberfield": "0.2.2", + "numbers": "9.0.1", + "oak": "3.1.1", + "oak-debug": "1.2.2", + "object-maps": "0.3.0", + "ocarina": "1.5.4", + "oooooooooorrrrrrrmm-lib": "0.0.1", + "open-colors-scales-and-schemes": "1.0.0", + "open-folds": "6.4.0", + "open-foreign-generic": "11.0.3", + "open-memoize": "6.2.0", + "open-mkdirp-aff": "1.2.0", + "open-pairing": "6.2.0", + "open-smolder": "12.0.2", + "options": "7.0.0", + "optparse": "5.0.1", + "ordered-collections": "3.2.0", + "ordered-set": "0.4.0", + "orders": "6.0.0", + "org-doc": "0.1.0", + "owoify": "1.2.0", + "pairs": "9.0.1", + "parallel": "7.0.0", + "parsing": "10.3.0", + "parsing-dataview": "3.2.4", + "partial": "4.0.0", + "pathy": "9.0.0", + "pha": "0.13.0", + "phaser": "0.7.0", + "phylio": "1.1.2", + "pipes": "8.0.0", + "pirates-charm": "0.0.1", + "play": "0.1.0", + "pmock": "0.9.0", + "point-free": "1.0.0", + "pointed-list": "0.5.1", + "polymorphic-vectors": "4.0.0", + "posix-types": "6.0.0", + "postgresql": "2.0.20", + "precise": "6.0.0", + "precise-datetime": "7.0.0", + "prelude": "6.0.2", + "prettier-printer": "3.0.0", + "printf": "0.1.0", + "priority-queue": "0.1.2", + "profunctor": "6.0.1", + "profunctor-lenses": "8.0.0", + "protobuf": "4.4.0", + "psa-utils": "8.0.0", + "psci-support": "6.0.0", + "punycode": "1.0.0", + "qualified-do": "2.2.0", + "quantities": "12.2.0", + "quickcheck": "8.0.1", + "quickcheck-combinators": "0.1.3", + "quickcheck-laws": "7.0.0", + "quickcheck-utf8": "0.0.0", + "random": "6.0.0", + "rationals": "6.0.0", + "rdf": "0.1.0", + "react": "11.0.0", + "react-aria": "0.2.0", + "react-basic": "17.0.0", + "react-basic-classic": "3.0.0", + "react-basic-dnd": "10.1.0", + "react-basic-dom": "7.0.0", + "react-basic-dom-beta": "0.1.1", + "react-basic-emotion": "7.1.0", + "react-basic-hooks": "8.2.0", + "react-basic-storybook": "2.0.0", + "react-dom": "8.0.0", + "react-halo": "3.0.0", + "react-icons": "1.1.5", + "react-markdown": "0.1.0", + "react-testing-library": "4.0.1", + "react-virtuoso": "1.0.0", + "reactix": "0.6.1", + "read": "1.0.1", + "recharts": "1.1.0", + "record": "4.0.0", + "record-extra": "5.0.1", + "record-extra-srghma": "0.2.8", + "record-ptional-fields": "0.1.2", + "record-studio": "1.0.4", + "refs": "6.0.0", + "remotedata": "5.0.1", + "repr": "0.5.0", + "resize-arrays": "0.0.1", + "resize-observer": "1.0.0", + "resource": "2.0.1", + "resourcet": "1.0.0", + "result": "1.0.3", + "return": "0.2.0", + "ring-modules": "5.0.1", + "rito": "0.3.4", + "roman": "0.4.0", + "rough-notation": "1.0.2", + "routing": "11.0.0", + "routing-duplex": "0.7.0", + "run": "5.0.0", + "safe-coerce": "2.0.0", + "safely": "4.0.1", + "school-of-music": "1.3.0", + "selection-foldable": "0.2.0", + "selective-functors": "1.0.1", + "semirings": "7.0.0", + "shuffle": "1.1.0", + "signal": "13.0.0", + "simple-emitter": "3.0.1", + "simple-i18n": "2.0.1", + "simple-json": "9.0.0", + "simple-json-generics": "0.2.1", + "simple-ulid": "3.0.0", + "sized-matrices": "1.0.0", + "sized-vectors": "5.0.2", + "slug": "3.1.0", + "small-ffi": "4.0.1", + "soundfonts": "4.1.0", + "sparse-matrices": "2.0.1", + "sparse-polynomials": "3.0.1", + "spec": "8.1.1", + "spec-discovery": "8.4.0", + "spec-mocha": "5.1.1", + "spec-node": "0.0.3", + "spec-quickcheck": "5.0.2", + "spec-reporter-xunit": "0.7.1", + "splitmix": "2.1.0", + "ssrs": "1.0.0", + "st": "6.2.0", + "statistics": "0.3.2", + "strictlypositiveint": "1.0.1", + "string-parsers": "8.0.0", + "strings": "6.0.1", + "strings-extra": "4.0.0", + "stringutils": "0.0.12", + "substitute": "0.2.3", + "supply": "0.2.0", + "svg-parser": "3.0.0", + "systemd-journald": "0.3.0", + "tagged": "4.0.2", + "tailrec": "6.1.0", + "tanstack-query": "2.0.0", + "tecton": "0.2.1", + "tecton-halogen": "0.2.0", + "test-unit": "17.0.0", + "text-formatting": "0.1.0", + "thermite": "6.3.1", + "thermite-dom": "0.3.1", + "these": "6.0.0", + "threading": "0.0.3", + "tidy": "0.11.1", + "tidy-codegen": "4.0.1", + "tldr": "0.0.0", + "toestand": "0.9.0", + "transformation-matrix": "1.0.1", + "transformers": "6.1.0", + "tree-rose": "4.0.2", + "trivial-unfold": "0.5.0", + "ts-bridge": "4.0.0", + "tuples": "7.0.0", + "two-or-more": "1.0.0", + "type-equality": "4.0.1", + "typedenv": "2.0.1", + "typelevel": "6.0.0", + "typelevel-lists": "2.1.0", + "typelevel-peano": "1.0.1", + "typelevel-prelude": "7.0.0", + "typelevel-regex": "0.0.3", + "typelevel-rows": "0.1.0", + "typisch": "0.4.0", + "uint": "7.0.0", + "ulid": "3.0.1", + "uncurried-transformers": "1.1.0", + "undefined": "2.0.0", + "undefined-is-not-a-problem": "1.1.0", + "unfoldable": "6.0.0", + "unicode": "6.0.0", + "unique": "0.6.1", + "unlift": "1.0.1", + "unordered-collections": "3.1.0", + "unsafe-coerce": "6.0.0", + "unsafe-reference": "5.0.0", + "untagged-to-tagged": "0.1.4", + "untagged-union": "1.0.0", + "uri": "9.0.0", + "url-immutable": "1.0.0", + "url-regex-safe": "0.1.1", + "uuid": "9.0.0", + "uuidv4": "1.0.0", + "validation": "6.0.0", + "variant": "8.0.0", + "variant-encodings": "2.0.0", + "variant-gen": "1.0.0", + "vectorfield": "1.0.1", + "vectors": "2.1.0", + "versions": "7.0.0", + "visx": "0.0.2", + "vitest": "1.0.0", + "web-clipboard": "6.0.0", + "web-cssom": "2.0.0", + "web-cssom-view": "0.1.0", + "web-dom": "6.0.0", + "web-dom-parser": "8.0.0", + "web-dom-xpath": "3.0.0", + "web-encoding": "3.0.0", + "web-events": "4.0.0", + "web-fetch": "4.0.1", + "web-file": "4.0.0", + "web-geometry": "0.1.0", + "web-html": "4.1.0", + "web-pointerevents": "2.0.0", + "web-proletarian": "1.0.0", + "web-promise": "3.2.0", + "web-resize-observer": "2.1.0", + "web-router": "1.0.0", + "web-socket": "4.0.0", + "web-storage": "5.0.0", + "web-streams": "4.0.0", + "web-touchevents": "4.0.0", + "web-uievents": "5.0.0", + "web-url": "2.0.0", + "web-workers": "1.1.0", + "web-xhr": "5.0.1", + "webextension-polyfill": "0.1.0", + "webgpu": "0.0.1", + "which": "2.0.0", + "whine-core": "0.0.32", + "xterm": "1.0.0", + "yoga-fetch": "1.0.1", + "yoga-json": "5.1.0", + "yoga-om": "0.1.0", + "yoga-postgres": "6.0.0", + "yoga-react-dom": "1.0.1", + "yoga-subtlecrypto": "0.1.0", + "yoga-tree": "1.0.0", + "yoga-tree-svg": "0.1.0", + "yoga-tree-utils": "1.0.0", + "z3": "0.0.2", + "zipperarray": "2.0.0" + } + }, + "extra_packages": {} + }, + "packages": { + "aff": { + "type": "registry", + "version": "8.0.0", + "integrity": "sha256-5MmdI4+0RHBtSBy+YlU3/Cq4R5W2ih3OaRedJIrVHdk=", + "dependencies": [ + "bifunctors", + "control", + "datetime", + "effect", + "either", + "exceptions", + "foldable-traversable", + "functions", + "maybe", + "newtype", + "parallel", + "prelude", + "refs", + "tailrec", + "transformers", + "unsafe-coerce" + ] + }, + "arraybuffer-types": { + "type": "registry", + "version": "3.0.2", + "integrity": "sha256-mQKokysYVkooS4uXbO+yovmV/s8b138Ws3zQvOwIHRA=", + "dependencies": [] + }, + "arrays": { + "type": "registry", + "version": "7.3.0", + "integrity": "sha256-tmcklBlc/muUtUfr9RapdCPwnlQeB3aSrC4dK85gQlc=", + "dependencies": [ + "bifunctors", + "control", + "foldable-traversable", + "functions", + "maybe", + "nonempty", + "partial", + "prelude", + "safe-coerce", + "st", + "tailrec", + "tuples", + "unfoldable", + "unsafe-coerce" + ] + }, + "bifunctors": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-6enQzl1vqnFTQZ1WX9BnoOOVdPGO9WZvVXldHckVQvY=", + "dependencies": [ + "const", + "either", + "newtype", + "prelude", + "tuples" + ] + }, + "codec": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-6vMLNlsJxQarVQ9cn1FYfl5x6opfzxAza15SzRdxFxQ=", + "dependencies": [ + "bifunctors", + "profunctor" + ] + }, + "codec-json": { + "type": "registry", + "version": "2.0.0", + "integrity": "sha256-NLm5BmDZKKexQwtnoZ/NI4yI16srsqIe0M7NdlqB96U=", + "dependencies": [ + "codec", + "foreign-object", + "json", + "ordered-collections", + "transformers", + "type-equality", + "variant" + ] + }, + "console": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-CxmAzjgyuGDmt9FZW51VhV6rBPwR6o0YeKUzA9rSzcM=", + "dependencies": [ + "effect", + "prelude" + ] + }, + "const": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-tNrxDW8D8H4jdHE2HiPzpLy08zkzJMmGHdRqt5BQuTc=", + "dependencies": [ + "invariant", + "newtype", + "prelude" + ] + }, + "contravariant": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-TP+ooAp3vvmdjfQsQJSichF5B4BPDHp3wAJoWchip6c=", + "dependencies": [ + "const", + "either", + "newtype", + "prelude", + "tuples" + ] + }, + "control": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-sH7Pg9E96JCPF9PIA6oQ8+BjTyO/BH1ZuE/bOcyj4Jk=", + "dependencies": [ + "newtype", + "prelude" + ] + }, + "datetime": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-g/5X5BBegQWLpI9IWD+sY6mcaYpzzlW5lz5NBzaMtyI=", + "dependencies": [ + "bifunctors", + "control", + "either", + "enums", + "foldable-traversable", + "functions", + "gen", + "integers", + "lists", + "maybe", + "newtype", + "numbers", + "ordered-collections", + "partial", + "prelude", + "tuples" + ] + }, + "distributive": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-HTDdmEnzigMl+02SJB88j+gAXDx9VKsbvR4MJGDPbOQ=", + "dependencies": [ + "identity", + "newtype", + "prelude", + "tuples", + "type-equality" + ] + }, + "effect": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-eBtZu+HZcMa5HilvI6kaDyVX3ji8p0W9MGKy2K4T6+M=", + "dependencies": [ + "prelude" + ] + }, + "either": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-6hgTPisnMWVwQivOu2PKYcH8uqjEOOqDyaDQVUchTpY=", + "dependencies": [ + "control", + "invariant", + "maybe", + "prelude" + ] + }, + "enums": { + "type": "registry", + "version": "6.0.1", + "integrity": "sha256-HWaD73JFLorc4A6trKIRUeDMdzE+GpkJaEOM1nTNkC8=", + "dependencies": [ + "control", + "either", + "gen", + "maybe", + "newtype", + "nonempty", + "partial", + "prelude", + "tuples", + "unfoldable" + ] + }, + "exceptions": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-K0T89IHtF3vBY7eSAO7eDOqSb2J9kZGAcDN5+IKsF8E=", + "dependencies": [ + "effect", + "either", + "maybe", + "prelude" + ] + }, + "exists": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-A0JQHpTfo1dNOj9U5/Fd3xndlRSE0g2IQWOGor2yXn8=", + "dependencies": [ + "unsafe-coerce" + ] + }, + "fetch": { + "type": "registry", + "version": "4.1.0", + "integrity": "sha256-zCwBUkRL9n6nUhK1+7UqqsuxswPFATsZfGSBOA3NYYY=", + "dependencies": [ + "aff", + "arraybuffer-types", + "bifunctors", + "effect", + "either", + "foreign", + "http-methods", + "js-fetch", + "js-promise", + "js-promise-aff", + "maybe", + "newtype", + "ordered-collections", + "prelude", + "record", + "strings", + "typelevel-prelude", + "web-file", + "web-streams" + ] + }, + "foldable-traversable": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-fLeqRYM4jUrZD5H4WqcwUgzU7XfYkzO4zhgtNc3jcWM=", + "dependencies": [ + "bifunctors", + "const", + "control", + "either", + "functors", + "identity", + "maybe", + "newtype", + "orders", + "prelude", + "tuples" + ] + }, + "foreign": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-1ORiqoS3HW+qfwSZAppHPWy4/6AQysxZ2t29jcdUMNA=", + "dependencies": [ + "either", + "functions", + "identity", + "integers", + "lists", + "maybe", + "prelude", + "strings", + "transformers" + ] + }, + "foreign-object": { + "type": "registry", + "version": "4.1.0", + "integrity": "sha256-q24okj6mT+yGHYQ+ei/pYPj5ih6sTbu7eDv/WU56JVo=", + "dependencies": [ + "arrays", + "foldable-traversable", + "functions", + "gen", + "lists", + "maybe", + "prelude", + "st", + "tailrec", + "tuples", + "typelevel-prelude", + "unfoldable" + ] + }, + "functions": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-adMyJNEnhGde2unHHAP79gPtlNjNqzgLB8arEOn9hLI=", + "dependencies": [ + "prelude" + ] + }, + "functors": { + "type": "registry", + "version": "5.0.0", + "integrity": "sha256-zfPWWYisbD84MqwpJSZFlvM6v86McM68ob8p9s27ywU=", + "dependencies": [ + "bifunctors", + "const", + "contravariant", + "control", + "distributive", + "either", + "invariant", + "maybe", + "newtype", + "prelude", + "profunctor", + "tuples", + "unsafe-coerce" + ] + }, + "gen": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-f7yzAXWwr+xnaqEOcvyO3ezKdoes8+WXWdXIHDBCAPI=", + "dependencies": [ + "either", + "foldable-traversable", + "identity", + "maybe", + "newtype", + "nonempty", + "prelude", + "tailrec", + "tuples", + "unfoldable" + ] + }, + "http-methods": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-Orr7rbDGcp7qoqmUMXPRMjBx+C4jqOQcFe9+gE3nMgU=", + "dependencies": [ + "either", + "prelude", + "strings" + ] + }, + "identity": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-4wY0XZbAksjY6UAg99WkuKyJlQlWAfTi2ssadH0wVMY=", + "dependencies": [ + "control", + "invariant", + "newtype", + "prelude" + ] + }, + "integers": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-sf+sK26R1hzwl3NhXR7WAu9zCDjQnfoXwcyGoseX158=", + "dependencies": [ + "maybe", + "numbers", + "prelude" + ] + }, + "invariant": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-RGWWyYrz0Hs1KjPDA+87Kia67ZFBhfJ5lMGOMCEFoLo=", + "dependencies": [ + "control", + "prelude" + ] + }, + "js-fetch": { + "type": "registry", + "version": "0.2.1", + "integrity": "sha256-zQaVi9wFWku1SsWmdR11kRpOb+wxkNWR49cn928ucjw=", + "dependencies": [ + "arraybuffer-types", + "arrays", + "effect", + "foldable-traversable", + "foreign", + "foreign-object", + "functions", + "http-methods", + "js-promise", + "maybe", + "newtype", + "prelude", + "record", + "tuples", + "typelevel-prelude", + "unfoldable", + "web-file", + "web-streams" + ] + }, + "js-promise": { + "type": "registry", + "version": "1.0.0", + "integrity": "sha256-kXNo5g9RJgPdrTuKRe5oG2kBIwPp+j5VDPDplqZBJzQ=", + "dependencies": [ + "effect", + "exceptions", + "foldable-traversable", + "functions", + "maybe", + "prelude" + ] + }, + "js-promise-aff": { + "type": "registry", + "version": "1.0.0", + "integrity": "sha256-s9kml9Ei74hKlMMg41yyZp4GkbmYUwaH+gBWWrdhwec=", + "dependencies": [ + "aff", + "foreign", + "js-promise" + ] + }, + "js-uri": { + "type": "registry", + "version": "3.1.0", + "integrity": "sha256-3p0ynHveCJmC2CXze+eMBdW/2l5e953Q8XMAKz+jxUo=", + "dependencies": [ + "functions", + "maybe" + ] + }, + "json": { + "type": "registry", + "version": "1.1.0", + "integrity": "sha256-LuN8PyX/gvRR4/7X7M9P+zL7BKbv34NcUE/7MILXQSA=", + "dependencies": [ + "either", + "foldable-traversable", + "functions", + "gen", + "integers", + "maybe", + "prelude", + "strings", + "tuples", + "unfoldable" + ] + }, + "lazy": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-lMsfFOnlqfe4KzRRiW8ot5ge6HtcU3Eyh2XkXcP5IgU=", + "dependencies": [ + "control", + "foldable-traversable", + "invariant", + "prelude" + ] + }, + "lists": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-EKF15qYqucuXP2lT/xPxhqy58f0FFT6KHdIB/yBOayI=", + "dependencies": [ + "bifunctors", + "control", + "foldable-traversable", + "lazy", + "maybe", + "newtype", + "nonempty", + "partial", + "prelude", + "tailrec", + "tuples", + "unfoldable" + ] + }, + "maybe": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-5cCIb0wPwbat2PRkQhUeZO0jcAmf8jCt2qE0wbC3v2Q=", + "dependencies": [ + "control", + "invariant", + "newtype", + "prelude" + ] + }, + "media-types": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-n/4FoGBasbVSYscGVRSyBunQ6CZbL3jsYL+Lp01mc9k=", + "dependencies": [ + "newtype", + "prelude" + ] + }, + "newtype": { + "type": "registry", + "version": "5.0.0", + "integrity": "sha256-gdrQu8oGe9eZE6L3wOI8ql/igOg+zEGB5ITh2g+uttw=", + "dependencies": [ + "prelude", + "safe-coerce" + ] + }, + "nonempty": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-54ablJZUHGvvlTJzi3oXyPCuvY6zsrWJuH/dMJ/MFLs=", + "dependencies": [ + "control", + "foldable-traversable", + "maybe", + "prelude", + "tuples", + "unfoldable" + ] + }, + "nullable": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-yiGBVl3AD+Guy4kNWWeN+zl1gCiJK+oeIFtZtPCw4+o=", + "dependencies": [ + "effect", + "functions", + "maybe" + ] + }, + "numbers": { + "type": "registry", + "version": "9.0.1", + "integrity": "sha256-/9M6aeMDBdB4cwYDeJvLFprAHZ49EbtKQLIJsneXLIk=", + "dependencies": [ + "functions", + "maybe" + ] + }, + "ordered-collections": { + "type": "registry", + "version": "3.2.0", + "integrity": "sha256-o9jqsj5rpJmMdoe/zyufWHFjYYFTTsJpgcuCnqCO6PM=", + "dependencies": [ + "arrays", + "foldable-traversable", + "gen", + "lists", + "maybe", + "partial", + "prelude", + "st", + "tailrec", + "tuples", + "unfoldable" + ] + }, + "orders": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-nBA0g3/ai0euH8q9pSbGqk53W2q6agm/dECZTHcoink=", + "dependencies": [ + "newtype", + "prelude" + ] + }, + "parallel": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-gUC9i4Txnx9K9RcMLsjujbwZz6BB1bnE2MLvw4GIw5o=", + "dependencies": [ + "control", + "effect", + "either", + "foldable-traversable", + "functors", + "maybe", + "newtype", + "prelude", + "profunctor", + "refs", + "transformers" + ] + }, + "partial": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-fwXerld6Xw1VkReh8yeQsdtLVrjfGiVuC5bA1Wyo/J4=", + "dependencies": [] + }, + "prelude": { + "type": "registry", + "version": "6.0.2", + "integrity": "sha256-kiAPZxihtAel8uRiTNdccf4qylp/9J3jNkEHNAD0MsE=", + "dependencies": [] + }, + "profunctor": { + "type": "registry", + "version": "6.0.1", + "integrity": "sha256-E58hSYdJvF2Qjf9dnWLPlJKh2Z2fLfFLkQoYi16vsFk=", + "dependencies": [ + "control", + "distributive", + "either", + "exists", + "invariant", + "newtype", + "prelude", + "tuples" + ] + }, + "record": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-Za5U85bTRJEfGK5Sk4hM41oXy84YQI0I8TL3WUn1Qzg=", + "dependencies": [ + "functions", + "prelude", + "unsafe-coerce" + ] + }, + "refs": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-Vgwne7jIbD3ZMoLNNETLT8Litw6lIYo3MfYNdtYWj9s=", + "dependencies": [ + "effect", + "prelude" + ] + }, + "safe-coerce": { + "type": "registry", + "version": "2.0.0", + "integrity": "sha256-a1ibQkiUcbODbLE/WAq7Ttbbh9ex+x33VCQ7GngKudU=", + "dependencies": [ + "unsafe-coerce" + ] + }, + "st": { + "type": "registry", + "version": "6.2.0", + "integrity": "sha256-z9X0WsOUlPwNx9GlCC+YccCyz8MejC8Wb0C4+9fiBRY=", + "dependencies": [ + "partial", + "prelude", + "tailrec", + "unsafe-coerce" + ] + }, + "strings": { + "type": "registry", + "version": "6.0.1", + "integrity": "sha256-WssD3DbX4OPzxSdjvRMX0yvc9+pS7n5gyPv5I2Trb7k=", + "dependencies": [ + "arrays", + "control", + "either", + "enums", + "foldable-traversable", + "gen", + "integers", + "maybe", + "newtype", + "nonempty", + "partial", + "prelude", + "tailrec", + "tuples", + "unfoldable", + "unsafe-coerce" + ] + }, + "tailrec": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-Xx19ECVDRrDWpz9D2GxQHHV89vd61dnXxQm0IcYQHGk=", + "dependencies": [ + "bifunctors", + "effect", + "either", + "identity", + "maybe", + "partial", + "prelude", + "refs" + ] + }, + "transformers": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-3Bm+Z6tsC/paG888XkywDngJ2JMos+JfOhRlkVfb7gI=", + "dependencies": [ + "control", + "distributive", + "effect", + "either", + "exceptions", + "foldable-traversable", + "identity", + "lazy", + "maybe", + "newtype", + "prelude", + "st", + "tailrec", + "tuples", + "unfoldable" + ] + }, + "tuples": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-1rXgTomes9105BjgXqIw0FL6Fz1lqqUTLWOumhWec1M=", + "dependencies": [ + "control", + "invariant", + "prelude" + ] + }, + "type-equality": { + "type": "registry", + "version": "4.0.1", + "integrity": "sha256-Hs9D6Y71zFi/b+qu5NSbuadUQXe5iv5iWx0226vOHUw=", + "dependencies": [] + }, + "typelevel-prelude": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-uFF2ph+vHcQpfPuPf2a3ukJDFmLhApmkpTMviHIWgJM=", + "dependencies": [ + "prelude", + "type-equality" + ] + }, + "unfoldable": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-JtikvJdktRap7vr/K4ITlxUX1QexpnqBq0G/InLr6eg=", + "dependencies": [ + "foldable-traversable", + "maybe", + "partial", + "prelude", + "tuples" + ] + }, + "unsafe-coerce": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-IqIYW4Vkevn8sI+6aUwRGvd87tVL36BBeOr0cGAE7t0=", + "dependencies": [] + }, + "variant": { + "type": "registry", + "version": "8.0.0", + "integrity": "sha256-SR//zQDg2dnbB8ZHslcxieUkCeNlbMToapvmh9onTtw=", + "dependencies": [ + "enums", + "lists", + "maybe", + "partial", + "prelude", + "record", + "tuples", + "unsafe-coerce" + ] + }, + "web-dom": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-1kSKWFDI4LupdmpjK01b1MMxDFW7jvatEgPgVmCmSBQ=", + "dependencies": [ + "web-events" + ] + }, + "web-events": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-YDt8b6u1tzGtnWyNRodne57iO8FNSGPaTCVzBUyUn4k=", + "dependencies": [ + "datetime", + "enums", + "foreign", + "nullable" + ] + }, + "web-file": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-1h5jPBkvjY71jLEdwVadXCx86/2inNoMBO//Rd3eCSU=", + "dependencies": [ + "foreign", + "media-types", + "web-dom" + ] + }, + "web-streams": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-02HgXIk6R+pU9fWOX42krukAI1QkCbLKcCv3b4Jq6WI=", + "dependencies": [ + "arraybuffer-types", + "effect", + "exceptions", + "js-promise", + "nullable", + "prelude", + "tuples" + ] + } + } +} diff --git a/packages/purescript-nhost/spago.yaml b/packages/purescript-nhost/spago.yaml new file mode 100644 index 00000000..8403eccc --- /dev/null +++ b/packages/purescript-nhost/spago.yaml @@ -0,0 +1,23 @@ +package: + name: nhost + dependencies: + - console + - effect + - prelude + - web-file + - aff + - json + - codec-json + - fetch + - js-uri + - ordered-collections + # - affjax + # - argonaut-core + # - argonaut-codecs + test: + main: Test.Main + dependencies: [] +workspace: + packageSet: + registry: 66.1.0 + extraPackages: {} diff --git a/packages/purescript-nhost/src/Nhost/Auth/Client.purs b/packages/purescript-nhost/src/Nhost/Auth/Client.purs new file mode 100644 index 00000000..91d5b41a --- /dev/null +++ b/packages/purescript-nhost/src/Nhost/Auth/Client.purs @@ -0,0 +1,2216 @@ +-- | This file is auto-generated. Do not edit manually. +module Nhost.Auth.Client where + +import Prelude + +import Data.Generic.Rep (class Generic) +import Data.Show.Generic (genericShow) +import Data.Maybe (Maybe(..)) +import Effect.Aff (Aff) +import JSON as J +import Data.Codec.JSON.Common as CJ +import Data.Codec.JSON.Record as CJR +import Data.Newtype (class Newtype, unwrap, wrap) +import Data.Profunctor (dimap) + +-- | The attestation statement format +data AttestationFormat + = AttestationFormat_Packed + | AttestationFormat_Tpm + | AttestationFormat_AndroidKey + | AttestationFormat_AndroidSafetynet + | AttestationFormat_FidoU2f + | AttestationFormat_Apple + | AttestationFormat_None + +derive instance genericAttestationFormat :: Generic AttestationFormat _ +derive instance eqAttestationFormat :: Eq AttestationFormat +derive instance ordAttestationFormat :: Ord AttestationFormat + +instance showAttestationFormat :: Show AttestationFormat where + show = genericShow + +-- Extract dec / enc to top-level +attestationFormat_dec :: String -> Maybe AttestationFormat +attestationFormat_dec = case _ of + "packed" -> Just AttestationFormat_Packed + "tpm" -> Just AttestationFormat_Tpm + "android-key" -> Just AttestationFormat_AndroidKey + "android-safetynet" -> Just AttestationFormat_AndroidSafetynet + "fido-u2f" -> Just AttestationFormat_FidoU2f + "apple" -> Just AttestationFormat_Apple + "none" -> Just AttestationFormat_None + _ -> Nothing + +attestationFormat_enc :: AttestationFormat -> String +attestationFormat_enc = case _ of + AttestationFormat_Packed -> "packed" + AttestationFormat_Tpm -> "tpm" + AttestationFormat_AndroidKey -> "android-key" + AttestationFormat_AndroidSafetynet -> "android-safetynet" + AttestationFormat_FidoU2f -> "fido-u2f" + AttestationFormat_Apple -> "apple" + AttestationFormat_None -> "none" + +attestationFormatCodec :: CJ.Codec AttestationFormat +attestationFormatCodec = CJ.prismaticCodec "AttestationFormat" attestationFormat_dec attestationFormat_enc CJ.string + +-- | Map of extension outputs from the client +-- | +-- | * `Appid` (Optional): `Maybe Boolean` - Application identifier extension output +-- | * `CredProps` (Optional): `Maybe CredentialPropertiesOutput` - Credential properties extension output +-- | * `HmacCreateSecret` (Optional): `Maybe Boolean` - HMAC secret extension output +type AuthenticationExtensionsClientOutputs = + { "appid" :: Maybe Boolean -- Application identifier extension output + , "credProps" :: Maybe CredentialPropertiesOutput -- Credential properties extension output + , "hmacCreateSecret" :: Maybe Boolean -- HMAC secret extension output + } + +authenticationExtensionsClientOutputsCodec :: CJ.Codec AuthenticationExtensionsClientOutputs +authenticationExtensionsClientOutputsCodec = + CJR.objectStrict + { "appid": CJR.optional CJ.boolean + , "credProps": CJR.optional credentialPropertiesOutputCodec + , "hmacCreateSecret": CJR.optional CJ.boolean + } + +-- | +-- | * `ClientDataJSON`: `String` - Base64url encoded client data JSON +-- | * `AuthenticatorData`: `String` - Base64url encoded authenticator data +-- | * `Signature`: `String` - Base64url encoded assertion signature +-- | * `UserHandle` (Optional): `Maybe String` - Base64url encoded user handle +type AuthenticatorAssertionResponse = + { "clientDataJSON" :: String -- Base64url encoded client data JSON + , "authenticatorData" :: String -- Base64url encoded authenticator data + , "signature" :: String -- Base64url encoded assertion signature + , "userHandle" :: Maybe String -- Base64url encoded user handle + } + +authenticatorAssertionResponseCodec :: CJ.Codec AuthenticatorAssertionResponse +authenticatorAssertionResponseCodec = + CJR.objectStrict + { "clientDataJSON": CJ.string + , "authenticatorData": CJ.string + , "signature": CJ.string + , "userHandle": CJR.optional CJ.string + } + +-- | The authenticator attachment modality +data AuthenticatorAttachment + = AuthenticatorAttachment_Platform + | AuthenticatorAttachment_CrossPlatform + +derive instance genericAuthenticatorAttachment :: Generic AuthenticatorAttachment _ +derive instance eqAuthenticatorAttachment :: Eq AuthenticatorAttachment +derive instance ordAuthenticatorAttachment :: Ord AuthenticatorAttachment + +instance showAuthenticatorAttachment :: Show AuthenticatorAttachment where + show = genericShow + +-- Extract dec / enc to top-level +authenticatorAttachment_dec :: String -> Maybe AuthenticatorAttachment +authenticatorAttachment_dec = case _ of + "platform" -> Just AuthenticatorAttachment_Platform + "cross-platform" -> Just AuthenticatorAttachment_CrossPlatform + _ -> Nothing + +authenticatorAttachment_enc :: AuthenticatorAttachment -> String +authenticatorAttachment_enc = case _ of + AuthenticatorAttachment_Platform -> "platform" + AuthenticatorAttachment_CrossPlatform -> "cross-platform" + +authenticatorAttachmentCodec :: CJ.Codec AuthenticatorAttachment +authenticatorAttachmentCodec = CJ.prismaticCodec "AuthenticatorAttachment" authenticatorAttachment_dec authenticatorAttachment_enc CJ.string + +-- | +-- | * `ClientDataJSON`: `String` - Base64url-encoded binary data +-- | * `Transports` (Optional): `Maybe (Array String)` - The authenticator transports +-- | * `AuthenticatorData` (Optional): `Maybe String` - Base64url-encoded binary data +-- | * `PublicKey` (Optional): `Maybe String` - Base64url-encoded binary data +-- | * `PublicKeyAlgorithm` (Optional): `Maybe Int` - The public key algorithm identifier +-- | * `AttestationObject`: `String` - Base64url-encoded binary data +type AuthenticatorAttestationResponse = + { "clientDataJSON" :: String -- Base64url-encoded binary data + , "transports" :: Maybe (Array String) -- The authenticator transports + , "authenticatorData" :: Maybe String -- Base64url-encoded binary data + , "publicKey" :: Maybe String -- Base64url-encoded binary data + , "publicKeyAlgorithm" :: Maybe Int -- The public key algorithm identifier + , "attestationObject" :: String -- Base64url-encoded binary data + } + +authenticatorAttestationResponseCodec :: CJ.Codec AuthenticatorAttestationResponse +authenticatorAttestationResponseCodec = + CJR.objectStrict + { "clientDataJSON": CJ.string + , "transports": CJR.optional (CJ.array CJ.string) + , "authenticatorData": CJR.optional CJ.string + , "publicKey": CJR.optional CJ.string + , "publicKeyAlgorithm": CJR.optional CJ.int + , "attestationObject": CJ.string + } + +-- | +-- | * `AuthenticatorAttachment` (Optional): `Maybe AuthenticatorAttachment` - The authenticator attachment modality +-- | * `RequireResidentKey` (Optional): `Maybe Boolean` - Whether the authenticator must create a client-side-resident public key credential source +-- | * `ResidentKey` (Optional): `Maybe ResidentKeyRequirement` - The resident key requirement +-- | * `UserVerification` (Optional): `Maybe UserVerificationRequirement` - A requirement for user verification for the operation +type AuthenticatorSelection = + { "authenticatorAttachment" :: Maybe AuthenticatorAttachment -- The authenticator attachment modality + , "requireResidentKey" :: Maybe Boolean -- Whether the authenticator must create a client-side-resident public key credential source + , "residentKey" :: Maybe ResidentKeyRequirement -- The resident key requirement + , "userVerification" :: Maybe UserVerificationRequirement -- A requirement for user verification for the operation + } + +authenticatorSelectionCodec :: CJ.Codec AuthenticatorSelection +authenticatorSelectionCodec = + CJR.objectStrict + { "authenticatorAttachment": CJR.optional authenticatorAttachmentCodec + , "requireResidentKey": CJR.optional CJ.boolean + , "residentKey": CJR.optional residentKeyRequirementCodec + , "userVerification": CJR.optional userVerificationRequirementCodec + } + +-- | The authenticator transports that can be used +data AuthenticatorTransport + = AuthenticatorTransport_Usb + | AuthenticatorTransport_Nfc + | AuthenticatorTransport_Ble + | AuthenticatorTransport_SmartCard + | AuthenticatorTransport_Hybrid + | AuthenticatorTransport_Internal + +derive instance genericAuthenticatorTransport :: Generic AuthenticatorTransport _ +derive instance eqAuthenticatorTransport :: Eq AuthenticatorTransport +derive instance ordAuthenticatorTransport :: Ord AuthenticatorTransport + +instance showAuthenticatorTransport :: Show AuthenticatorTransport where + show = genericShow + +-- Extract dec / enc to top-level +authenticatorTransport_dec :: String -> Maybe AuthenticatorTransport +authenticatorTransport_dec = case _ of + "usb" -> Just AuthenticatorTransport_Usb + "nfc" -> Just AuthenticatorTransport_Nfc + "ble" -> Just AuthenticatorTransport_Ble + "smart-card" -> Just AuthenticatorTransport_SmartCard + "hybrid" -> Just AuthenticatorTransport_Hybrid + "internal" -> Just AuthenticatorTransport_Internal + _ -> Nothing + +authenticatorTransport_enc :: AuthenticatorTransport -> String +authenticatorTransport_enc = case _ of + AuthenticatorTransport_Usb -> "usb" + AuthenticatorTransport_Nfc -> "nfc" + AuthenticatorTransport_Ble -> "ble" + AuthenticatorTransport_SmartCard -> "smart-card" + AuthenticatorTransport_Hybrid -> "hybrid" + AuthenticatorTransport_Internal -> "internal" + +authenticatorTransportCodec :: CJ.Codec AuthenticatorTransport +authenticatorTransportCodec = CJ.prismaticCodec "AuthenticatorTransport" authenticatorTransport_dec authenticatorTransport_enc CJ.string + +-- | The attestation conveyance preference +data ConveyancePreference + = ConveyancePreference_None + | ConveyancePreference_Indirect + | ConveyancePreference_Direct + | ConveyancePreference_Enterprise + +derive instance genericConveyancePreference :: Generic ConveyancePreference _ +derive instance eqConveyancePreference :: Eq ConveyancePreference +derive instance ordConveyancePreference :: Ord ConveyancePreference + +instance showConveyancePreference :: Show ConveyancePreference where + show = genericShow + +-- Extract dec / enc to top-level +conveyancePreference_dec :: String -> Maybe ConveyancePreference +conveyancePreference_dec = case _ of + "none" -> Just ConveyancePreference_None + "indirect" -> Just ConveyancePreference_Indirect + "direct" -> Just ConveyancePreference_Direct + "enterprise" -> Just ConveyancePreference_Enterprise + _ -> Nothing + +conveyancePreference_enc :: ConveyancePreference -> String +conveyancePreference_enc = case _ of + ConveyancePreference_None -> "none" + ConveyancePreference_Indirect -> "indirect" + ConveyancePreference_Direct -> "direct" + ConveyancePreference_Enterprise -> "enterprise" + +conveyancePreferenceCodec :: CJ.Codec ConveyancePreference +conveyancePreferenceCodec = CJ.prismaticCodec "ConveyancePreference" conveyancePreference_dec conveyancePreference_enc CJ.string + +-- | +-- | * `ExpiresAt`: `String` - Expiration date of the PAT +-- | * `Metadata` (Optional): `Maybe J.JObject` +type CreatePATRequest = + { "expiresAt" :: String -- Expiration date of the PAT + , "metadata" :: Maybe J.JObject + } + +createPATRequestCodec :: CJ.Codec CreatePATRequest +createPATRequestCodec = + CJR.objectStrict + { "expiresAt": CJ.string + , "metadata": CJR.optional CJ.jobject + } + +-- | +-- | * `Id`: `String` - ID of the PAT +-- | * `PersonalAccessToken`: `String` - PAT +type CreatePATResponse = + { "id" :: String -- ID of the PAT + , "personalAccessToken" :: String -- PAT + } + +createPATResponseCodec :: CJ.Codec CreatePATResponse +createPATResponseCodec = + CJR.objectStrict + { "id": CJ.string + , "personalAccessToken": CJ.string + } + +-- | +-- | * `Id`: `String` - The credential's identifier +-- | * `Type`: `String` - The credential type represented by this object +-- | * `RawId`: `String` - Base64url-encoded binary data +-- | * `ClientExtensionResults` (Optional): `Maybe AuthenticationExtensionsClientOutputs` - Map of extension outputs from the client +-- | * `AuthenticatorAttachment` (Optional): `Maybe String` - The authenticator attachment +-- | * `Response`: `AuthenticatorAssertionResponse` +type CredentialAssertionResponse = + { "id" :: String -- The credential's identifier + , "type" :: String -- The credential type represented by this object + , "rawId" :: String -- Base64url-encoded binary data + , "clientExtensionResults" :: Maybe AuthenticationExtensionsClientOutputs -- Map of extension outputs from the client + , "authenticatorAttachment" :: Maybe String -- The authenticator attachment + , "response" :: AuthenticatorAssertionResponse + } + +credentialAssertionResponseCodec :: CJ.Codec CredentialAssertionResponse +credentialAssertionResponseCodec = + CJR.objectStrict + { "id": CJ.string + , "type": CJ.string + , "rawId": CJ.string + , "clientExtensionResults": CJR.optional authenticationExtensionsClientOutputsCodec + , "authenticatorAttachment": CJR.optional CJ.string + , "response": authenticatorAssertionResponseCodec + } + +-- | +-- | * `Id`: `String` - The credential's identifier +-- | * `Type`: `String` - The credential type represented by this object +-- | * `RawId`: `String` - Base64url-encoded binary data +-- | * `ClientExtensionResults` (Optional): `Maybe AuthenticationExtensionsClientOutputs` - Map of extension outputs from the client +-- | * `AuthenticatorAttachment` (Optional): `Maybe String` - The authenticator attachment +-- | * `Response`: `AuthenticatorAttestationResponse` +type CredentialCreationResponse = + { "id" :: String -- The credential's identifier + , "type" :: String -- The credential type represented by this object + , "rawId" :: String -- Base64url-encoded binary data + , "clientExtensionResults" :: Maybe AuthenticationExtensionsClientOutputs -- Map of extension outputs from the client + , "authenticatorAttachment" :: Maybe String -- The authenticator attachment + , "response" :: AuthenticatorAttestationResponse + } + +credentialCreationResponseCodec :: CJ.Codec CredentialCreationResponse +credentialCreationResponseCodec = + CJR.objectStrict + { "id": CJ.string + , "type": CJ.string + , "rawId": CJ.string + , "clientExtensionResults": CJR.optional authenticationExtensionsClientOutputsCodec + , "authenticatorAttachment": CJR.optional CJ.string + , "response": authenticatorAttestationResponseCodec + } + +-- | +-- | * `Type`: `CredentialType` - The valid credential types +-- | * `Alg`: `Int` - The cryptographic algorithm identifier +type CredentialParameter = + { "type" :: CredentialType -- The valid credential types + , "alg" :: Int -- The cryptographic algorithm identifier + } + +credentialParameterCodec :: CJ.Codec CredentialParameter +credentialParameterCodec = + CJR.objectStrict + { "type": credentialTypeCodec + , "alg": CJ.int + } + +-- | Credential properties extension output +-- | +-- | * `Rk` (Optional): `Maybe Boolean` - Indicates if the credential is a resident key +type CredentialPropertiesOutput = + { "rk" :: Maybe Boolean -- Indicates if the credential is a resident key + } + +credentialPropertiesOutputCodec :: CJ.Codec CredentialPropertiesOutput +credentialPropertiesOutputCodec = + CJR.objectStrict + { "rk": CJR.optional CJ.boolean + } + +-- | The valid credential types +data CredentialType = CredentialType_PublicKey + +derive instance genericCredentialType :: Generic CredentialType _ +derive instance eqCredentialType :: Eq CredentialType +derive instance ordCredentialType :: Ord CredentialType + +instance showCredentialType :: Show CredentialType where + show = genericShow + +-- Extract dec / enc to top-level +credentialType_dec :: String -> Maybe CredentialType +credentialType_dec = case _ of + "public-key" -> Just CredentialType_PublicKey + _ -> Nothing + +credentialType_enc :: CredentialType -> String +credentialType_enc = case _ of + CredentialType_PublicKey -> "public-key" + +credentialTypeCodec :: CJ.Codec CredentialType +credentialTypeCodec = CJ.prismaticCodec "CredentialType" credentialType_dec credentialType_enc CJ.string + +-- | Error code identifying the specific application error +data ErrorResponseError + = ErrorResponseError_DefaultRoleMustBeInAllowedRoles + | ErrorResponseError_DisabledEndpoint + | ErrorResponseError_DisabledUser + | ErrorResponseError_EmailAlreadyInUse + | ErrorResponseError_EmailAlreadyVerified + | ErrorResponseError_ForbiddenAnonymous + | ErrorResponseError_InternalServerError + | ErrorResponseError_InvalidEmailPassword + | ErrorResponseError_InvalidRequest + | ErrorResponseError_LocaleNotAllowed + | ErrorResponseError_PasswordTooShort + | ErrorResponseError_PasswordInHibpDatabase + | ErrorResponseError_RedirectToNotAllowed + | ErrorResponseError_RoleNotAllowed + | ErrorResponseError_SignupDisabled + | ErrorResponseError_UnverifiedUser + | ErrorResponseError_UserNotAnonymous + | ErrorResponseError_InvalidPat + | ErrorResponseError_InvalidRefreshToken + | ErrorResponseError_InvalidTicket + | ErrorResponseError_DisabledMfaTotp + | ErrorResponseError_NoTotpSecret + | ErrorResponseError_InvalidTotp + | ErrorResponseError_MfaTypeNotFound + | ErrorResponseError_TotpAlreadyActive + | ErrorResponseError_InvalidState + | ErrorResponseError_OauthTokenEchangeFailed + | ErrorResponseError_OauthProfileFetchFailed + | ErrorResponseError_OauthProviderError + | ErrorResponseError_InvalidOtp + | ErrorResponseError_CannotSendSms + +derive instance genericErrorResponseError :: Generic ErrorResponseError _ +derive instance eqErrorResponseError :: Eq ErrorResponseError +derive instance ordErrorResponseError :: Ord ErrorResponseError + +instance showErrorResponseError :: Show ErrorResponseError where + show = genericShow + +-- Extract dec / enc to top-level +errorResponseError_dec :: String -> Maybe ErrorResponseError +errorResponseError_dec = case _ of + "default-role-must-be-in-allowed-roles" -> Just ErrorResponseError_DefaultRoleMustBeInAllowedRoles + "disabled-endpoint" -> Just ErrorResponseError_DisabledEndpoint + "disabled-user" -> Just ErrorResponseError_DisabledUser + "email-already-in-use" -> Just ErrorResponseError_EmailAlreadyInUse + "email-already-verified" -> Just ErrorResponseError_EmailAlreadyVerified + "forbidden-anonymous" -> Just ErrorResponseError_ForbiddenAnonymous + "internal-server-error" -> Just ErrorResponseError_InternalServerError + "invalid-email-password" -> Just ErrorResponseError_InvalidEmailPassword + "invalid-request" -> Just ErrorResponseError_InvalidRequest + "locale-not-allowed" -> Just ErrorResponseError_LocaleNotAllowed + "password-too-short" -> Just ErrorResponseError_PasswordTooShort + "password-in-hibp-database" -> Just ErrorResponseError_PasswordInHibpDatabase + "redirectTo-not-allowed" -> Just ErrorResponseError_RedirectToNotAllowed + "role-not-allowed" -> Just ErrorResponseError_RoleNotAllowed + "signup-disabled" -> Just ErrorResponseError_SignupDisabled + "unverified-user" -> Just ErrorResponseError_UnverifiedUser + "user-not-anonymous" -> Just ErrorResponseError_UserNotAnonymous + "invalid-pat" -> Just ErrorResponseError_InvalidPat + "invalid-refresh-token" -> Just ErrorResponseError_InvalidRefreshToken + "invalid-ticket" -> Just ErrorResponseError_InvalidTicket + "disabled-mfa-totp" -> Just ErrorResponseError_DisabledMfaTotp + "no-totp-secret" -> Just ErrorResponseError_NoTotpSecret + "invalid-totp" -> Just ErrorResponseError_InvalidTotp + "mfa-type-not-found" -> Just ErrorResponseError_MfaTypeNotFound + "totp-already-active" -> Just ErrorResponseError_TotpAlreadyActive + "invalid-state" -> Just ErrorResponseError_InvalidState + "oauth-token-echange-failed" -> Just ErrorResponseError_OauthTokenEchangeFailed + "oauth-profile-fetch-failed" -> Just ErrorResponseError_OauthProfileFetchFailed + "oauth-provider-error" -> Just ErrorResponseError_OauthProviderError + "invalid-otp" -> Just ErrorResponseError_InvalidOtp + "cannot-send-sms" -> Just ErrorResponseError_CannotSendSms + _ -> Nothing + +errorResponseError_enc :: ErrorResponseError -> String +errorResponseError_enc = case _ of + ErrorResponseError_DefaultRoleMustBeInAllowedRoles -> "default-role-must-be-in-allowed-roles" + ErrorResponseError_DisabledEndpoint -> "disabled-endpoint" + ErrorResponseError_DisabledUser -> "disabled-user" + ErrorResponseError_EmailAlreadyInUse -> "email-already-in-use" + ErrorResponseError_EmailAlreadyVerified -> "email-already-verified" + ErrorResponseError_ForbiddenAnonymous -> "forbidden-anonymous" + ErrorResponseError_InternalServerError -> "internal-server-error" + ErrorResponseError_InvalidEmailPassword -> "invalid-email-password" + ErrorResponseError_InvalidRequest -> "invalid-request" + ErrorResponseError_LocaleNotAllowed -> "locale-not-allowed" + ErrorResponseError_PasswordTooShort -> "password-too-short" + ErrorResponseError_PasswordInHibpDatabase -> "password-in-hibp-database" + ErrorResponseError_RedirectToNotAllowed -> "redirectTo-not-allowed" + ErrorResponseError_RoleNotAllowed -> "role-not-allowed" + ErrorResponseError_SignupDisabled -> "signup-disabled" + ErrorResponseError_UnverifiedUser -> "unverified-user" + ErrorResponseError_UserNotAnonymous -> "user-not-anonymous" + ErrorResponseError_InvalidPat -> "invalid-pat" + ErrorResponseError_InvalidRefreshToken -> "invalid-refresh-token" + ErrorResponseError_InvalidTicket -> "invalid-ticket" + ErrorResponseError_DisabledMfaTotp -> "disabled-mfa-totp" + ErrorResponseError_NoTotpSecret -> "no-totp-secret" + ErrorResponseError_InvalidTotp -> "invalid-totp" + ErrorResponseError_MfaTypeNotFound -> "mfa-type-not-found" + ErrorResponseError_TotpAlreadyActive -> "totp-already-active" + ErrorResponseError_InvalidState -> "invalid-state" + ErrorResponseError_OauthTokenEchangeFailed -> "oauth-token-echange-failed" + ErrorResponseError_OauthProfileFetchFailed -> "oauth-profile-fetch-failed" + ErrorResponseError_OauthProviderError -> "oauth-provider-error" + ErrorResponseError_InvalidOtp -> "invalid-otp" + ErrorResponseError_CannotSendSms -> "cannot-send-sms" + +errorResponseErrorCodec :: CJ.Codec ErrorResponseError +errorResponseErrorCodec = CJ.prismaticCodec "ErrorResponseError" errorResponseError_dec errorResponseError_enc CJ.string + +-- | Standardized error response +-- | +-- | * `Status`: `Int` - HTTP status error code +-- | * `Message`: `String` - Human-friendly error message +-- | * `Error`: `ErrorResponseError` - Error code identifying the specific application error +type ErrorResponse = + { "status" :: Int -- HTTP status error code + , "message" :: String -- Human-friendly error message + , "error" :: ErrorResponseError -- Error code identifying the specific application error + } + +errorResponseCodec :: CJ.Codec ErrorResponse +errorResponseCodec = + CJR.objectStrict + { "status": CJ.int + , "message": CJ.string + , "error": errorResponseErrorCodec + } + +data IdTokenProvider + = IdTokenProvider_Apple + | IdTokenProvider_Google + +derive instance genericIdTokenProvider :: Generic IdTokenProvider _ +derive instance eqIdTokenProvider :: Eq IdTokenProvider +derive instance ordIdTokenProvider :: Ord IdTokenProvider + +instance showIdTokenProvider :: Show IdTokenProvider where + show = genericShow + +-- Extract dec / enc to top-level +idTokenProvider_dec :: String -> Maybe IdTokenProvider +idTokenProvider_dec = case _ of + "apple" -> Just IdTokenProvider_Apple + "google" -> Just IdTokenProvider_Google + _ -> Nothing + +idTokenProvider_enc :: IdTokenProvider -> String +idTokenProvider_enc = case _ of + IdTokenProvider_Apple -> "apple" + IdTokenProvider_Google -> "google" + +idTokenProviderCodec :: CJ.Codec IdTokenProvider +idTokenProviderCodec = CJ.prismaticCodec "IdTokenProvider" idTokenProvider_dec idTokenProvider_enc CJ.string + +-- | JSON Web Key for JWT verification +-- | +-- | * `Alg`: `String` - Algorithm used with this key +-- | * `E`: `String` - RSA public exponent +-- | * `Kid`: `String` - Key ID +-- | * `Kty`: `String` - Key type +-- | * `N`: `String` - RSA modulus +-- | * `Use`: `String` - Key usage +type JWK = + { "alg" :: String -- Algorithm used with this key + , "e" :: String -- RSA public exponent + , "kid" :: String -- Key ID + , "kty" :: String -- Key type + , "n" :: String -- RSA modulus + , "use" :: String -- Key usage + } + +jWKCodec :: CJ.Codec JWK +jWKCodec = + CJR.objectStrict + { "alg": CJ.string + , "e": CJ.string + , "kid": CJ.string + , "kty": CJ.string + , "n": CJ.string + , "use": CJ.string + } + +-- | JSON Web Key Set for verifying JWT signatures +-- | +-- | * `Keys`: `Array JWK` - Array of public keys +type JWKSet = + { "keys" :: Array JWK -- Array of public keys + } + +jWKSetCodec :: CJ.Codec JWKSet +jWKSetCodec = + CJR.objectStrict + { "keys": (CJ.array jWKCodec) + } + +-- | +-- | * `Provider`: `IdTokenProvider` +-- | * `IdToken`: `String` - Apple ID token +-- | * `Nonce` (Optional): `Maybe String` - Nonce used during sign in process +type LinkIdTokenRequest = + { "provider" :: IdTokenProvider + , "idToken" :: String -- Apple ID token + , "nonce" :: Maybe String -- Nonce used during sign in process + } + +linkIdTokenRequestCodec :: CJ.Codec LinkIdTokenRequest +linkIdTokenRequestCodec = + CJR.objectStrict + { "provider": idTokenProviderCodec + , "idToken": CJ.string + , "nonce": CJR.optional CJ.string + } + +-- | Challenge payload for multi-factor authentication +-- | +-- | * `Ticket`: `String` - Ticket to use when completing the MFA challenge +type MFAChallengePayload = + { "ticket" :: String -- Ticket to use when completing the MFA challenge + } + +mFAChallengePayloadCodec :: CJ.Codec MFAChallengePayload +mFAChallengePayloadCodec = + CJR.objectStrict + { "ticket": CJ.string + } + +data OKResponse = OKResponse_OK + +derive instance genericOKResponse :: Generic OKResponse _ +derive instance eqOKResponse :: Eq OKResponse +derive instance ordOKResponse :: Ord OKResponse + +instance showOKResponse :: Show OKResponse where + show = genericShow + +-- Extract dec / enc to top-level +oKResponse_dec :: String -> Maybe OKResponse +oKResponse_dec = case _ of + "OK" -> Just OKResponse_OK + _ -> Nothing + +oKResponse_enc :: OKResponse -> String +oKResponse_enc = case _ of + OKResponse_OK -> "OK" + +oKResponseCodec :: CJ.Codec OKResponse +oKResponseCodec = CJ.prismaticCodec "OKResponse" oKResponse_dec oKResponse_enc CJ.string + +-- | +-- | * `RedirectTo` (Optional): `Maybe String` +type OptionsRedirectTo = + { "redirectTo" :: Maybe String + } + +optionsRedirectToCodec :: CJ.Codec OptionsRedirectTo +optionsRedirectToCodec = + CJR.objectStrict + { "redirectTo": CJR.optional CJ.string + } + +-- | +-- | * `Rp`: `RelyingPartyEntity` +-- | * `User`: `UserEntity` +-- | * `Challenge`: `String` - Base64url-encoded binary data +-- | * `PubKeyCredParams`: `Array CredentialParameter` - The desired credential types and their respective cryptographic parameters +-- | * `Timeout` (Optional): `Maybe Int` - A time, in milliseconds, that the caller is willing to wait for the call to complete +-- | * `ExcludeCredentials` (Optional): `Maybe (Array PublicKeyCredentialDescriptor)` - A list of PublicKeyCredentialDescriptor objects representing public key credentials that are not acceptable to the caller +-- | * `AuthenticatorSelection` (Optional): `Maybe AuthenticatorSelection` +-- | * `Hints` (Optional): `Maybe (Array PublicKeyCredentialHints)` - Hints to help guide the user through the experience +-- | * `Attestation` (Optional): `Maybe ConveyancePreference` - The attestation conveyance preference +-- | * `AttestationFormats` (Optional): `Maybe (Array AttestationFormat)` - The preferred attestation statement formats +-- | * `Extensions` (Optional): `Maybe J.JObject` - Additional parameters requesting additional processing by the client and authenticator +type PublicKeyCredentialCreationOptions = + { "rp" :: RelyingPartyEntity + , "user" :: UserEntity + , "challenge" :: String -- Base64url-encoded binary data + , "pubKeyCredParams" :: Array CredentialParameter -- The desired credential types and their respective cryptographic parameters + , "timeout" :: Maybe Int -- A time, in milliseconds, that the caller is willing to wait for the call to complete + , "excludeCredentials" :: Maybe (Array PublicKeyCredentialDescriptor) -- A list of PublicKeyCredentialDescriptor objects representing public key credentials that are not acceptable to the caller + , "authenticatorSelection" :: Maybe AuthenticatorSelection + , "hints" :: Maybe (Array PublicKeyCredentialHints) -- Hints to help guide the user through the experience + , "attestation" :: Maybe ConveyancePreference -- The attestation conveyance preference + , "attestationFormats" :: Maybe (Array AttestationFormat) -- The preferred attestation statement formats + , "extensions" :: Maybe J.JObject -- Additional parameters requesting additional processing by the client and authenticator + } + +publicKeyCredentialCreationOptionsCodec :: CJ.Codec PublicKeyCredentialCreationOptions +publicKeyCredentialCreationOptionsCodec = + CJR.objectStrict + { "rp": relyingPartyEntityCodec + , "user": userEntityCodec + , "challenge": CJ.string + , "pubKeyCredParams": (CJ.array credentialParameterCodec) + , "timeout": CJR.optional CJ.int + , "excludeCredentials": CJR.optional (CJ.array publicKeyCredentialDescriptorCodec) + , "authenticatorSelection": CJR.optional authenticatorSelectionCodec + , "hints": CJR.optional (CJ.array publicKeyCredentialHintsCodec) + , "attestation": CJR.optional conveyancePreferenceCodec + , "attestationFormats": CJR.optional (CJ.array attestationFormatCodec) + , "extensions": CJR.optional CJ.jobject + } + +-- | +-- | * `Type`: `CredentialType` - The valid credential types +-- | * `Id`: `String` - Base64url-encoded binary data +-- | * `Transports` (Optional): `Maybe (Array AuthenticatorTransport)` - The authenticator transports that can be used +type PublicKeyCredentialDescriptor = + { "type" :: CredentialType -- The valid credential types + , "id" :: String -- Base64url-encoded binary data + , "transports" :: Maybe (Array AuthenticatorTransport) -- The authenticator transports that can be used + } + +publicKeyCredentialDescriptorCodec :: CJ.Codec PublicKeyCredentialDescriptor +publicKeyCredentialDescriptorCodec = + CJR.objectStrict + { "type": credentialTypeCodec + , "id": CJ.string + , "transports": CJR.optional (CJ.array authenticatorTransportCodec) + } + +-- | Hints to help guide the user through the experience +data PublicKeyCredentialHints + = PublicKeyCredentialHints_SecurityKey + | PublicKeyCredentialHints_ClientDevice + | PublicKeyCredentialHints_Hybrid + +derive instance genericPublicKeyCredentialHints :: Generic PublicKeyCredentialHints _ +derive instance eqPublicKeyCredentialHints :: Eq PublicKeyCredentialHints +derive instance ordPublicKeyCredentialHints :: Ord PublicKeyCredentialHints + +instance showPublicKeyCredentialHints :: Show PublicKeyCredentialHints where + show = genericShow + +-- Extract dec / enc to top-level +publicKeyCredentialHints_dec :: String -> Maybe PublicKeyCredentialHints +publicKeyCredentialHints_dec = case _ of + "security-key" -> Just PublicKeyCredentialHints_SecurityKey + "client-device" -> Just PublicKeyCredentialHints_ClientDevice + "hybrid" -> Just PublicKeyCredentialHints_Hybrid + _ -> Nothing + +publicKeyCredentialHints_enc :: PublicKeyCredentialHints -> String +publicKeyCredentialHints_enc = case _ of + PublicKeyCredentialHints_SecurityKey -> "security-key" + PublicKeyCredentialHints_ClientDevice -> "client-device" + PublicKeyCredentialHints_Hybrid -> "hybrid" + +publicKeyCredentialHintsCodec :: CJ.Codec PublicKeyCredentialHints +publicKeyCredentialHintsCodec = CJ.prismaticCodec "PublicKeyCredentialHints" publicKeyCredentialHints_dec publicKeyCredentialHints_enc CJ.string + +-- | +-- | * `Challenge`: `String` - Base64url-encoded binary data +-- | * `Timeout` (Optional): `Maybe Int` - A time, in milliseconds, that the caller is willing to wait for the call to complete +-- | * `RpId` (Optional): `Maybe String` - The RP ID the credential should be scoped to +-- | * `AllowCredentials` (Optional): `Maybe (Array PublicKeyCredentialDescriptor)` - A list of CredentialDescriptor objects representing public key credentials acceptable to the caller +-- | * `UserVerification` (Optional): `Maybe UserVerificationRequirement` - A requirement for user verification for the operation +-- | * `Hints` (Optional): `Maybe (Array PublicKeyCredentialHints)` - Hints to help guide the user through the experience +-- | * `Extensions` (Optional): `Maybe J.JObject` - Additional parameters requesting additional processing by the client and authenticator +type PublicKeyCredentialRequestOptions = + { "challenge" :: String -- Base64url-encoded binary data + , "timeout" :: Maybe Int -- A time, in milliseconds, that the caller is willing to wait for the call to complete + , "rpId" :: Maybe String -- The RP ID the credential should be scoped to + , "allowCredentials" :: Maybe (Array PublicKeyCredentialDescriptor) -- A list of CredentialDescriptor objects representing public key credentials acceptable to the caller + , "userVerification" :: Maybe UserVerificationRequirement -- A requirement for user verification for the operation + , "hints" :: Maybe (Array PublicKeyCredentialHints) -- Hints to help guide the user through the experience + , "extensions" :: Maybe J.JObject -- Additional parameters requesting additional processing by the client and authenticator + } + +publicKeyCredentialRequestOptionsCodec :: CJ.Codec PublicKeyCredentialRequestOptions +publicKeyCredentialRequestOptionsCodec = + CJR.objectStrict + { "challenge": CJ.string + , "timeout": CJR.optional CJ.int + , "rpId": CJR.optional CJ.string + , "allowCredentials": CJR.optional (CJ.array publicKeyCredentialDescriptorCodec) + , "userVerification": CJR.optional userVerificationRequirementCodec + , "hints": CJR.optional (CJ.array publicKeyCredentialHintsCodec) + , "extensions": CJR.optional CJ.jobject + } + +-- | Request to refresh an access token +-- | +-- | * `RefreshToken`: `String` - Refresh token used to generate a new access token +type RefreshTokenRequest = + { "refreshToken" :: String -- Refresh token used to generate a new access token + } + +refreshTokenRequestCodec :: CJ.Codec RefreshTokenRequest +refreshTokenRequestCodec = + CJR.objectStrict + { "refreshToken": CJ.string + } + +-- | +-- | * `Name`: `String` - A human-palatable name for the entity +-- | * `Id`: `String` - A unique identifier for the Relying Party entity, which sets the RP ID +type RelyingPartyEntity = + { "name" :: String -- A human-palatable name for the entity + , "id" :: String -- A unique identifier for the Relying Party entity, which sets the RP ID + } + +relyingPartyEntityCodec :: CJ.Codec RelyingPartyEntity +relyingPartyEntityCodec = + CJR.objectStrict + { "name": CJ.string + , "id": CJ.string + } + +-- | The resident key requirement +data ResidentKeyRequirement + = ResidentKeyRequirement_Discouraged + | ResidentKeyRequirement_Preferred + | ResidentKeyRequirement_Required + +derive instance genericResidentKeyRequirement :: Generic ResidentKeyRequirement _ +derive instance eqResidentKeyRequirement :: Eq ResidentKeyRequirement +derive instance ordResidentKeyRequirement :: Ord ResidentKeyRequirement + +instance showResidentKeyRequirement :: Show ResidentKeyRequirement where + show = genericShow + +-- Extract dec / enc to top-level +residentKeyRequirement_dec :: String -> Maybe ResidentKeyRequirement +residentKeyRequirement_dec = case _ of + "discouraged" -> Just ResidentKeyRequirement_Discouraged + "preferred" -> Just ResidentKeyRequirement_Preferred + "required" -> Just ResidentKeyRequirement_Required + _ -> Nothing + +residentKeyRequirement_enc :: ResidentKeyRequirement -> String +residentKeyRequirement_enc = case _ of + ResidentKeyRequirement_Discouraged -> "discouraged" + ResidentKeyRequirement_Preferred -> "preferred" + ResidentKeyRequirement_Required -> "required" + +residentKeyRequirementCodec :: CJ.Codec ResidentKeyRequirement +residentKeyRequirementCodec = CJ.prismaticCodec "ResidentKeyRequirement" residentKeyRequirement_dec residentKeyRequirement_enc CJ.string + +-- | User authentication session containing tokens and user information +-- | +-- | * `AccessToken`: `String` - JWT token for authenticating API requests +-- | * `AccessTokenExpiresIn`: `Int` - Expiration time of the access token in seconds +-- | * `RefreshTokenId`: `String` - Identifier for the refresh token +-- | * `RefreshToken`: `String` - Token used to refresh the access token +-- | * `User` (Optional): `Maybe User` - User profile and account information +type Session = + { "accessToken" :: String -- JWT token for authenticating API requests + , "accessTokenExpiresIn" :: Int -- Expiration time of the access token in seconds + , "refreshTokenId" :: String -- Identifier for the refresh token + , "refreshToken" :: String -- Token used to refresh the access token + , "user" :: Maybe User -- User profile and account information + } + +sessionCodec :: CJ.Codec Session +sessionCodec = + CJR.objectStrict + { "accessToken": CJ.string + , "accessTokenExpiresIn": CJ.int + , "refreshTokenId": CJ.string + , "refreshToken": CJ.string + , "user": CJR.optional userCodec + } + +-- | Container for session information +-- | +-- | * `Session` (Optional): `Maybe Session` - User authentication session containing tokens and user information +type SessionPayload = + { "session" :: Maybe Session -- User authentication session containing tokens and user information + } + +sessionPayloadCodec :: CJ.Codec SessionPayload +sessionPayloadCodec = + CJR.objectStrict + { "session": CJR.optional sessionCodec + } + +-- | +-- | * `DisplayName` (Optional): `Maybe String` +-- | * `Locale` (Optional): `Maybe String` - A two-characters locale +-- | * `Metadata` (Optional): `Maybe J.JObject` +type SignInAnonymousRequest = + { "displayName" :: Maybe String + , "locale" :: Maybe String -- A two-characters locale + , "metadata" :: Maybe J.JObject + } + +signInAnonymousRequestCodec :: CJ.Codec SignInAnonymousRequest +signInAnonymousRequestCodec = + CJR.objectStrict + { "displayName": CJR.optional CJ.string + , "locale": CJR.optional CJ.string + , "metadata": CJR.optional CJ.jobject + } + +-- | Request to authenticate using email and password +-- | +-- | * `Email`: `String` - User's email address +-- | * `Password`: `String` - User's password +type SignInEmailPasswordRequest = + { "email" :: String -- User's email address + , "password" :: String -- User's password + } + +signInEmailPasswordRequestCodec :: CJ.Codec SignInEmailPasswordRequest +signInEmailPasswordRequestCodec = + CJR.objectStrict + { "email": CJ.string + , "password": CJ.string + } + +-- | Response for email-password authentication that may include a session or MFA challenge +-- | +-- | * `Session` (Optional): `Maybe Session` - User authentication session containing tokens and user information +-- | * `Mfa` (Optional): `Maybe MFAChallengePayload` - Challenge payload for multi-factor authentication +type SignInEmailPasswordResponse = + { "session" :: Maybe Session -- User authentication session containing tokens and user information + , "mfa" :: Maybe MFAChallengePayload -- Challenge payload for multi-factor authentication + } + +signInEmailPasswordResponseCodec :: CJ.Codec SignInEmailPasswordResponse +signInEmailPasswordResponseCodec = + CJR.objectStrict + { "session": CJR.optional sessionCodec + , "mfa": CJR.optional mFAChallengePayloadCodec + } + +-- | +-- | * `Provider`: `IdTokenProvider` +-- | * `IdToken`: `String` - Apple ID token +-- | * `Nonce` (Optional): `Maybe String` - Nonce used during sign in process +-- | * `Options` (Optional): `Maybe SignUpOptions` +type SignInIdTokenRequest = + { "provider" :: IdTokenProvider + , "idToken" :: String -- Apple ID token + , "nonce" :: Maybe String -- Nonce used during sign in process + , "options" :: Maybe SignUpOptions + } + +signInIdTokenRequestCodec :: CJ.Codec SignInIdTokenRequest +signInIdTokenRequestCodec = + CJR.objectStrict + { "provider": idTokenProviderCodec + , "idToken": CJ.string + , "nonce": CJR.optional CJ.string + , "options": CJR.optional signUpOptionsCodec + } + +-- | +-- | * `Ticket`: `String` - Ticket +-- | * `Otp`: `String` - One time password +type SignInMfaTotpRequest = + { "ticket" :: String -- Ticket + , "otp" :: String -- One time password + } + +signInMfaTotpRequestCodec :: CJ.Codec SignInMfaTotpRequest +signInMfaTotpRequestCodec = + CJR.objectStrict + { "ticket": CJ.string + , "otp": CJ.string + } + +-- | +-- | * `Email`: `String` - A valid email +-- | * `Options` (Optional): `Maybe SignUpOptions` +type SignInOTPEmailRequest = + { "email" :: String -- A valid email + , "options" :: Maybe SignUpOptions + } + +signInOTPEmailRequestCodec :: CJ.Codec SignInOTPEmailRequest +signInOTPEmailRequestCodec = + CJR.objectStrict + { "email": CJ.string + , "options": CJR.optional signUpOptionsCodec + } + +-- | +-- | * `Otp`: `String` - One time password +-- | * `Email`: `String` - A valid email +type SignInOTPEmailVerifyRequest = + { "otp" :: String -- One time password + , "email" :: String -- A valid email + } + +signInOTPEmailVerifyRequestCodec :: CJ.Codec SignInOTPEmailVerifyRequest +signInOTPEmailVerifyRequestCodec = + CJR.objectStrict + { "otp": CJ.string + , "email": CJ.string + } + +-- | +-- | * `Session` (Optional): `Maybe Session` - User authentication session containing tokens and user information +type SignInOTPEmailVerifyResponse = + { "session" :: Maybe Session -- User authentication session containing tokens and user information + } + +signInOTPEmailVerifyResponseCodec :: CJ.Codec SignInOTPEmailVerifyResponse +signInOTPEmailVerifyResponseCodec = + CJR.objectStrict + { "session": CJR.optional sessionCodec + } + +-- | +-- | * `PersonalAccessToken`: `String` - PAT +type SignInPATRequest = + { "personalAccessToken" :: String -- PAT + } + +signInPATRequestCodec :: CJ.Codec SignInPATRequest +signInPATRequestCodec = + CJR.objectStrict + { "personalAccessToken": CJ.string + } + +-- | +-- | * `Email`: `String` - A valid email +-- | * `Options` (Optional): `Maybe SignUpOptions` +type SignInPasswordlessEmailRequest = + { "email" :: String -- A valid email + , "options" :: Maybe SignUpOptions + } + +signInPasswordlessEmailRequestCodec :: CJ.Codec SignInPasswordlessEmailRequest +signInPasswordlessEmailRequestCodec = + CJR.objectStrict + { "email": CJ.string + , "options": CJR.optional signUpOptionsCodec + } + +-- | +-- | * `PhoneNumber`: `String` - Phone number of the user +-- | * `Otp`: `String` - One-time password received by SMS +type SignInPasswordlessSmsOtpRequest = + { "phoneNumber" :: String -- Phone number of the user + , "otp" :: String -- One-time password received by SMS + } + +signInPasswordlessSmsOtpRequestCodec :: CJ.Codec SignInPasswordlessSmsOtpRequest +signInPasswordlessSmsOtpRequestCodec = + CJR.objectStrict + { "phoneNumber": CJ.string + , "otp": CJ.string + } + +-- | +-- | * `Session` (Optional): `Maybe Session` - User authentication session containing tokens and user information +-- | * `Mfa` (Optional): `Maybe MFAChallengePayload` - Challenge payload for multi-factor authentication +type SignInPasswordlessSmsOtpResponse = + { "session" :: Maybe Session -- User authentication session containing tokens and user information + , "mfa" :: Maybe MFAChallengePayload -- Challenge payload for multi-factor authentication + } + +signInPasswordlessSmsOtpResponseCodec :: CJ.Codec SignInPasswordlessSmsOtpResponse +signInPasswordlessSmsOtpResponseCodec = + CJR.objectStrict + { "session": CJR.optional sessionCodec + , "mfa": CJR.optional mFAChallengePayloadCodec + } + +-- | +-- | * `PhoneNumber`: `String` - Phone number of the user +-- | * `Options` (Optional): `Maybe SignUpOptions` +type SignInPasswordlessSmsRequest = + { "phoneNumber" :: String -- Phone number of the user + , "options" :: Maybe SignUpOptions + } + +signInPasswordlessSmsRequestCodec :: CJ.Codec SignInPasswordlessSmsRequest +signInPasswordlessSmsRequestCodec = + CJR.objectStrict + { "phoneNumber": CJ.string + , "options": CJR.optional signUpOptionsCodec + } + +-- | +-- | * `Email` (Optional): `Maybe String` - A valid email +type SignInWebauthnRequest = + { "email" :: Maybe String -- A valid email + } + +signInWebauthnRequestCodec :: CJ.Codec SignInWebauthnRequest +signInWebauthnRequestCodec = + CJR.objectStrict + { "email": CJR.optional CJ.string + } + +-- | +-- | * `Email` (Optional): `Maybe String` - A valid email. Deprecated, no longer used +-- | * `Credential`: `CredentialAssertionResponse` +type SignInWebauthnVerifyRequest = + { "email" :: Maybe String -- A valid email. Deprecated, no longer used + , "credential" :: CredentialAssertionResponse + } + +signInWebauthnVerifyRequestCodec :: CJ.Codec SignInWebauthnVerifyRequest +signInWebauthnVerifyRequestCodec = + CJR.objectStrict + { "email": CJR.optional CJ.string + , "credential": credentialAssertionResponseCodec + } + +-- | +-- | * `RefreshToken` (Optional): `Maybe String` - Refresh token for the current session +-- | * `All` (Optional): `Maybe Boolean` - Sign out from all connected devices +type SignOutRequest = + { "refreshToken" :: Maybe String -- Refresh token for the current session + , "all" :: Maybe Boolean -- Sign out from all connected devices + } + +signOutRequestCodec :: CJ.Codec SignOutRequest +signOutRequestCodec = + CJR.objectStrict + { "refreshToken": CJR.optional CJ.string + , "all": CJR.optional CJ.boolean + } + +-- | Request to register a new user with email and password +-- | +-- | * `Email`: `String` - Email address for the new user account +-- | * `Password`: `String` - Password for the new user account +-- | * `Options` (Optional): `Maybe SignUpOptions` +type SignUpEmailPasswordRequest = + { "email" :: String -- Email address for the new user account + , "password" :: String -- Password for the new user account + , "options" :: Maybe SignUpOptions + } + +signUpEmailPasswordRequestCodec :: CJ.Codec SignUpEmailPasswordRequest +signUpEmailPasswordRequestCodec = + CJR.objectStrict + { "email": CJ.string + , "password": CJ.string + , "options": CJR.optional signUpOptionsCodec + } + +-- | +-- | * `AllowedRoles` (Optional): `Maybe (Array String)` +-- | * `DefaultRole` (Optional): `Maybe String` +-- | * `DisplayName` (Optional): `Maybe String` +-- | * `Locale` (Optional): `Maybe String` - A two-characters locale +-- | * `Metadata` (Optional): `Maybe J.JObject` +-- | * `RedirectTo` (Optional): `Maybe String` +type SignUpOptions = + { "allowedRoles" :: Maybe (Array String) + , "defaultRole" :: Maybe String + , "displayName" :: Maybe String + , "locale" :: Maybe String -- A two-characters locale + , "metadata" :: Maybe J.JObject + , "redirectTo" :: Maybe String + } + +signUpOptionsCodec :: CJ.Codec SignUpOptions +signUpOptionsCodec = + CJR.objectStrict + { "allowedRoles": CJR.optional (CJ.array CJ.string) + , "defaultRole": CJR.optional CJ.string + , "displayName": CJR.optional CJ.string + , "locale": CJR.optional CJ.string + , "metadata": CJR.optional CJ.jobject + , "redirectTo": CJR.optional CJ.string + } + +-- | +-- | * `Email`: `String` - A valid email +-- | * `Options` (Optional): `Maybe SignUpOptions` +type SignUpWebauthnRequest = + { "email" :: String -- A valid email + , "options" :: Maybe SignUpOptions + } + +signUpWebauthnRequestCodec :: CJ.Codec SignUpWebauthnRequest +signUpWebauthnRequestCodec = + CJR.objectStrict + { "email": CJ.string + , "options": CJR.optional signUpOptionsCodec + } + +-- | +-- | * `Credential`: `CredentialCreationResponse` +-- | * `Options` (Optional): `Maybe SignUpOptions` +-- | * `Nickname` (Optional): `Maybe String` - Nickname for the security key +type SignUpWebauthnVerifyRequest = + { "credential" :: CredentialCreationResponse + , "options" :: Maybe SignUpOptions + , "nickname" :: Maybe String -- Nickname for the security key + } + +signUpWebauthnVerifyRequestCodec :: CJ.Codec SignUpWebauthnVerifyRequest +signUpWebauthnVerifyRequestCodec = + CJR.objectStrict + { "credential": credentialCreationResponseCodec + , "options": CJR.optional signUpOptionsCodec + , "nickname": CJR.optional CJ.string + } + +-- | Response containing TOTP setup information for MFA +-- | +-- | * `ImageUrl`: `String` - URL to QR code image for scanning with an authenticator app +-- | * `TotpSecret`: `String` - TOTP secret key for manual setup with an authenticator app +type TotpGenerateResponse = + { "imageUrl" :: String -- URL to QR code image for scanning with an authenticator app + , "totpSecret" :: String -- TOTP secret key for manual setup with an authenticator app + } + +totpGenerateResponseCodec :: CJ.Codec TotpGenerateResponse +totpGenerateResponseCodec = + CJR.objectStrict + { "imageUrl": CJ.string + , "totpSecret": CJ.string + } + +-- | Base64url-encoded binary data +newtype URLEncodedBase64 = URLEncodedBase64 String + +derive instance Newtype URLEncodedBase64 _ +derive instance Generic URLEncodedBase64 _ +derive instance Eq URLEncodedBase64 + +instance Show URLEncodedBase64 where + show x = genericShow x + +uRLEncodedBase64Codec :: CJ.Codec URLEncodedBase64 +uRLEncodedBase64Codec = dimap unwrap wrap CJ.string + +-- | User profile and account information +-- | +-- | * `AvatarUrl`: `String` - URL to the user's profile picture +-- | * `CreatedAt`: `String` - Timestamp when the user account was created +-- | * `DefaultRole`: `String` - Default authorization role for the user +-- | * `DisplayName`: `String` - User's display name +-- | * `Email` (Optional): `Maybe String` - User's email address +-- | * `EmailVerified`: `Boolean` - Whether the user's email has been verified +-- | * `Id`: `String` - Unique identifier for the user +-- | * `IsAnonymous`: `Boolean` - Whether this is an anonymous user account +-- | * `Locale`: `String` - User's preferred locale (language code) +-- | * `Metadata`: `J.JObject` - Custom metadata associated with the user +-- | * `PhoneNumber` (Optional): `Maybe String` - User's phone number +-- | * `PhoneNumberVerified`: `Boolean` - Whether the user's phone number has been verified +-- | * `Roles`: `Array String` - List of roles assigned to the user +-- | * `ActiveMfaType` (Optional): `Maybe String` - Active MFA type for the user +type User = + { "avatarUrl" :: String -- URL to the user's profile picture + , "createdAt" :: String -- Timestamp when the user account was created + , "defaultRole" :: String -- Default authorization role for the user + , "displayName" :: String -- User's display name + , "email" :: Maybe String -- User's email address + , "emailVerified" :: Boolean -- Whether the user's email has been verified + , "id" :: String -- Unique identifier for the user + , "isAnonymous" :: Boolean -- Whether this is an anonymous user account + , "locale" :: String -- User's preferred locale (language code) + , "metadata" :: J.JObject -- Custom metadata associated with the user + , "phoneNumber" :: Maybe String -- User's phone number + , "phoneNumberVerified" :: Boolean -- Whether the user's phone number has been verified + , "roles" :: Array String -- List of roles assigned to the user + , "activeMfaType" :: Maybe String -- Active MFA type for the user + } + +userCodec :: CJ.Codec User +userCodec = + CJR.objectStrict + { "avatarUrl": CJ.string + , "createdAt": CJ.string + , "defaultRole": CJ.string + , "displayName": CJ.string + , "email": CJR.optional CJ.string + , "emailVerified": CJ.boolean + , "id": CJ.string + , "isAnonymous": CJ.boolean + , "locale": CJ.string + , "metadata": CJ.jobject + , "phoneNumber": CJR.optional CJ.string + , "phoneNumberVerified": CJ.boolean + , "roles": (CJ.array CJ.string) + , "activeMfaType": CJR.optional CJ.string + } + +-- | Which sign-in method to use +data UserDeanonymizeRequestSignInMethod + = UserDeanonymizeRequestSignInMethod_EmailPassword + | UserDeanonymizeRequestSignInMethod_Passwordless + +derive instance genericUserDeanonymizeRequestSignInMethod :: Generic UserDeanonymizeRequestSignInMethod _ +derive instance eqUserDeanonymizeRequestSignInMethod :: Eq UserDeanonymizeRequestSignInMethod +derive instance ordUserDeanonymizeRequestSignInMethod :: Ord UserDeanonymizeRequestSignInMethod + +instance showUserDeanonymizeRequestSignInMethod :: Show UserDeanonymizeRequestSignInMethod where + show = genericShow + +-- Extract dec / enc to top-level +userDeanonymizeRequestSignInMethod_dec :: String -> Maybe UserDeanonymizeRequestSignInMethod +userDeanonymizeRequestSignInMethod_dec = case _ of + "email-password" -> Just UserDeanonymizeRequestSignInMethod_EmailPassword + "passwordless" -> Just UserDeanonymizeRequestSignInMethod_Passwordless + _ -> Nothing + +userDeanonymizeRequestSignInMethod_enc :: UserDeanonymizeRequestSignInMethod -> String +userDeanonymizeRequestSignInMethod_enc = case _ of + UserDeanonymizeRequestSignInMethod_EmailPassword -> "email-password" + UserDeanonymizeRequestSignInMethod_Passwordless -> "passwordless" + +userDeanonymizeRequestSignInMethodCodec :: CJ.Codec UserDeanonymizeRequestSignInMethod +userDeanonymizeRequestSignInMethodCodec = CJ.prismaticCodec "UserDeanonymizeRequestSignInMethod" userDeanonymizeRequestSignInMethod_dec userDeanonymizeRequestSignInMethod_enc CJ.string + +-- | +-- | * `SignInMethod`: `UserDeanonymizeRequestSignInMethod` - Which sign-in method to use +-- | * `Email`: `String` - A valid email +-- | * `Password` (Optional): `Maybe String` - A password of minimum 3 characters +-- | * `Connection` (Optional): `Maybe String` - Deprecated, will be ignored +-- | * `Options` (Optional): `Maybe SignUpOptions` +type UserDeanonymizeRequest = + { "signInMethod" :: UserDeanonymizeRequestSignInMethod -- Which sign-in method to use + , "email" :: String -- A valid email + , "password" :: Maybe String -- A password of minimum 3 characters + , "connection" :: Maybe String -- Deprecated, will be ignored + , "options" :: Maybe SignUpOptions + } + +userDeanonymizeRequestCodec :: CJ.Codec UserDeanonymizeRequest +userDeanonymizeRequestCodec = + CJR.objectStrict + { "signInMethod": userDeanonymizeRequestSignInMethodCodec + , "email": CJ.string + , "password": CJR.optional CJ.string + , "connection": CJR.optional CJ.string + , "options": CJR.optional signUpOptionsCodec + } + +-- | +-- | * `NewEmail`: `String` - A valid email +-- | * `Options` (Optional): `Maybe OptionsRedirectTo` +type UserEmailChangeRequest = + { "newEmail" :: String -- A valid email + , "options" :: Maybe OptionsRedirectTo + } + +userEmailChangeRequestCodec :: CJ.Codec UserEmailChangeRequest +userEmailChangeRequestCodec = + CJR.objectStrict + { "newEmail": CJ.string + , "options": CJR.optional optionsRedirectToCodec + } + +-- | +-- | * `Email`: `String` - A valid email +-- | * `Options` (Optional): `Maybe OptionsRedirectTo` +type UserEmailSendVerificationEmailRequest = + { "email" :: String -- A valid email + , "options" :: Maybe OptionsRedirectTo + } + +userEmailSendVerificationEmailRequestCodec :: CJ.Codec UserEmailSendVerificationEmailRequest +userEmailSendVerificationEmailRequestCodec = + CJR.objectStrict + { "email": CJ.string + , "options": CJR.optional optionsRedirectToCodec + } + +-- | +-- | * `Name`: `String` - A human-palatable name for the entity +-- | * `DisplayName`: `String` - A human-palatable name for the user account, intended only for display +-- | * `Id`: `String` - The user handle of the user account entity +type UserEntity = + { "name" :: String -- A human-palatable name for the entity + , "displayName" :: String -- A human-palatable name for the user account, intended only for display + , "id" :: String -- The user handle of the user account entity + } + +userEntityCodec :: CJ.Codec UserEntity +userEntityCodec = + CJR.objectStrict + { "name": CJ.string + , "displayName": CJ.string + , "id": CJ.string + } + +-- | Type of MFA to activate. Use empty string to disable MFA. +data UserMfaRequestActiveMfaType + = UserMfaRequestActiveMfaType_Totp + | UserMfaRequestActiveMfaType_Empty + +derive instance genericUserMfaRequestActiveMfaType :: Generic UserMfaRequestActiveMfaType _ +derive instance eqUserMfaRequestActiveMfaType :: Eq UserMfaRequestActiveMfaType +derive instance ordUserMfaRequestActiveMfaType :: Ord UserMfaRequestActiveMfaType + +instance showUserMfaRequestActiveMfaType :: Show UserMfaRequestActiveMfaType where + show = genericShow + +-- Extract dec / enc to top-level +userMfaRequestActiveMfaType_dec :: String -> Maybe UserMfaRequestActiveMfaType +userMfaRequestActiveMfaType_dec = case _ of + "totp" -> Just UserMfaRequestActiveMfaType_Totp + "" -> Just UserMfaRequestActiveMfaType_Empty + _ -> Nothing + +userMfaRequestActiveMfaType_enc :: UserMfaRequestActiveMfaType -> String +userMfaRequestActiveMfaType_enc = case _ of + UserMfaRequestActiveMfaType_Totp -> "totp" + UserMfaRequestActiveMfaType_Empty -> "" + +userMfaRequestActiveMfaTypeCodec :: CJ.Codec UserMfaRequestActiveMfaType +userMfaRequestActiveMfaTypeCodec = CJ.prismaticCodec "UserMfaRequestActiveMfaType" userMfaRequestActiveMfaType_dec userMfaRequestActiveMfaType_enc CJ.string + +-- | Request to activate or deactivate multi-factor authentication +-- | +-- | * `Code`: `String` - Verification code from the authenticator app when activating MFA +-- | * `ActiveMfaType` (Optional): `Maybe UserMfaRequestActiveMfaType` - Type of MFA to activate. Use empty string to disable MFA. +type UserMfaRequest = + { "code" :: String -- Verification code from the authenticator app when activating MFA + , "activeMfaType" :: Maybe UserMfaRequestActiveMfaType -- Type of MFA to activate. Use empty string to disable MFA. + } + +userMfaRequestCodec :: CJ.Codec UserMfaRequest +userMfaRequestCodec = + CJR.objectStrict + { "code": CJ.string + , "activeMfaType": CJR.optional userMfaRequestActiveMfaTypeCodec + } + +-- | +-- | * `NewPassword`: `String` - A password of minimum 3 characters +-- | * `Ticket` (Optional): `Maybe String` - Ticket to reset the password, required if the user is not authenticated +type UserPasswordRequest = + { "newPassword" :: String -- A password of minimum 3 characters + , "ticket" :: Maybe String -- Ticket to reset the password, required if the user is not authenticated + } + +userPasswordRequestCodec :: CJ.Codec UserPasswordRequest +userPasswordRequestCodec = + CJR.objectStrict + { "newPassword": CJ.string + , "ticket": CJR.optional CJ.string + } + +-- | +-- | * `Email`: `String` - A valid email +-- | * `Options` (Optional): `Maybe OptionsRedirectTo` +type UserPasswordResetRequest = + { "email" :: String -- A valid email + , "options" :: Maybe OptionsRedirectTo + } + +userPasswordResetRequestCodec :: CJ.Codec UserPasswordResetRequest +userPasswordResetRequestCodec = + CJR.objectStrict + { "email": CJ.string + , "options": CJR.optional optionsRedirectToCodec + } + +-- | A requirement for user verification for the operation +data UserVerificationRequirement + = UserVerificationRequirement_Required + | UserVerificationRequirement_Preferred + | UserVerificationRequirement_Discouraged + +derive instance genericUserVerificationRequirement :: Generic UserVerificationRequirement _ +derive instance eqUserVerificationRequirement :: Eq UserVerificationRequirement +derive instance ordUserVerificationRequirement :: Ord UserVerificationRequirement + +instance showUserVerificationRequirement :: Show UserVerificationRequirement where + show = genericShow + +-- Extract dec / enc to top-level +userVerificationRequirement_dec :: String -> Maybe UserVerificationRequirement +userVerificationRequirement_dec = case _ of + "required" -> Just UserVerificationRequirement_Required + "preferred" -> Just UserVerificationRequirement_Preferred + "discouraged" -> Just UserVerificationRequirement_Discouraged + _ -> Nothing + +userVerificationRequirement_enc :: UserVerificationRequirement -> String +userVerificationRequirement_enc = case _ of + UserVerificationRequirement_Required -> "required" + UserVerificationRequirement_Preferred -> "preferred" + UserVerificationRequirement_Discouraged -> "discouraged" + +userVerificationRequirementCodec :: CJ.Codec UserVerificationRequirement +userVerificationRequirementCodec = CJ.prismaticCodec "UserVerificationRequirement" userVerificationRequirement_dec userVerificationRequirement_enc CJ.string + +-- | +-- | * `Credential`: `CredentialCreationResponse` +-- | * `Nickname` (Optional): `Maybe String` - Optional nickname for the security key +type VerifyAddSecurityKeyRequest = + { "credential" :: CredentialCreationResponse + , "nickname" :: Maybe String -- Optional nickname for the security key + } + +verifyAddSecurityKeyRequestCodec :: CJ.Codec VerifyAddSecurityKeyRequest +verifyAddSecurityKeyRequestCodec = + CJR.objectStrict + { "credential": credentialCreationResponseCodec + , "nickname": CJR.optional CJ.string + } + +-- | +-- | * `Id`: `String` - The ID of the newly added security key +-- | * `Nickname` (Optional): `Maybe String` - The nickname of the security key if provided +type VerifyAddSecurityKeyResponse = + { "id" :: String -- The ID of the newly added security key + , "nickname" :: Maybe String -- The nickname of the security key if provided + } + +verifyAddSecurityKeyResponseCodec :: CJ.Codec VerifyAddSecurityKeyResponse +verifyAddSecurityKeyResponseCodec = + CJR.objectStrict + { "id": CJ.string + , "nickname": CJR.optional CJ.string + } + +-- | +-- | * `Token` (Optional): `Maybe String` - JWT token to verify +type VerifyTokenRequest = + { "token" :: Maybe String -- JWT token to verify + } + +verifyTokenRequestCodec :: CJ.Codec VerifyTokenRequest +verifyTokenRequestCodec = + CJR.objectStrict + { "token": CJR.optional CJ.string + } + +-- | Target URL for the redirect +newtype RedirectToQuery = RedirectToQuery String + +derive instance Newtype RedirectToQuery _ +derive instance Generic RedirectToQuery _ +derive instance Eq RedirectToQuery + +instance Show RedirectToQuery where + show x = genericShow x + +redirectToQueryCodec :: CJ.Codec RedirectToQuery +redirectToQueryCodec = dimap unwrap wrap CJ.string + +data SignInProvider + = SignInProvider_Apple + | SignInProvider_Github + | SignInProvider_Google + | SignInProvider_Linkedin + | SignInProvider_Discord + | SignInProvider_Spotify + | SignInProvider_Twitch + | SignInProvider_Gitlab + | SignInProvider_Bitbucket + | SignInProvider_Workos + | SignInProvider_Azuread + | SignInProvider_Strava + | SignInProvider_Facebook + | SignInProvider_Windowslive + | SignInProvider_Twitter + +derive instance genericSignInProvider :: Generic SignInProvider _ +derive instance eqSignInProvider :: Eq SignInProvider +derive instance ordSignInProvider :: Ord SignInProvider + +instance showSignInProvider :: Show SignInProvider where + show = genericShow + +-- Extract dec / enc to top-level +signInProvider_dec :: String -> Maybe SignInProvider +signInProvider_dec = case _ of + "apple" -> Just SignInProvider_Apple + "github" -> Just SignInProvider_Github + "google" -> Just SignInProvider_Google + "linkedin" -> Just SignInProvider_Linkedin + "discord" -> Just SignInProvider_Discord + "spotify" -> Just SignInProvider_Spotify + "twitch" -> Just SignInProvider_Twitch + "gitlab" -> Just SignInProvider_Gitlab + "bitbucket" -> Just SignInProvider_Bitbucket + "workos" -> Just SignInProvider_Workos + "azuread" -> Just SignInProvider_Azuread + "strava" -> Just SignInProvider_Strava + "facebook" -> Just SignInProvider_Facebook + "windowslive" -> Just SignInProvider_Windowslive + "twitter" -> Just SignInProvider_Twitter + _ -> Nothing + +signInProvider_enc :: SignInProvider -> String +signInProvider_enc = case _ of + SignInProvider_Apple -> "apple" + SignInProvider_Github -> "github" + SignInProvider_Google -> "google" + SignInProvider_Linkedin -> "linkedin" + SignInProvider_Discord -> "discord" + SignInProvider_Spotify -> "spotify" + SignInProvider_Twitch -> "twitch" + SignInProvider_Gitlab -> "gitlab" + SignInProvider_Bitbucket -> "bitbucket" + SignInProvider_Workos -> "workos" + SignInProvider_Azuread -> "azuread" + SignInProvider_Strava -> "strava" + SignInProvider_Facebook -> "facebook" + SignInProvider_Windowslive -> "windowslive" + SignInProvider_Twitter -> "twitter" + +signInProviderCodec :: CJ.Codec SignInProvider +signInProviderCodec = CJ.prismaticCodec "SignInProvider" signInProvider_dec signInProvider_enc CJ.string + +-- | Ticket +newtype TicketQuery = TicketQuery String + +derive instance Newtype TicketQuery _ +derive instance Generic TicketQuery _ +derive instance Eq TicketQuery + +instance Show TicketQuery where + show x = genericShow x + +ticketQueryCodec :: CJ.Codec TicketQuery +ticketQueryCodec = dimap unwrap wrap CJ.string + +-- | Type of the ticket +data TicketTypeQuery + = TicketTypeQuery_EmailVerify + | TicketTypeQuery_EmailConfirmChange + | TicketTypeQuery_SigninPasswordless + | TicketTypeQuery_PasswordReset + +derive instance genericTicketTypeQuery :: Generic TicketTypeQuery _ +derive instance eqTicketTypeQuery :: Eq TicketTypeQuery +derive instance ordTicketTypeQuery :: Ord TicketTypeQuery + +instance showTicketTypeQuery :: Show TicketTypeQuery where + show = genericShow + +-- Extract dec / enc to top-level +ticketTypeQuery_dec :: String -> Maybe TicketTypeQuery +ticketTypeQuery_dec = case _ of + "emailVerify" -> Just TicketTypeQuery_EmailVerify + "emailConfirmChange" -> Just TicketTypeQuery_EmailConfirmChange + "signinPasswordless" -> Just TicketTypeQuery_SigninPasswordless + "passwordReset" -> Just TicketTypeQuery_PasswordReset + _ -> Nothing + +ticketTypeQuery_enc :: TicketTypeQuery -> String +ticketTypeQuery_enc = case _ of + TicketTypeQuery_EmailVerify -> "emailVerify" + TicketTypeQuery_EmailConfirmChange -> "emailConfirmChange" + TicketTypeQuery_SigninPasswordless -> "signinPasswordless" + TicketTypeQuery_PasswordReset -> "passwordReset" + +ticketTypeQueryCodec :: CJ.Codec TicketTypeQuery +ticketTypeQueryCodec = CJ.prismaticCodec "TicketTypeQuery" ticketTypeQuery_dec ticketTypeQuery_enc CJ.string + +-- | +-- | * `Version`: `String` - The version of the authentication service +type GetVersionResponse200 = + { "version" :: String -- The version of the authentication service + } + +getVersionResponse200Codec :: CJ.Codec GetVersionResponse200 +getVersionResponse200Codec = + CJR.objectStrict + { "version": CJ.string + } + +-- | Parameters for the SignInProvider method. +type SignInProviderParams = + { "allowedRoles" :: Maybe (Array String) -- Array of allowed roles for the user + , "defaultRole" :: Maybe String -- Default role for the user + , "displayName" :: Maybe String -- Display name for the user + , "locale" :: Maybe String -- A two-characters locale + , "metadata" :: Maybe J.JObject -- Additional metadata for the user (JSON encoded string) + , "redirectTo" :: Maybe String -- URI to redirect to + , "connect" :: Maybe String -- If set, this means that the user is already authenticated and wants to link their account. This needs to be a valid JWT access token. + } + +signInProviderParamsCodec :: CJ.Codec SignInProviderParams +signInProviderParamsCodec = + CJR.objectStrict + { "allowedRoles": CJ.maybe (CJ.array CJ.string) + , "defaultRole": CJ.maybe CJ.string + , "displayName": CJ.maybe CJ.string + , "locale": CJ.maybe CJ.string + , "metadata": CJ.maybe CJ.jobject + , "redirectTo": CJ.maybe CJ.string + , "connect": CJ.maybe CJ.string + } + +-- | Parameters for the VerifyTicket method. +type VerifyTicketParams = + { "ticket" :: TicketQuery -- Ticket + , "type" :: Maybe TicketTypeQuery -- Type of the ticket. Deprecated, no longer used + , "redirectTo" :: RedirectToQuery -- Target URL for the redirect + } + +verifyTicketParamsCodec :: CJ.Codec VerifyTicketParams +verifyTicketParamsCodec = + CJR.objectStrict + { "ticket": ticketQueryCodec + , "type": CJ.maybe ticketTypeQueryCodec + , "redirectTo": redirectToQueryCodec + } + +-- | GetJWKs +-- | +-- | Summary: Get public keys for JWT verification in JWK Set format +-- | +-- | Retrieve the JSON Web Key Set (JWKS) containing public keys used to verify JWT signatures. This endpoint is used by clients to validate access tokens. +-- | +-- | Possible responses: +-- | - 200: JWKSet +type GetJWKsFn fetchResponse = Aff (fetchResponse JWKSet) + +-- | ElevateWebauthn +-- | +-- | Summary: Elevate access for an already signed in user using FIDO2 Webauthn +-- | +-- | Generate a Webauthn challenge for elevating user permissions +-- | +-- | Possible responses: +-- | - 200: PublicKeyCredentialRequestOptions +type ElevateWebauthnFn fetchResponse = Aff (fetchResponse PublicKeyCredentialRequestOptions) + +-- | VerifyElevateWebauthn +-- | +-- | Summary: Verify FIDO2 Webauthn authentication using public-key cryptography for elevation +-- | +-- | Complete Webauthn elevation by verifying the authentication response +-- | +-- | Possible responses: +-- | - 200: SessionPayload +type VerifyElevateWebauthnFn fetchResponse = SignInWebauthnVerifyRequest -> Aff (fetchResponse SessionPayload) + +-- | HealthCheckGet +-- | +-- | Summary: Health check (GET) +-- | +-- | Verify if the authentication service is operational using GET method +-- | +-- | Possible responses: +-- | - 200: OKResponse +type HealthCheckGetFn fetchResponse = Aff (fetchResponse OKResponse) + +-- | HealthCheckHead +-- | +-- | Summary: Health check (HEAD) +-- | +-- | Verify if the authentication service is operational using HEAD method +-- | +-- | Possible responses: +-- | - 200: Unit +type HealthCheckHeadFn fetchResponse = Aff fetchResponse + +-- | LinkIdToken +-- | +-- | Summary: Link a user account with the provider's account using an id token +-- | +-- | Link the authenticated user's account with an external OAuth provider account using an ID token. Requires elevated permissions. +-- | +-- | Possible responses: +-- | - 200: OKResponse +type LinkIdTokenFn fetchResponse = LinkIdTokenRequest -> Aff (fetchResponse OKResponse) + +-- | ChangeUserMfa +-- | +-- | Summary: Generate TOTP secret +-- | +-- | Generate a Time-based One-Time Password (TOTP) secret for setting up multi-factor authentication +-- | +-- | Possible responses: +-- | - 200: TotpGenerateResponse +type ChangeUserMfaFn fetchResponse = Aff (fetchResponse TotpGenerateResponse) + +-- | CreatePAT +-- | +-- | Summary: Create a Personal Access Token (PAT) +-- | +-- | Generate a new Personal Access Token for programmatic API access. PATs are long-lived tokens that can be used instead of regular authentication for automated systems. Requires elevated permissions. +-- | +-- | Possible responses: +-- | - 200: CreatePATResponse +type CreatePATFn fetchResponse = CreatePATRequest -> Aff (fetchResponse CreatePATResponse) + +-- | SignInAnonymous +-- | +-- | Summary: Sign in anonymously +-- | +-- | Create an anonymous user session without providing credentials. Anonymous users can be converted to regular users later via the deanonymize endpoint. +-- | +-- | Possible responses: +-- | - 200: SessionPayload +type SignInAnonymousFn fetchResponse = Maybe SignInAnonymousRequest -> Aff (fetchResponse SessionPayload) + +-- | SignInEmailPassword +-- | +-- | Summary: Sign in with email and password +-- | +-- | Authenticate a user with their email and password. Returns a session object or MFA challenge if two-factor authentication is enabled. +-- | +-- | Possible responses: +-- | - 200: SignInEmailPasswordResponse +type SignInEmailPasswordFn fetchResponse = SignInEmailPasswordRequest -> Aff (fetchResponse SignInEmailPasswordResponse) + +-- | SignInIdToken +-- | +-- | Summary: Sign in with an ID token +-- | +-- | Authenticate using an ID token from a supported OAuth provider (Apple or Google). Creates a new user account if one doesn't exist. +-- | +-- | Possible responses: +-- | - 200: SessionPayload +type SignInIdTokenFn fetchResponse = SignInIdTokenRequest -> Aff (fetchResponse SessionPayload) + +-- | VerifySignInMfaTotp +-- | +-- | Summary: Verify TOTP for MFA +-- | +-- | Complete the multi-factor authentication by verifying a Time-based One-Time Password (TOTP). Returns a session if validation is successful. +-- | +-- | Possible responses: +-- | - 200: SessionPayload +type VerifySignInMfaTotpFn fetchResponse = SignInMfaTotpRequest -> Aff (fetchResponse SessionPayload) + +-- | SignInOTPEmail +-- | +-- | Summary: Sign in with email OTP +-- | +-- | Initiate email-based one-time password authentication. Sends an OTP to the specified email address. If the user doesn't exist, a new account will be created with the provided options. +-- | +-- | Possible responses: +-- | - 200: OKResponse +type SignInOTPEmailFn fetchResponse = SignInOTPEmailRequest -> Aff (fetchResponse OKResponse) + +-- | VerifySignInOTPEmail +-- | +-- | Summary: Verify email OTP +-- | +-- | Complete email OTP authentication by verifying the one-time password. Returns a session if validation is successful. +-- | +-- | Possible responses: +-- | - 200: SignInOTPEmailVerifyResponse +type VerifySignInOTPEmailFn fetchResponse = SignInOTPEmailVerifyRequest -> Aff (fetchResponse SignInOTPEmailVerifyResponse) + +-- | SignInPasswordlessEmail +-- | +-- | Summary: Sign in with magic link email +-- | +-- | Initiate passwordless authentication by sending a magic link to the user's email. If the user doesn't exist, a new account will be created with the provided options. +-- | +-- | Possible responses: +-- | - 200: OKResponse +type SignInPasswordlessEmailFn fetchResponse = SignInPasswordlessEmailRequest -> Aff (fetchResponse OKResponse) + +-- | SignInPasswordlessSms +-- | +-- | Summary: Sign in with SMS OTP +-- | +-- | Initiate passwordless authentication by sending a one-time password to the user's phone number. If the user doesn't exist, a new account will be created with the provided options. +-- | +-- | Possible responses: +-- | - 200: OKResponse +type SignInPasswordlessSmsFn fetchResponse = SignInPasswordlessSmsRequest -> Aff (fetchResponse OKResponse) + +-- | VerifySignInPasswordlessSms +-- | +-- | Summary: Verify SMS OTP +-- | +-- | Complete passwordless SMS authentication by verifying the one-time password. Returns a session if validation is successful. +-- | +-- | Possible responses: +-- | - 200: SignInPasswordlessSmsOtpResponse +type VerifySignInPasswordlessSmsFn fetchResponse = SignInPasswordlessSmsOtpRequest -> Aff (fetchResponse SignInPasswordlessSmsOtpResponse) + +-- | SignInPAT +-- | +-- | Summary: Sign in with Personal Access Token (PAT) +-- | +-- | Authenticate using a Personal Access Token. PATs are long-lived tokens that can be used for programmatic access to the API. +-- | +-- | Possible responses: +-- | - 200: SessionPayload +type SignInPATFn fetchResponse = SignInPATRequest -> Aff (fetchResponse SessionPayload) + +-- | SignInProvider +-- | +-- | Summary: Sign in with an OAuth2 provider +-- | +-- | Initiate OAuth2 authentication flow with a social provider. Redirects the user to the provider's authorization page. +-- | +-- | Possible responses: +-- | - 302: Unit +type SignInProviderFn mkUrlOutput = SignInProvider -> Maybe SignInProviderParams -> mkUrlOutput + +-- | SignInWebauthn +-- | +-- | Summary: Sign in with Webauthn +-- | +-- | Initiate a Webauthn sign-in process by sending a challenge to the user's device. The user must have previously registered a Webauthn credential. +-- | +-- | Possible responses: +-- | - 200: PublicKeyCredentialRequestOptions +type SignInWebauthnFn fetchResponse = Maybe SignInWebauthnRequest -> Aff (fetchResponse PublicKeyCredentialRequestOptions) + +-- | VerifySignInWebauthn +-- | +-- | Summary: Verify Webauthn sign-in +-- | +-- | Complete the Webauthn sign-in process by verifying the response from the user's device. Returns a session if validation is successful. +-- | +-- | Possible responses: +-- | - 200: SessionPayload +type VerifySignInWebauthnFn fetchResponse = SignInWebauthnVerifyRequest -> Aff (fetchResponse SessionPayload) + +-- | SignOut +-- | +-- | Summary: Sign out +-- | +-- | End the current user session by invalidating refresh tokens. Optionally sign out from all devices. +-- | +-- | Possible responses: +-- | - 200: OKResponse +type SignOutFn fetchResponse = SignOutRequest -> Aff (fetchResponse OKResponse) + +-- | SignUpEmailPassword +-- | +-- | Summary: Sign up with email and password +-- | +-- | Register a new user account with email and password. Returns a session if email verification is not required, otherwise returns null session. +-- | +-- | Possible responses: +-- | - 200: SessionPayload +type SignUpEmailPasswordFn fetchResponse = SignUpEmailPasswordRequest -> Aff (fetchResponse SessionPayload) + +-- | SignUpWebauthn +-- | +-- | Summary: Sign up with Webauthn +-- | +-- | Initiate a Webauthn sign-up process by sending a challenge to the user's device. The user must not have an existing account. +-- | +-- | Possible responses: +-- | - 200: PublicKeyCredentialCreationOptions +type SignUpWebauthnFn fetchResponse = SignUpWebauthnRequest -> Aff (fetchResponse PublicKeyCredentialCreationOptions) + +-- | VerifySignUpWebauthn +-- | +-- | Summary: Verify Webauthn sign-up +-- | +-- | Complete the Webauthn sign-up process by verifying the response from the user's device. Returns a session if validation is successful. +-- | +-- | Possible responses: +-- | - 200: SessionPayload +type VerifySignUpWebauthnFn fetchResponse = SignUpWebauthnVerifyRequest -> Aff (fetchResponse SessionPayload) + +-- | RefreshToken +-- | +-- | Summary: Refresh access token +-- | +-- | Generate a new JWT access token using a valid refresh token. The refresh token used will be revoked and a new one will be issued. +-- | +-- | Possible responses: +-- | - 200: Session +type RefreshTokenFn fetchResponse = RefreshTokenRequest -> Aff (fetchResponse Session) + +-- | VerifyToken +-- | +-- | Summary: Verify JWT token +-- | +-- | Verify the validity of a JWT access token. If no request body is provided, the Authorization header will be used for verification. +-- | +-- | Possible responses: +-- | - 200: String +type VerifyTokenFn fetchResponse = Maybe VerifyTokenRequest -> Aff (fetchResponse String) + +-- | GetUser +-- | +-- | Summary: Get user information +-- | +-- | Retrieve the authenticated user's profile information including roles, metadata, and account status. +-- | +-- | Possible responses: +-- | - 200: User +type GetUserFn fetchResponse = Aff (fetchResponse User) + +-- | DeanonymizeUser +-- | +-- | Summary: Deanonymize an anonymous user +-- | +-- | Convert an anonymous user to a regular user by adding email and optionally password credentials. A confirmation email will be sent if the server is configured to do so. +-- | +-- | Possible responses: +-- | - 200: OKResponse +type DeanonymizeUserFn fetchResponse = UserDeanonymizeRequest -> Aff (fetchResponse OKResponse) + +-- | ChangeUserEmail +-- | +-- | Summary: Change user email +-- | +-- | Request to change the authenticated user's email address. A verification email will be sent to the new address to confirm the change. Requires elevated permissions. +-- | +-- | Possible responses: +-- | - 200: OKResponse +type ChangeUserEmailFn fetchResponse = UserEmailChangeRequest -> Aff (fetchResponse OKResponse) + +-- | SendVerificationEmail +-- | +-- | Summary: Send verification email +-- | +-- | Send an email verification link to the specified email address. Used to verify email addresses for new accounts or email changes. +-- | +-- | Possible responses: +-- | - 200: OKResponse +type SendVerificationEmailFn fetchResponse = UserEmailSendVerificationEmailRequest -> Aff (fetchResponse OKResponse) + +-- | VerifyChangeUserMfa +-- | +-- | Summary: Manage multi-factor authentication +-- | +-- | Activate or deactivate multi-factor authentication for the authenticated user +-- | +-- | Possible responses: +-- | - 200: OKResponse +type VerifyChangeUserMfaFn fetchResponse = UserMfaRequest -> Aff (fetchResponse OKResponse) + +-- | ChangeUserPassword +-- | +-- | Summary: Change user password +-- | +-- | Change the user's password. The user must be authenticated with elevated permissions or provide a valid password reset ticket. +-- | +-- | Possible responses: +-- | - 200: OKResponse +type ChangeUserPasswordFn fetchResponse = UserPasswordRequest -> Aff (fetchResponse OKResponse) + +-- | SendPasswordResetEmail +-- | +-- | Summary: Request password reset +-- | +-- | Request a password reset for a user account. An email with a verification link will be sent to the user's email address to complete the password reset process. +-- | +-- | Possible responses: +-- | - 200: OKResponse +type SendPasswordResetEmailFn fetchResponse = UserPasswordResetRequest -> Aff (fetchResponse OKResponse) + +-- | AddSecurityKey +-- | +-- | Summary: Initialize adding of a new webauthn security key +-- | +-- | Start the process of adding a new WebAuthn security key to the user's account. Returns a challenge that must be completed by the user's authenticator device. Requires elevated permissions. +-- | +-- | Possible responses: +-- | - 200: PublicKeyCredentialCreationOptions +type AddSecurityKeyFn fetchResponse = Aff (fetchResponse PublicKeyCredentialCreationOptions) + +-- | VerifyAddSecurityKey +-- | +-- | Summary: Verify adding of a new webauthn security key +-- | +-- | Complete the process of adding a new WebAuthn security key by verifying the authenticator response. Requires elevated permissions. +-- | +-- | Possible responses: +-- | - 200: VerifyAddSecurityKeyResponse +type VerifyAddSecurityKeyFn fetchResponse = VerifyAddSecurityKeyRequest -> Aff (fetchResponse VerifyAddSecurityKeyResponse) + +-- | VerifyTicket +-- | +-- | Summary: Verify email and authentication tickets +-- | +-- | Verify tickets created by email verification, magic link authentication, or password reset processes. Redirects the user to the appropriate destination upon successful verification. +-- | +-- | Possible responses: +-- | - 302: Unit +type VerifyTicketFn mkUrlOutput = Maybe VerifyTicketParams -> mkUrlOutput + +-- | GetVersion +-- | +-- | Summary: Get service version +-- | +-- | Retrieve version information about the authentication service +-- | +-- | Possible responses: +-- | - 200: GetVersionResponse200 +type GetVersionFn fetchResponse = Aff (fetchResponse GetVersionResponse200) + +getJWKsPath :: String +getJWKsPath = "/.well-known/jwks.json" + +elevateWebauthnPath :: String +elevateWebauthnPath = "/elevate/webauthn" + +verifyElevateWebauthnPath :: String +verifyElevateWebauthnPath = "/elevate/webauthn/verify" + +healthCheckGetPath :: String +healthCheckGetPath = "/healthz" + +healthCheckHeadPath :: String +healthCheckHeadPath = "/healthz" + +linkIdTokenPath :: String +linkIdTokenPath = "/link/idtoken" + +changeUserMfaPath :: String +changeUserMfaPath = "/mfa/totp/generate" + +createPATPath :: String +createPATPath = "/pat" + +signInAnonymousPath :: String +signInAnonymousPath = "/signin/anonymous" + +signInEmailPasswordPath :: String +signInEmailPasswordPath = "/signin/email-password" + +signInIdTokenPath :: String +signInIdTokenPath = "/signin/idtoken" + +verifySignInMfaTotpPath :: String +verifySignInMfaTotpPath = "/signin/mfa/totp" + +signInOTPEmailPath :: String +signInOTPEmailPath = "/signin/otp/email" + +verifySignInOTPEmailPath :: String +verifySignInOTPEmailPath = "/signin/otp/email/verify" + +signInPasswordlessEmailPath :: String +signInPasswordlessEmailPath = "/signin/passwordless/email" + +signInPasswordlessSmsPath :: String +signInPasswordlessSmsPath = "/signin/passwordless/sms" + +verifySignInPasswordlessSmsPath :: String +verifySignInPasswordlessSmsPath = "/signin/passwordless/sms/otp" + +signInPATPath :: String +signInPATPath = "/signin/pat" + +signInProviderPath :: String -> String +signInProviderPath provider = "/signin/provider/" <> provider + +signInWebauthnPath :: String +signInWebauthnPath = "/signin/webauthn" + +verifySignInWebauthnPath :: String +verifySignInWebauthnPath = "/signin/webauthn/verify" + +signOutPath :: String +signOutPath = "/signout" + +signUpEmailPasswordPath :: String +signUpEmailPasswordPath = "/signup/email-password" + +signUpWebauthnPath :: String +signUpWebauthnPath = "/signup/webauthn" + +verifySignUpWebauthnPath :: String +verifySignUpWebauthnPath = "/signup/webauthn/verify" + +refreshTokenPath :: String +refreshTokenPath = "/token" + +verifyTokenPath :: String +verifyTokenPath = "/token/verify" + +getUserPath :: String +getUserPath = "/user" + +deanonymizeUserPath :: String +deanonymizeUserPath = "/user/deanonymize" + +changeUserEmailPath :: String +changeUserEmailPath = "/user/email/change" + +sendVerificationEmailPath :: String +sendVerificationEmailPath = "/user/email/send-verification-email" + +verifyChangeUserMfaPath :: String +verifyChangeUserMfaPath = "/user/mfa" + +changeUserPasswordPath :: String +changeUserPasswordPath = "/user/password" + +sendPasswordResetEmailPath :: String +sendPasswordResetEmailPath = "/user/password/reset" + +addSecurityKeyPath :: String +addSecurityKeyPath = "/user/webauthn/add" + +verifyAddSecurityKeyPath :: String +verifyAddSecurityKeyPath = "/user/webauthn/verify" + +verifyTicketPath :: String +verifyTicketPath = "/verify" + +getVersionPath :: String +getVersionPath = "/version" + +-- | API Client type +type APIClient :: (Type -> Type) -> (Type -> Type) -> (Type -> Type) -> Type -> Type -> Type -> Type +type APIClient fetchResponseGET fetchResponsePOST fetchResponsePUT fetchResponseDELETE fetchResponseHEAD mkUrlOutput = + { getJWKs :: GetJWKsFn fetchResponseGET + , elevateWebauthn :: ElevateWebauthnFn fetchResponsePOST + , verifyElevateWebauthn :: VerifyElevateWebauthnFn fetchResponsePOST + , healthCheckGet :: HealthCheckGetFn fetchResponseGET + , healthCheckHead :: HealthCheckHeadFn fetchResponseHEAD + , linkIdToken :: LinkIdTokenFn fetchResponsePOST + , changeUserMfa :: ChangeUserMfaFn fetchResponseGET + , createPAT :: CreatePATFn fetchResponsePOST + , signInAnonymous :: SignInAnonymousFn fetchResponsePOST + , signInEmailPassword :: SignInEmailPasswordFn fetchResponsePOST + , signInIdToken :: SignInIdTokenFn fetchResponsePOST + , verifySignInMfaTotp :: VerifySignInMfaTotpFn fetchResponsePOST + , signInOTPEmail :: SignInOTPEmailFn fetchResponsePOST + , verifySignInOTPEmail :: VerifySignInOTPEmailFn fetchResponsePOST + , signInPasswordlessEmail :: SignInPasswordlessEmailFn fetchResponsePOST + , signInPasswordlessSms :: SignInPasswordlessSmsFn fetchResponsePOST + , verifySignInPasswordlessSms :: VerifySignInPasswordlessSmsFn fetchResponsePOST + , signInPAT :: SignInPATFn fetchResponsePOST + , signInProvider :: SignInProviderFn mkUrlOutput + , signInWebauthn :: SignInWebauthnFn fetchResponsePOST + , verifySignInWebauthn :: VerifySignInWebauthnFn fetchResponsePOST + , signOut :: SignOutFn fetchResponsePOST + , signUpEmailPassword :: SignUpEmailPasswordFn fetchResponsePOST + , signUpWebauthn :: SignUpWebauthnFn fetchResponsePOST + , verifySignUpWebauthn :: VerifySignUpWebauthnFn fetchResponsePOST + , refreshToken :: RefreshTokenFn fetchResponsePOST + , verifyToken :: VerifyTokenFn fetchResponsePOST + , getUser :: GetUserFn fetchResponseGET + , deanonymizeUser :: DeanonymizeUserFn fetchResponsePOST + , changeUserEmail :: ChangeUserEmailFn fetchResponsePOST + , sendVerificationEmail :: SendVerificationEmailFn fetchResponsePOST + , verifyChangeUserMfa :: VerifyChangeUserMfaFn fetchResponsePOST + , changeUserPassword :: ChangeUserPasswordFn fetchResponsePOST + , sendPasswordResetEmail :: SendPasswordResetEmailFn fetchResponsePOST + , addSecurityKey :: AddSecurityKeyFn fetchResponsePOST + , verifyAddSecurityKey :: VerifyAddSecurityKeyFn fetchResponsePOST + , verifyTicket :: VerifyTicketFn mkUrlOutput + , getVersion :: GetVersionFn fetchResponseGET + } diff --git a/packages/purescript-nhost/src/Nhost/Auth/Impl.purs b/packages/purescript-nhost/src/Nhost/Auth/Impl.purs new file mode 100644 index 00000000..d751e060 --- /dev/null +++ b/packages/purescript-nhost/src/Nhost/Auth/Impl.purs @@ -0,0 +1,105 @@ +module Nhost.Auth.Impl where + +import Nhost.Auth.Client +import Prelude + +import Data.Array as Array +import Data.Array.NonEmpty (NonEmptyArray) +import Data.Codec.JSON as CJ +import Data.Codec.JSON as J +import Data.Either (Either(..)) +import Data.HTTP.Method (Method(..)) +import Data.Maybe (Maybe(..)) +import Data.Newtype (unwrap) +import Data.String as String +import Data.String.NonEmpty (NonEmptyString) +import Data.Tuple (Tuple(..)) +import Effect.Aff (Aff) +import Fetch as Fetch +import Foreign (Foreign, unsafeFromForeign) +import JSON (JSON) +import JSON as JSON +import Nhost.Query (mkUrlWithMaybeQuery) +import Nhost.Fetch + +-- | Convert SignInProviderParams to query string +signInProviderParamsToQuery + :: String + -> Maybe SignInProviderParams + -> Either (NonEmptyArray NonEmptyString) String +signInProviderParamsToQuery baseUrl Nothing = Right baseUrl +signInProviderParamsToQuery baseUrl (Just params) = + let + kvs = Array.catMaybes + [ params."allowedRoles" >>= \roles -> + if Array.null roles then Nothing + else Just (Tuple "allowedRoles" (String.joinWith "," roles)) + , params."defaultRole" <#> \role -> Tuple "defaultRole" role + , params."displayName" <#> \name -> Tuple "displayName" name + , params."locale" <#> \locale -> Tuple "locale" locale + , params."metadata" <#> \metadata -> Tuple "metadata" (JSON.print (JSON.fromJObject metadata)) + , params."redirectTo" <#> \redirect -> Tuple "redirectTo" redirect + , params."connect" <#> \connect -> Tuple "connect" connect + ] + in + mkUrlWithMaybeQuery baseUrl kvs + +verifyTicketParamsToQuery + :: String + -> Maybe VerifyTicketParams + -> Either (NonEmptyArray NonEmptyString) String +verifyTicketParamsToQuery baseUrl Nothing = Right baseUrl +verifyTicketParamsToQuery baseUrl (Just params) = + let + kvs = Array.catMaybes + [ Just (Tuple "ticket" (unwrap params."ticket")) + , params."type" <#> \ticketType -> Tuple "type" (ticketTypeQuery_enc ticketType) + , Just (Tuple "redirectTo" (unwrap params."redirectTo")) + ] + in + mkUrlWithMaybeQuery baseUrl kvs + +type MkUrlOutput = Either (NonEmptyArray NonEmptyString) String + +-- | Create API client with base URL and optional middleware +createAPIClient :: String -> APIClient FetchResponse FetchResponse FetchResponse Fetch.Response Fetch.Response MkUrlOutput +createAPIClient baseURL = + { getJWKs: makeRequestGet baseURL getJWKsPath jWKSetCodec + , elevateWebauthn: makeRequestPostWithoutBody baseURL elevateWebauthnPath publicKeyCredentialRequestOptionsCodec + , verifyElevateWebauthn: makeRequestPostWithBody baseURL verifyElevateWebauthnPath signInWebauthnVerifyRequestCodec sessionPayloadCodec + , healthCheckGet: makeRequestGet baseURL healthCheckGetPath oKResponseCodec + , healthCheckHead: makeRequestHead baseURL healthCheckHeadPath + , linkIdToken: makeRequestPostWithBody baseURL linkIdTokenPath linkIdTokenRequestCodec oKResponseCodec + , changeUserMfa: makeRequestGet baseURL changeUserMfaPath totpGenerateResponseCodec + , createPAT: makeRequestPostWithBody baseURL createPATPath createPATRequestCodec createPATResponseCodec + , signInAnonymous: makeRequestPostWithMaybeBody baseURL signInAnonymousPath signInAnonymousRequestCodec sessionPayloadCodec + , signInEmailPassword: makeRequestPostWithBody baseURL signInEmailPasswordPath signInEmailPasswordRequestCodec signInEmailPasswordResponseCodec + , signInIdToken: makeRequestPostWithBody baseURL signInIdTokenPath signInIdTokenRequestCodec sessionPayloadCodec + , verifySignInMfaTotp: makeRequestPostWithBody baseURL verifySignInMfaTotpPath signInMfaTotpRequestCodec sessionPayloadCodec + , signInOTPEmail: makeRequestPostWithBody baseURL signInOTPEmailPath signInOTPEmailRequestCodec oKResponseCodec + , verifySignInOTPEmail: makeRequestPostWithBody baseURL verifySignInOTPEmailPath signInOTPEmailVerifyRequestCodec signInOTPEmailVerifyResponseCodec + , signInPasswordlessEmail: makeRequestPostWithBody baseURL signInPasswordlessEmailPath signInPasswordlessEmailRequestCodec oKResponseCodec + , signInPasswordlessSms: makeRequestPostWithBody baseURL signInPasswordlessSmsPath signInPasswordlessSmsRequestCodec oKResponseCodec + , verifySignInPasswordlessSms: makeRequestPostWithBody baseURL verifySignInPasswordlessSmsPath signInPasswordlessSmsOtpRequestCodec signInPasswordlessSmsOtpResponseCodec + , signInPAT: makeRequestPostWithBody baseURL signInPATPath signInPATRequestCodec sessionPayloadCodec + , signInProvider: \provider -> signInProviderParamsToQuery (baseURL <> signInProviderPath (signInProvider_enc provider)) -- dynamic path still + , signInWebauthn: makeRequestPostWithMaybeBody baseURL signInWebauthnPath signInWebauthnRequestCodec publicKeyCredentialRequestOptionsCodec + , verifySignInWebauthn: makeRequestPostWithBody baseURL verifySignInWebauthnPath signInWebauthnVerifyRequestCodec sessionPayloadCodec + , signOut: makeRequestPostWithBody baseURL signOutPath signOutRequestCodec oKResponseCodec + , signUpEmailPassword: makeRequestPostWithBody baseURL signUpEmailPasswordPath signUpEmailPasswordRequestCodec sessionPayloadCodec + , signUpWebauthn: makeRequestPostWithBody baseURL signUpWebauthnPath signUpWebauthnRequestCodec publicKeyCredentialCreationOptionsCodec + , verifySignUpWebauthn: makeRequestPostWithBody baseURL verifySignUpWebauthnPath signUpWebauthnVerifyRequestCodec sessionPayloadCodec + , refreshToken: makeRequestPostWithBody baseURL refreshTokenPath refreshTokenRequestCodec sessionCodec + , verifyToken: makeRequestPostWithMaybeBody baseURL verifyTokenPath verifyTokenRequestCodec CJ.string + , getUser: makeRequestGet baseURL getUserPath userCodec + , deanonymizeUser: makeRequestPostWithBody baseURL deanonymizeUserPath userDeanonymizeRequestCodec oKResponseCodec + , changeUserEmail: makeRequestPostWithBody baseURL changeUserEmailPath userEmailChangeRequestCodec oKResponseCodec + , sendVerificationEmail: makeRequestPostWithBody baseURL sendVerificationEmailPath userEmailSendVerificationEmailRequestCodec oKResponseCodec + , verifyChangeUserMfa: makeRequestPostWithBody baseURL verifyChangeUserMfaPath userMfaRequestCodec oKResponseCodec + , changeUserPassword: makeRequestPostWithBody baseURL changeUserPasswordPath userPasswordRequestCodec oKResponseCodec + , sendPasswordResetEmail: makeRequestPostWithBody baseURL sendPasswordResetEmailPath userPasswordResetRequestCodec oKResponseCodec + , addSecurityKey: makeRequestPostWithoutBody baseURL addSecurityKeyPath publicKeyCredentialCreationOptionsCodec + , verifyAddSecurityKey: makeRequestPostWithBody baseURL verifyAddSecurityKeyPath verifyAddSecurityKeyRequestCodec verifyAddSecurityKeyResponseCodec + , verifyTicket: verifyTicketParamsToQuery (baseURL <> verifyTicketPath) + , getVersion: makeRequestGet baseURL getVersionPath getVersionResponse200Codec + } diff --git a/packages/purescript-nhost/src/Nhost/Fetch.purs b/packages/purescript-nhost/src/Nhost/Fetch.purs new file mode 100644 index 00000000..79d3712f --- /dev/null +++ b/packages/purescript-nhost/src/Nhost/Fetch.purs @@ -0,0 +1,127 @@ +module Nhost.Fetch where + +import Prelude + +import Data.Array as Array +import Data.Array.NonEmpty (NonEmptyArray) +import Data.Codec.JSON as CJ +import Data.Codec.JSON as J +import Data.Either (Either(..)) +import Data.HTTP.Method (Method(..)) +import Data.Maybe (Maybe(..)) +import Data.Newtype (unwrap) +import Data.String as String +import Data.String.NonEmpty (NonEmptyString) +import Data.Tuple (Tuple(..)) +import Effect.Aff (Aff) +import Fetch as Fetch +import Foreign (Foreign, unsafeFromForeign) +import JSON (JSON) +import JSON as JSON +import Nhost.Query (mkUrlWithMaybeQuery) + +data FetchResponse a + = FetchResponse_JsonDecodeError Fetch.Response J.DecodeError + | FetchResponse_Success Fetch.Response a + +foreignToJSON :: Foreign -> JSON +foreignToJSON = unsafeFromForeign + +makeRequestGet + :: forall a + . String -- base url + -> String -- url + -> J.Codec a + -> Aff (FetchResponse a) +makeRequestGet baseURL url codec = do + response <- Fetch.fetch (baseURL <> url) + { method: GET + , headers: { "Content-Type": "application/json" } + } + json <- response.json + case J.decode codec (foreignToJSON json) of + Right decoded -> + pure $ FetchResponse_Success response decoded + Left decodeErr -> + pure $ FetchResponse_JsonDecodeError response decodeErr + +makeRequestDelete + :: forall a + . String -- base url + -> String -- url + -> J.Codec a + -> Aff (FetchResponse a) +makeRequestDelete baseURL url codec = do + response <- Fetch.fetch (baseURL <> url) + { method: DELETE + , headers: { "Content-Type": "application/json" } + } + json <- response.json + case J.decode codec (foreignToJSON json) of + Right decoded -> + pure $ FetchResponse_Success response decoded + Left decodeErr -> + pure $ FetchResponse_JsonDecodeError response decodeErr + +makeRequestHead + :: String -- base url + -> String -- url + -> Aff Fetch.Response +makeRequestHead baseURL url = do + Fetch.fetch (baseURL <> url) + { method: HEAD + } + +makeRequestPostWithoutBody + :: forall a + . String -- base url + -> String -- url + -> J.Codec a + -> Aff (FetchResponse a) +makeRequestPostWithoutBody baseURL url codec = do + response <- Fetch.fetch (baseURL <> url) + { method: POST + , headers: { "Content-Type": "application/json" } + } + json <- response.json + case J.decode codec (foreignToJSON json) of + Right decoded -> + pure $ FetchResponse_Success response decoded + Left decodeErr -> + pure $ FetchResponse_JsonDecodeError response decodeErr + +-- POST (with request body) +makeRequestPostWithBody + :: forall a b + . String -- base url + -> String -- url + -> J.Codec b -- request body codec + -> J.Codec a -- response body codec + -> b -- request body value + -> Aff (FetchResponse a) +makeRequestPostWithBody baseURL url codecReq codecRes body = do + let bodyJson = JSON.print (J.encode codecReq body) + response <- Fetch.fetch (baseURL <> url) + { method: POST + , headers: { "Content-Type": "application/json" } + , body: bodyJson + } + json <- response.json + case J.decode codecRes (foreignToJSON json) of + Right decoded -> + pure $ FetchResponse_Success response decoded + Left decodeErr -> + pure $ FetchResponse_JsonDecodeError response decodeErr + +-- POST (with request body) +makeRequestPostWithMaybeBody + :: forall a b + . String -- base url + -> String -- url + -> J.Codec b -- request body codec + -> J.Codec a -- response body codec + -> Maybe b -- request body value + -> Aff (FetchResponse a) +makeRequestPostWithMaybeBody baseURL url codecReq codecRes = case _ of + Just body -> makeRequestPostWithBody baseURL url codecReq codecRes body + Nothing -> makeRequestPostWithoutBody baseURL url codecRes diff --git a/packages/purescript-nhost/src/Nhost/Query.purs b/packages/purescript-nhost/src/Nhost/Query.purs new file mode 100644 index 00000000..aa5375f0 --- /dev/null +++ b/packages/purescript-nhost/src/Nhost/Query.purs @@ -0,0 +1,177 @@ +module Nhost.Query where + +import Prelude + +import Control.Monad.ST as ST +import Data.Array (mapMaybe) +import Data.Array as Array +import Data.Array.NonEmpty (NonEmptyArray) +import Data.Array.NonEmpty as NE +import Data.Array.ST as STArray +import Data.Either (Either(..)) +import Data.FoldableWithIndex (foldMapWithIndex, foldrWithIndex) +import Data.Map (Map) +import Data.Map as Map +import Data.Maybe (Maybe(..)) +import Data.String.NonEmpty (NonEmptyString) +import Data.String.NonEmpty as NES +import Data.Tuple (Tuple(..)) +import JSURI as JSURI + +-- collectLeftsOrRights [Left 1, Left 2] -- => Left [1,2] +-- collectLeftsOrRights [Right "x", Right "y"] -- => Right ["x","y"] +-- collectLeftsOrRights [Left 1, Right "oops"] -- => Left [1] +-- collectLeftsOrRights :: forall a b. Array (Either a b) -> Either (Array a) (Array b) +collectLeftsOrRights :: forall a b. Array (Either a b) -> Either (Array a) (Array b) +collectLeftsOrRights xs = ST.run do + -- Create mutable arrays for Left and Right + lefts <- STArray.new + rights <- STArray.new + + ST.foreach xs \e -> case e of + Left a -> void $ STArray.push a lefts + Right b -> void $ STArray.push b rights + + -- Freeze mutable arrays to immutable arrays + leftArr <- STArray.freeze lefts + rightArr <- STArray.freeze rights + + if Array.length rightArr == 0 then + pure (Left leftArr) + else + pure (Right rightArr) + +mapStringToNEString_filterEmpty :: forall k. Ord k => Map k String -> Map k NonEmptyString +mapStringToNEString_filterEmpty = Map.catMaybes <<< map NES.fromString + +partitionWithKeyMap :: forall k v. Ord k => Map k v -> (k -> v -> Boolean) -> Tuple (Map k v) (Map k v) +partitionWithKeyMap m pred = + let + yes = Map.filterWithKey pred m + no = Map.filterWithKey (\k v -> not (pred k v)) m + in + Tuple yes no + +map_collectJustValues :: forall k v. Map k (Maybe v) -> Array v +map_collectJustValues = + foldrWithIndex + ( \_ maybeV acc -> + case maybeV of + Just v -> Array.cons v acc + Nothing -> acc + ) + [] + +map_collectKeysWithNothingValues :: forall k v. Map k (Maybe v) -> Array k +map_collectKeysWithNothingValues = + foldrWithIndex + ( \k maybeV acc -> + case maybeV of + Just _ -> acc + Nothing -> Array.cons k acc + ) + [] + +catMaybes_errorIfSomeIsNothing :: forall k v. Ord k => Map k (Maybe v) -> Either (NonEmptyArray k) (Map k v) +catMaybes_errorIfSomeIsNothing m = + case NE.fromArray (map_collectKeysWithNothingValues m) of + Just ne -> Left ne + Nothing -> Right (Map.catMaybes m) + +nes_encodeURIComponent :: NonEmptyString -> Maybe NonEmptyString +nes_encodeURIComponent = join <<< map NES.fromString <<< JSURI.encodeURIComponent <<< NES.toString + +-- > toQuery (Map.fromFoldable [ Tuple (NES.unsafeFromString "foo") "123", Tuple (NES.unsafeFromString "bar") "baz" ]) +-- Just "foo=123&bar=baz" +-- > toQuery Map.empty +-- Nothing +toQuery :: Map NonEmptyString String -> Maybe NonEmptyString +toQuery m = + NES.fromString + $ NES.joinWith "&" + $ + foldMapWithIndex + (\k v -> [ NES.appendString k ("=" <> v) ]) + m + +-- | ## Examples +-- | +-- | ```purescript +-- | encodeQueryParams $ Map.fromFoldable +-- | [ Tuple "ok" "" +-- | , Tuple "ok2" "hi" +-- | , Tuple "fail2" "\xD800" -- invalid surrogate +-- | ] +-- | -- Left ["fail2"] +-- | ``` +-- | +-- | ```purescript +-- | encodeQueryParams $ Map.fromFoldable +-- | [ Tuple "ok" "" +-- | , Tuple "ok2" "hi" +-- | ] +-- | -- Right "ok=&ok2=hi" +-- | ``` +encodeQueryParams + :: Map NonEmptyString String + -> Either (NonEmptyArray NonEmptyString) (Map NonEmptyString String) +encodeQueryParams kvs = + let + -- Step 1: Attempt to encode each value, producing Map k (Maybe v) + encodedMap :: Map NonEmptyString (Maybe String) + encodedMap = map JSURI.encodeURIComponent kvs + + -- Step 2: Fail if any encoding returned Nothing + in + catMaybes_errorIfSomeIsNothing encodedMap + +-- | ## Examples +-- | +-- | ```purescript +-- | mkUrlWithMaybeQuery "https://my.website.com" +-- | [ Tuple "ok" "" +-- | , Tuple "ok2" "hi" +-- | , Tuple "fail2" "\xD800" -- invalid surrogate +-- | ] +-- | -- Left ["fail2"] +-- | ``` +-- | +-- | ```purescript +-- | mkUrlWithMaybeQuery "https://my.website.com" +-- | [ Tuple "ok" "" +-- | , Tuple "ok2" "hi" +-- | ] +-- | -- Right "https://my.website.com?ok=&ok2=hi" +-- | ``` +-- | +-- | ```purescript +-- | mkUrlWithMaybeQuery "https://my.website.com" [ ] +-- | -- Right "https://my.website.com" +-- | ``` +mkUrlWithMaybeQuery + :: String + -> Array (Tuple String String) + -> Either (NonEmptyArray NonEmptyString) String +mkUrlWithMaybeQuery baseUrl kvs = do + -- Step 1: filter out empty keys, turn into Map + let + kvsMap :: Map NonEmptyString String + kvsMap = + Map.fromFoldable + ( mapMaybe + ( \(Tuple k v) -> do + k' <- NES.fromString k + pure (Tuple k' v) -- v stays String + ) + kvs + ) + + -- Step 2: try to encode query params + encodedMap <- encodeQueryParams kvsMap + + -- Step 3: build query string if any + case toQuery encodedMap of + Nothing -> + Right baseUrl + Just query -> + Right (baseUrl <> "?" <> NES.toString query) diff --git a/packages/purescript-nhost/src/Nhost/Storage/Client.purs b/packages/purescript-nhost/src/Nhost/Storage/Client.purs new file mode 100644 index 00000000..7d1b170b --- /dev/null +++ b/packages/purescript-nhost/src/Nhost/Storage/Client.purs @@ -0,0 +1,575 @@ +-- | This file is auto-generated. Do not edit manually. +module Nhost.Storage.Client where + +import Prelude + +import Data.Generic.Rep (class Generic) +import Data.Show.Generic (genericShow) +import Data.Maybe (Maybe(..)) +import Effect.Aff (Aff) +import Web.File.Blob (Blob) +import JSON as J +import Data.Codec.JSON.Common as CJ +import Data.Codec.JSON.Record as CJR +import Data.Newtype (class Newtype, unwrap, wrap) +import Data.Profunctor (dimap) + +-- | Date in RFC 2822 format +newtype RFC2822Date = RFC2822Date String + +derive instance Newtype RFC2822Date _ +derive instance Generic RFC2822Date _ +derive instance Eq RFC2822Date + +instance Show RFC2822Date where + show x = genericShow x + +rFC2822DateCodec :: CJ.Codec RFC2822Date +rFC2822DateCodec = dimap unwrap wrap CJ.string + +-- | Error details. +-- | +-- | * `Message`: `String` - Human-readable error message. +-- | * `Data` (Optional): `Maybe J.JObject` - Additional data related to the error, if any. +type ErrorResponseError = + { "message" :: String -- Human-readable error message. + , "data" :: Maybe J.JObject -- Additional data related to the error, if any. + } + +errorResponseErrorCodec :: CJ.Codec ErrorResponseError +errorResponseErrorCodec = + CJR.objectStrict + { "message": CJ.string + , "data": CJR.optional CJ.jobject + } + +-- | Error information returned by the API. +-- | +-- | * `Error` (Optional): `Maybe ErrorResponseError` - Error details. +type ErrorResponse = + { "error" :: Maybe ErrorResponseError -- Error details. + } + +errorResponseCodec :: CJ.Codec ErrorResponse +errorResponseCodec = + CJR.objectStrict + { "error": CJR.optional errorResponseErrorCodec + } + +-- | Error details. +-- | +-- | * `Message`: `String` - Human-readable error message. +-- | * `Data` (Optional): `Maybe J.JObject` - Additional data related to the error, if any. +type ErrorResponseWithProcessedFilesError = + { "message" :: String -- Human-readable error message. + , "data" :: Maybe J.JObject -- Additional data related to the error, if any. + } + +errorResponseWithProcessedFilesErrorCodec :: CJ.Codec ErrorResponseWithProcessedFilesError +errorResponseWithProcessedFilesErrorCodec = + CJR.objectStrict + { "message": CJ.string + , "data": CJR.optional CJ.jobject + } + +-- | Error information returned by the API. +-- | +-- | * `ProcessedFiles` (Optional): `Maybe (Array FileMetadata)` - List of files that were successfully processed before the error occurred. +-- | * `Error` (Optional): `Maybe ErrorResponseWithProcessedFilesError` - Error details. +type ErrorResponseWithProcessedFiles = + { "processedFiles" :: Maybe (Array FileMetadata) -- List of files that were successfully processed before the error occurred. + , "error" :: Maybe ErrorResponseWithProcessedFilesError -- Error details. + } + +errorResponseWithProcessedFilesCodec :: CJ.Codec ErrorResponseWithProcessedFiles +errorResponseWithProcessedFilesCodec = + CJR.objectStrict + { "processedFiles": CJR.optional (CJ.array fileMetadataCodec) + , "error": CJR.optional errorResponseWithProcessedFilesErrorCodec + } + +-- | Comprehensive metadata information about a file in storage. +-- | +-- | * `Id`: `String` - Unique identifier for the file. +-- | * `Name`: `String` - Name of the file including extension. +-- | * `Size`: `Int` - Size of the file in bytes. +-- | * `BucketId`: `String` - ID of the bucket containing the file. +-- | * `Etag`: `String` - Entity tag for cache validation. +-- | * `CreatedAt`: `String` - Timestamp when the file was created. +-- | * `UpdatedAt`: `String` - Timestamp when the file was last updated. +-- | * `IsUploaded`: `Boolean` - Whether the file has been successfully uploaded. +-- | * `MimeType`: `String` - MIME type of the file. +-- | * `UploadedByUserId` (Optional): `Maybe String` - ID of the user who uploaded the file. +-- | * `Metadata` (Optional): `Maybe J.JObject` - Custom metadata associated with the file. +type FileMetadata = + { "id" :: String -- Unique identifier for the file. + , "name" :: String -- Name of the file including extension. + , "size" :: Int -- Size of the file in bytes. + , "bucketId" :: String -- ID of the bucket containing the file. + , "etag" :: String -- Entity tag for cache validation. + , "createdAt" :: String -- Timestamp when the file was created. + , "updatedAt" :: String -- Timestamp when the file was last updated. + , "isUploaded" :: Boolean -- Whether the file has been successfully uploaded. + , "mimeType" :: String -- MIME type of the file. + , "uploadedByUserId" :: Maybe String -- ID of the user who uploaded the file. + , "metadata" :: Maybe J.JObject -- Custom metadata associated with the file. + } + +fileMetadataCodec :: CJ.Codec FileMetadata +fileMetadataCodec = + CJR.objectStrict + { "id": CJ.string + , "name": CJ.string + , "size": CJ.int + , "bucketId": CJ.string + , "etag": CJ.string + , "createdAt": CJ.string + , "updatedAt": CJ.string + , "isUploaded": CJ.boolean + , "mimeType": CJ.string + , "uploadedByUserId": CJR.optional CJ.string + , "metadata": CJR.optional CJ.jobject + } + +-- | Basic information about a file in storage. +-- | +-- | * `Id`: `String` - Unique identifier for the file. +-- | * `Name`: `String` - Name of the file including extension. +-- | * `BucketId`: `String` - ID of the bucket containing the file. +-- | * `IsUploaded`: `Boolean` - Whether the file has been successfully uploaded. +type FileSummary = + { "id" :: String -- Unique identifier for the file. + , "name" :: String -- Name of the file including extension. + , "bucketId" :: String -- ID of the bucket containing the file. + , "isUploaded" :: Boolean -- Whether the file has been successfully uploaded. + } + +fileSummaryCodec :: CJ.Codec FileSummary +fileSummaryCodec = + CJR.objectStrict + { "id": CJ.string + , "name": CJ.string + , "bucketId": CJ.string + , "isUploaded": CJ.boolean + } + +-- | Contains a presigned URL for direct file operations. +-- | +-- | * `Url`: `String` - The presigned URL for file operations. +-- | * `Expiration`: `Int` - The time in seconds until the URL expires. +type PresignedURLResponse = + { "url" :: String -- The presigned URL for file operations. + , "expiration" :: Int -- The time in seconds until the URL expires. + } + +presignedURLResponseCodec :: CJ.Codec PresignedURLResponse +presignedURLResponseCodec = + CJR.objectStrict + { "url": CJ.string + , "expiration": CJ.int + } + +-- | Metadata that can be updated for an existing file. +-- | +-- | * `Name` (Optional): `Maybe String` - New name to assign to the file. +-- | * `Metadata` (Optional): `Maybe J.JObject` - Updated custom metadata to associate with the file. +type UpdateFileMetadata = + { "name" :: Maybe String -- New name to assign to the file. + , "metadata" :: Maybe J.JObject -- Updated custom metadata to associate with the file. + } + +updateFileMetadataCodec :: CJ.Codec UpdateFileMetadata +updateFileMetadataCodec = + CJR.objectStrict + { "name": CJR.optional CJ.string + , "metadata": CJR.optional CJ.jobject + } + +-- | Metadata provided when uploading a new file. +-- | +-- | * `Id` (Optional): `Maybe String` - Optional custom ID for the file. If not provided, a UUID will be generated. +-- | * `Name` (Optional): `Maybe String` - Name to assign to the file. If not provided, the original filename will be used. +-- | * `Metadata` (Optional): `Maybe J.JObject` - Custom metadata to associate with the file. +type UploadFileMetadata = + { "id" :: Maybe String -- Optional custom ID for the file. If not provided, a UUID will be generated. + , "name" :: Maybe String -- Name to assign to the file. If not provided, the original filename will be used. + , "metadata" :: Maybe J.JObject -- Custom metadata to associate with the file. + } + +uploadFileMetadataCodec :: CJ.Codec UploadFileMetadata +uploadFileMetadataCodec = + CJR.objectStrict + { "id": CJR.optional CJ.string + , "name": CJR.optional CJ.string + , "metadata": CJR.optional CJ.jobject + } + +-- | Contains version information about the storage service. +-- | +-- | * `BuildVersion`: `String` - The version number of the storage service build. +type VersionInformation = + { "buildVersion" :: String -- The version number of the storage service build. + } + +versionInformationCodec :: CJ.Codec VersionInformation +versionInformationCodec = + CJR.objectStrict + { "buildVersion": CJ.string + } + +-- | Output format for image files. Use 'auto' for content negotiation based on Accept header +data OutputImageFormat + = OutputImageFormat_Auto + | OutputImageFormat_Same + | OutputImageFormat_Jpeg + | OutputImageFormat_Webp + | OutputImageFormat_Png + | OutputImageFormat_Avif + +derive instance genericOutputImageFormat :: Generic OutputImageFormat _ +derive instance eqOutputImageFormat :: Eq OutputImageFormat +derive instance ordOutputImageFormat :: Ord OutputImageFormat + +instance showOutputImageFormat :: Show OutputImageFormat where + show = genericShow + +-- Extract dec / enc to top-level +outputImageFormat_dec :: String -> Maybe OutputImageFormat +outputImageFormat_dec = case _ of + "auto" -> Just OutputImageFormat_Auto + "same" -> Just OutputImageFormat_Same + "jpeg" -> Just OutputImageFormat_Jpeg + "webp" -> Just OutputImageFormat_Webp + "png" -> Just OutputImageFormat_Png + "avif" -> Just OutputImageFormat_Avif + _ -> Nothing + +outputImageFormat_enc :: OutputImageFormat -> String +outputImageFormat_enc = case _ of + OutputImageFormat_Auto -> "auto" + OutputImageFormat_Same -> "same" + OutputImageFormat_Jpeg -> "jpeg" + OutputImageFormat_Webp -> "webp" + OutputImageFormat_Png -> "png" + OutputImageFormat_Avif -> "avif" + +outputImageFormatCodec :: CJ.Codec OutputImageFormat +outputImageFormatCodec = CJ.prismaticCodec "OutputImageFormat" outputImageFormat_dec outputImageFormat_enc CJ.string + +-- | +-- | * `BucketId` (Optional): `Maybe String` - Target bucket identifier where files will be stored. +-- | * `Metadata[]` (Optional): `Maybe (Array UploadFileMetadata)` - Optional custom metadata for each uploaded file. Must match the order of the file[] array. +-- | * `File[]`: `Array Blob` - Array of files to upload. +type UploadFilesBody = + { "bucket-id" :: Maybe String -- Target bucket identifier where files will be stored. + , "metadata[]" :: Maybe (Array UploadFileMetadata) -- Optional custom metadata for each uploaded file. Must match the order of the file[] array. + , "file[]" :: Array Blob -- Array of files to upload. + } + +-- Codec not generated because this type contains Blob fields + +-- | +-- | * `ProcessedFiles`: `Array FileMetadata` - List of successfully processed files with their metadata. +type UploadFilesResponse201 = + { "processedFiles" :: Array FileMetadata -- List of successfully processed files with their metadata. + } + +uploadFilesResponse201Codec :: CJ.Codec UploadFilesResponse201 +uploadFilesResponse201Codec = + CJR.objectStrict + { "processedFiles": (CJ.array fileMetadataCodec) + } + +-- | +-- | * `Metadata` (Optional): `Maybe UpdateFileMetadata` - Metadata that can be updated for an existing file. +-- | * `File` (Optional): `Maybe Blob` - New file content to replace the existing file +type ReplaceFileBody = + { "metadata" :: Maybe UpdateFileMetadata -- Metadata that can be updated for an existing file. + , "file" :: Maybe Blob -- New file content to replace the existing file + } + +-- Codec not generated because this type contains Blob fields + +-- | +-- | * `Metadata` (Optional): `Maybe (Array FileSummary)` +type DeleteBrokenMetadataResponse200 = + { "metadata" :: Maybe (Array FileSummary) + } + +deleteBrokenMetadataResponse200Codec :: CJ.Codec DeleteBrokenMetadataResponse200 +deleteBrokenMetadataResponse200Codec = + CJR.objectStrict + { "metadata": CJR.optional (CJ.array fileSummaryCodec) + } + +-- | +-- | * `Files` (Optional): `Maybe (Array String)` +type DeleteOrphanedFilesResponse200 = + { "files" :: Maybe (Array String) + } + +deleteOrphanedFilesResponse200Codec :: CJ.Codec DeleteOrphanedFilesResponse200 +deleteOrphanedFilesResponse200Codec = + CJR.objectStrict + { "files": CJR.optional (CJ.array CJ.string) + } + +-- | +-- | * `Metadata` (Optional): `Maybe (Array FileSummary)` +type ListBrokenMetadataResponse200 = + { "metadata" :: Maybe (Array FileSummary) + } + +listBrokenMetadataResponse200Codec :: CJ.Codec ListBrokenMetadataResponse200 +listBrokenMetadataResponse200Codec = + CJR.objectStrict + { "metadata": CJR.optional (CJ.array fileSummaryCodec) + } + +-- | +-- | * `Metadata` (Optional): `Maybe (Array FileSummary)` +type ListFilesNotUploadedResponse200 = + { "metadata" :: Maybe (Array FileSummary) + } + +listFilesNotUploadedResponse200Codec :: CJ.Codec ListFilesNotUploadedResponse200 +listFilesNotUploadedResponse200Codec = + CJR.objectStrict + { "metadata": CJR.optional (CJ.array fileSummaryCodec) + } + +-- | +-- | * `Files` (Optional): `Maybe (Array String)` +type ListOrphanedFilesResponse200 = + { "files" :: Maybe (Array String) + } + +listOrphanedFilesResponse200Codec :: CJ.Codec ListOrphanedFilesResponse200 +listOrphanedFilesResponse200Codec = + CJR.objectStrict + { "files": CJR.optional (CJ.array CJ.string) + } + +-- | Parameters for the GetFile method. +type GetFileParams = + { "q" :: Maybe Int -- Image quality (1-100). Only applies to JPEG, WebP and PNG files + , "h" :: Maybe Int -- Maximum height to resize image to while maintaining aspect ratio. Only applies to image files + , "w" :: Maybe Int -- Maximum width to resize image to while maintaining aspect ratio. Only applies to image files + , "b" :: Maybe Number -- Blur the image using this sigma value. Only applies to image files + , "f" :: Maybe OutputImageFormat -- Output format for image files. Use 'auto' for content negotiation based on Accept header + } + +getFileParamsCodec :: CJ.Codec GetFileParams +getFileParamsCodec = + CJR.objectStrict + { "q": CJ.maybe CJ.int + , "h": CJ.maybe CJ.int + , "w": CJ.maybe CJ.int + , "b": CJ.maybe CJ.number + , "f": CJ.maybe outputImageFormatCodec + } + +-- | Parameters for the GetFileMetadataHeaders method. +type GetFileMetadataHeadersParams = + { "q" :: Maybe Int -- Image quality (1-100). Only applies to JPEG, WebP and PNG files + , "h" :: Maybe Int -- Maximum height to resize image to while maintaining aspect ratio. Only applies to image files + , "w" :: Maybe Int -- Maximum width to resize image to while maintaining aspect ratio. Only applies to image files + , "b" :: Maybe Number -- Blur the image using this sigma value. Only applies to image files + , "f" :: Maybe OutputImageFormat -- Output format for image files. Use 'auto' for content negotiation based on Accept header + } + +getFileMetadataHeadersParamsCodec :: CJ.Codec GetFileMetadataHeadersParams +getFileMetadataHeadersParamsCodec = + CJR.objectStrict + { "q": CJ.maybe CJ.int + , "h": CJ.maybe CJ.int + , "w": CJ.maybe CJ.int + , "b": CJ.maybe CJ.number + , "f": CJ.maybe outputImageFormatCodec + } + +-- | UploadFiles +-- | +-- | Summary: Upload files +-- | +-- | Upload one or more files to a specified bucket. Supports batch uploading with optional custom metadata for each file. If uploading multiple files, either provide metadata for all files or none. +-- | +-- | Possible responses: +-- | - 201: UploadFilesResponse201 +type UploadFilesFn fetchResponse = UploadFilesBody -> Aff (fetchResponse UploadFilesResponse201) + +-- | DeleteFile +-- | +-- | Summary: Delete file +-- | +-- | Permanently delete a file from storage. This removes both the file content and its associated metadata. +-- | +-- | Possible responses: +-- | - 204: Unit +type DeleteFileFn fetchResponse = String -> Aff fetchResponse + +-- | GetFile +-- | +-- | Summary: Download file +-- | +-- | Retrieve and download the complete file content. Supports conditional requests, image transformations, and range requests for partial downloads. +-- | +-- | Possible responses: +-- | - 200: Unit +-- | - 206: Unit +-- | - 304: Unit +-- | - 412: Unit +type GetFileFn fetchResponse = String -> Maybe GetFileParams -> Aff (fetchResponse Blob) + +-- | GetFileMetadataHeaders +-- | +-- | Summary: Check file information +-- | +-- | Retrieve file metadata headers without downloading the file content. Supports conditional requests and provides caching information. +-- | +-- | Possible responses: +-- | - 200: Unit +-- | - 304: Unit +-- | - 412: Unit +type GetFileMetadataHeadersFn fetchResponse = String -> Maybe GetFileMetadataHeadersParams -> Aff fetchResponse + +-- | ReplaceFile +-- | +-- | Summary: Replace file +-- | +-- | Replace an existing file with new content while preserving the file ID. The operation follows these steps: +-- | 1. The isUploaded flag is set to false to mark the file as being updated +-- | 2. The file content is replaced in the storage backend +-- | 3. File metadata is updated (size, mime-type, isUploaded, etc.) +-- | +-- | Each step is atomic, but if a step fails, previous steps will not be automatically rolled back. +-- | +-- | +-- | Possible responses: +-- | - 200: FileMetadata +type ReplaceFileFn fetchResponse = String -> ReplaceFileBody -> Aff (fetchResponse FileMetadata) + +-- | GetFilePresignedURL +-- | +-- | Summary: Retrieve presigned URL to retrieve the file +-- | +-- | Retrieve presigned URL to retrieve the file. Expiration of the URL is +-- | determined by bucket configuration +-- | +-- | +-- | Possible responses: +-- | - 200: PresignedURLResponse +type GetFilePresignedURLFn fetchResponse = String -> Aff (fetchResponse PresignedURLResponse) + +-- | DeleteBrokenMetadata +-- | +-- | Summary: Delete broken metadata +-- | +-- | Broken metadata is defined as metadata that has isUploaded = true but there is no file in the storage matching it. This is an admin operation that requires the Hasura admin secret. +-- | +-- | Possible responses: +-- | - 200: DeleteBrokenMetadataResponse200 +type DeleteBrokenMetadataFn fetchResponse = Aff (fetchResponse DeleteBrokenMetadataResponse200) + +-- | DeleteOrphanedFiles +-- | +-- | Summary: Deletes orphaned files +-- | +-- | Orphaned files are files that are present in the storage but have no associated metadata. This is an admin operation that requires the Hasura admin secret. +-- | +-- | Possible responses: +-- | - 200: DeleteOrphanedFilesResponse200 +type DeleteOrphanedFilesFn fetchResponse = Aff (fetchResponse DeleteOrphanedFilesResponse200) + +-- | ListBrokenMetadata +-- | +-- | Summary: Lists broken metadata +-- | +-- | Broken metadata is defined as metadata that has isUploaded = true but there is no file in the storage matching it. This is an admin operation that requires the Hasura admin secret. +-- | +-- | Possible responses: +-- | - 200: ListBrokenMetadataResponse200 +type ListBrokenMetadataFn fetchResponse = Aff (fetchResponse ListBrokenMetadataResponse200) + +-- | ListFilesNotUploaded +-- | +-- | Summary: Lists files that haven't been uploaded +-- | +-- | That is, metadata that has isUploaded = false. This is an admin operation that requires the Hasura admin secret. +-- | +-- | Possible responses: +-- | - 200: ListFilesNotUploadedResponse200 +type ListFilesNotUploadedFn fetchResponse = Aff (fetchResponse ListFilesNotUploadedResponse200) + +-- | ListOrphanedFiles +-- | +-- | Summary: Lists orphaned files +-- | +-- | Orphaned files are files that are present in the storage but have no associated metadata. This is an admin operation that requires the Hasura admin secret. +-- | +-- | Possible responses: +-- | - 200: ListOrphanedFilesResponse200 +type ListOrphanedFilesFn fetchResponse = Aff (fetchResponse ListOrphanedFilesResponse200) + +-- | GetVersion +-- | +-- | Summary: Get service version information +-- | +-- | Retrieves build and version information about the storage service. Useful for monitoring and debugging. +-- | +-- | Possible responses: +-- | - 200: VersionInformation +type GetVersionFn fetchResponse = Aff (fetchResponse VersionInformation) + +uploadFilesPath :: String +uploadFilesPath = "/files" + +deleteFilePath :: String -> String +deleteFilePath id = "/files/" <> id + +getFilePath :: String -> String +getFilePath id = "/files/" <> id + +getFileMetadataHeadersPath :: String -> String +getFileMetadataHeadersPath id = "/files/" <> id + +replaceFilePath :: String -> String +replaceFilePath id = "/files/" <> id + +getFilePresignedURLPath :: String -> String +getFilePresignedURLPath id = "/files/" <> id + +deleteBrokenMetadataPath :: String +deleteBrokenMetadataPath = "/ops/delete-broken-metadata" + +deleteOrphanedFilesPath :: String +deleteOrphanedFilesPath = "/ops/delete-orphans" + +listBrokenMetadataPath :: String +listBrokenMetadataPath = "/ops/list-broken-metadata" + +listFilesNotUploadedPath :: String +listFilesNotUploadedPath = "/ops/list-not-uploaded" + +listOrphanedFilesPath :: String +listOrphanedFilesPath = "/ops/list-orphans" + +getVersionPath :: String +getVersionPath = "/version" + +-- | API Client type +type APIClient :: (Type -> Type) -> (Type -> Type) -> (Type -> Type) -> Type -> Type -> Type -> Type +type APIClient fetchResponseGET fetchResponsePOST fetchResponsePUT fetchResponseDELETE fetchResponseHEAD mkUrlOutput = + { uploadFiles :: UploadFilesFn fetchResponsePOST + , deleteFile :: DeleteFileFn fetchResponseDELETE + , getFile :: GetFileFn fetchResponseGET + , getFileMetadataHeaders :: GetFileMetadataHeadersFn fetchResponseHEAD + , replaceFile :: ReplaceFileFn fetchResponsePUT + , getFilePresignedURL :: GetFilePresignedURLFn fetchResponseGET + , deleteBrokenMetadata :: DeleteBrokenMetadataFn fetchResponsePOST + , deleteOrphanedFiles :: DeleteOrphanedFilesFn fetchResponsePOST + , listBrokenMetadata :: ListBrokenMetadataFn fetchResponsePOST + , listFilesNotUploaded :: ListFilesNotUploadedFn fetchResponsePOST + , listOrphanedFiles :: ListOrphanedFilesFn fetchResponsePOST + , getVersion :: GetVersionFn fetchResponseGET + } diff --git a/packages/purescript-nhost/src/Nhost/Storage/Impl.purs b/packages/purescript-nhost/src/Nhost/Storage/Impl.purs new file mode 100644 index 00000000..645653fb --- /dev/null +++ b/packages/purescript-nhost/src/Nhost/Storage/Impl.purs @@ -0,0 +1,43 @@ +module Nhost.Storage.Impl where + +import Nhost.Fetch +import Nhost.Storage.Client +import Prelude + +import Data.Array as Array +import Data.Array.NonEmpty (NonEmptyArray) +import Data.Codec.JSON as CJ +import Data.Codec.JSON as J +import Data.Either (Either(..)) +import Data.HTTP.Method (Method(..)) +import Data.Maybe (Maybe(..)) +import Data.Newtype (unwrap) +import Data.String as String +import Data.String.NonEmpty (NonEmptyString) +import Data.Tuple (Tuple(..)) +import Effect.Aff (Aff) +import Fetch as Fetch +import Foreign (Foreign, unsafeFromForeign) +import JSON (JSON) +import JSON as JSON +import Nhost.Query (mkUrlWithMaybeQuery) +import Unsafe.Coerce (unsafeCoerce) + +-- | Create API client with base URL +createAPIClient + :: String + -> APIClient FetchResponse FetchResponse FetchResponse Fetch.Response Fetch.Response Void +createAPIClient baseURL = + { uploadFiles: \body -> unsafeCoerce unit -- makeRequestPostWithBody baseURL uploadFilesPath uploadFilesResponse201Codec body + , deleteFile: \fileId -> unsafeCoerce unit -- makeRequestDelete baseURL (deleteFilePath fileId) + , getFile: \fileId params -> unsafeCoerce unit -- makeRequestGetWithParams baseURL (getFilePath fileId) params + , getFileMetadataHeaders: \fileId params -> unsafeCoerce unit -- makeRequestHeadWithParams baseURL (getFileMetadataHeadersPath fileId) params + , replaceFile: \fileId body -> unsafeCoerce unit -- makeRequestPutWithBody baseURL (replaceFilePath fileId) body fileMetadataCodec + , getFilePresignedURL: \fileId -> makeRequestGet baseURL (getFilePresignedURLPath fileId) presignedURLResponseCodec + , deleteBrokenMetadata: makeRequestPostWithoutBody baseURL deleteBrokenMetadataPath deleteBrokenMetadataResponse200Codec + , deleteOrphanedFiles: makeRequestPostWithoutBody baseURL deleteOrphanedFilesPath deleteOrphanedFilesResponse200Codec + , listBrokenMetadata: makeRequestPostWithoutBody baseURL listBrokenMetadataPath listBrokenMetadataResponse200Codec + , listFilesNotUploaded: makeRequestPostWithoutBody baseURL listFilesNotUploadedPath listFilesNotUploadedResponse200Codec + , listOrphanedFiles: makeRequestPostWithoutBody baseURL listOrphanedFilesPath listOrphanedFilesResponse200Codec + , getVersion: makeRequestGet baseURL getVersionPath versionInformationCodec + } diff --git a/packages/purescript-nhost/test/Test/Main.purs b/packages/purescript-nhost/test/Test/Main.purs new file mode 100644 index 00000000..e6169302 --- /dev/null +++ b/packages/purescript-nhost/test/Test/Main.purs @@ -0,0 +1,12 @@ +module Test.Main where + +import Prelude + +import Effect (Effect) +import Effect.Class.Console (log) + +main :: Effect Unit +main = do + log "🍕" + log "You should add some tests." + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2ef8abf4..ee0ae02c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,153 +32,153 @@ importers: specifier: ^29.6.3 version: 29.6.3 '@next/eslint-plugin-next': - specifier: ^15.3.2 - version: 15.3.3 + specifier: ^15.4.7 + version: 15.4.7 '@types/node': - specifier: ^22.15.17 - version: 22.15.29 + specifier: ^22.17.2 + version: 22.17.2 '@typescript-eslint/eslint-plugin': - specifier: ^8.32.1 - version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + specifier: ^8.40.0 + version: 8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': - specifier: ^8.32.1 - version: 8.33.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + specifier: ^8.40.0 + version: 8.40.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2) eslint: specifier: 9.26.0 - version: 9.26.0(jiti@2.4.2) + version: 9.26.0(jiti@2.5.1) eslint-plugin-next: specifier: ^0.0.0 version: 0.0.0 eslint-plugin-react: specifier: ^7.37.5 - version: 7.37.5(eslint@9.26.0(jiti@2.4.2)) + version: 7.37.5(eslint@9.26.0(jiti@2.5.1)) eslint-plugin-react-hooks: specifier: ^5.2.0 - version: 5.2.0(eslint@9.26.0(jiti@2.4.2)) + version: 5.2.0(eslint@9.26.0(jiti@2.5.1)) eslint-plugin-react-refresh: specifier: ^0.4.20 - version: 0.4.20(eslint@9.26.0(jiti@2.4.2)) + version: 0.4.20(eslint@9.26.0(jiti@2.5.1)) globals: - specifier: ^16.1.0 - version: 16.2.0 + specifier: ^16.3.0 + version: 16.3.0 prettier: - specifier: ^3.5.3 - version: 3.5.3 + specifier: ^3.6.2 + version: 3.6.2 typescript: - specifier: ^5.8.3 - version: 5.8.3 + specifier: ^5.9.2 + version: 5.9.2 typescript-eslint: specifier: 8.32.0 - version: 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2) vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0) + version: 6.3.5(@types/node@22.17.2)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1) vite-plugin-dts: - specifier: ^4.5.3 - version: 4.5.4(@types/node@22.15.29)(rollup@4.46.2)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)) + specifier: ^4.5.4 + version: 4.5.4(@types/node@22.17.2)(rollup@4.46.3)(typescript@5.9.2)(vite@6.3.5(@types/node@22.17.2)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)) demos/ReactNativeDemo: dependencies: '@expo/vector-icons': specifier: ^14.1.0 - version: 14.1.0(expo-font@13.3.1(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 14.1.0(expo-font@13.3.2(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) '@nhost/nhost-js': specifier: workspace:* version: link:../../packages/nhost-js '@react-native-async-storage/async-storage': specifier: ^2.1.2 - version: 2.1.2(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)) + version: 2.2.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)) '@react-navigation/bottom-tabs': specifier: ^7.3.14 - version: 7.3.14(@react-navigation/native@7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.11.1(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 7.4.6(@react-navigation/native@7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.14.1(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) '@react-navigation/elements': specifier: ^2.4.3 - version: 2.4.3(@react-navigation/native@7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 2.6.3(@react-navigation/native@7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) '@react-navigation/native': specifier: ^7.1.10 - version: 7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) expo: specifier: ~53.0.10 - version: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) expo-apple-authentication: specifier: ~7.2.4 - version: 7.2.4(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)) + version: 7.2.4(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)) expo-blur: specifier: ~14.1.5 - version: 14.1.5(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 14.1.5(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) expo-clipboard: specifier: ^7.1.4 - version: 7.1.4(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 7.1.5(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) expo-constants: specifier: ~17.1.6 - version: 17.1.6(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)) + version: 17.1.7(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)) expo-crypto: specifier: ~14.1.4 - version: 14.1.4(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) + version: 14.1.5(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) expo-document-picker: specifier: ^13.1.5 - version: 13.1.5(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) + version: 13.1.6(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) expo-file-system: specifier: ^18.1.10 - version: 18.1.10(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)) + version: 18.1.11(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)) expo-font: specifier: ~13.3.1 - version: 13.3.1(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) + version: 13.3.2(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) expo-haptics: specifier: ~14.1.4 - version: 14.1.4(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) + version: 14.1.4(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) expo-image: specifier: ~2.2.0 - version: 2.2.0(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-web@0.20.0(react-dom@19.1.0(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 2.2.1(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-web@0.20.0(react-dom@19.1.1(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) expo-linking: specifier: ~7.1.5 - version: 7.1.5(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 7.1.7(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) expo-router: specifier: ~5.0.7 - version: 5.0.7(63020ad4e1c49dab45e675ddd8c77c8a) + version: 5.0.7(169290b4402a3a91ccf7fe04dbb8a7a9) expo-sharing: specifier: ^13.1.5 - version: 13.1.5(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) + version: 13.1.5(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) expo-splash-screen: specifier: ~0.30.9 - version: 0.30.9(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) + version: 0.30.10(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) expo-status-bar: specifier: ~2.2.3 - version: 2.2.3(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 2.2.3(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) expo-symbols: specifier: ~0.4.5 - version: 0.4.5(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)) + version: 0.4.5(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)) expo-system-ui: specifier: ~5.0.8 - version: 5.0.8(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-web@0.20.0(react-dom@19.1.0(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)) + version: 5.0.10(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-web@0.20.0(react-dom@19.1.1(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)) expo-web-browser: specifier: ~14.1.6 - version: 14.1.6(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)) + version: 14.1.6(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)) react: specifier: 19.0.0 version: 19.0.0 react-native: specifier: 0.79.3 - version: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + version: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) react-native-gesture-handler: specifier: ~2.24.0 - version: 2.24.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 2.24.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) react-native-reanimated: specifier: ~3.17.5 - version: 3.17.5(@babel/core@7.27.4)(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 3.17.5(@babel/core@7.28.3)(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) react-native-safe-area-context: specifier: 5.4.0 - version: 5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) react-native-screens: specifier: ^4.11.1 - version: 4.11.1(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 4.14.1(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) react-native-webview: specifier: 13.13.5 - version: 13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + version: 13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) devDependencies: '@babel/core': specifier: ^7.27.4 - version: 7.27.4 + version: 7.28.3 '@types/react': specifier: ~19.0.14 version: 19.0.14 @@ -197,13 +197,13 @@ importers: devDependencies: '@types/cookie-parser': specifier: ^1.4.8 - version: 1.4.8(@types/express@5.0.2) + version: 1.4.9(@types/express@5.0.3) '@types/express': specifier: ^5.0.2 - version: 5.0.2 + version: 5.0.3 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.15.29)(typescript@5.8.3) + version: 10.9.2(@types/node@24.3.0)(typescript@5.9.2) demos/nextjs-ssr-demo: dependencies: @@ -212,23 +212,23 @@ importers: version: link:../../packages/nhost-js '@simplewebauthn/browser': specifier: ^13.1.0 - version: 13.1.0 + version: 13.1.2 next: specifier: '>=15.3.3' - version: 15.3.5(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.4.7(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) react: specifier: ^19.1.0 - version: 19.1.0 + version: 19.1.1 react-dom: specifier: ^19.1.0 - version: 19.1.0(react@19.1.0) + version: 19.1.1(react@19.1.1) devDependencies: '@types/react': specifier: ^19 - version: 19.1.6 + version: 19.1.10 '@types/react-dom': specifier: ^19 - version: 19.1.6(@types/react@19.1.6) + version: 19.1.7(@types/react@19.1.10) demos/react-demo: dependencies: @@ -237,26 +237,26 @@ importers: version: link:../../packages/nhost-js '@simplewebauthn/browser': specifier: ^13.1.0 - version: 13.1.0 + version: 13.1.2 react: specifier: ^19.1.0 - version: 19.1.0 + version: 19.1.1 react-dom: specifier: ^19.1.0 - version: 19.1.0(react@19.1.0) + version: 19.1.1(react@19.1.1) react-router-dom: specifier: ^7.6.0 - version: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 7.8.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1) devDependencies: '@types/react': specifier: ^19.1.2 - version: 19.1.6 + version: 19.1.10 '@types/react-dom': specifier: ^19.1.2 - version: 19.1.6(@types/react@19.1.6) + version: 19.1.7(@types/react@19.1.10) '@vitejs/plugin-react': specifier: ^4.4.1 - version: 4.5.1(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)) + version: 4.7.0(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)) demos/sveltekit-demo: dependencies: @@ -265,56 +265,56 @@ importers: version: link:../../packages/nhost-js '@simplewebauthn/browser': specifier: ^13.1.0 - version: 13.1.0 + version: 13.1.2 devDependencies: '@eslint/compat': specifier: ^1.2.5 - version: 1.3.2(eslint@9.26.0(jiti@2.4.2)) + version: 1.3.2(eslint@9.33.0(jiti@2.5.1)) '@eslint/js': specifier: ^9.18.0 - version: 9.26.0 + version: 9.33.0 '@sveltejs/adapter-auto': specifier: ^6.0.0 - version: 6.1.0(@sveltejs/kit@2.30.1(@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)))(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0))) + version: 6.1.0(@sveltejs/kit@2.33.0(@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1))) '@sveltejs/kit': specifier: ^2.22.0 - version: 2.30.1(@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)))(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)) + version: 2.33.0(@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)) '@sveltejs/vite-plugin-svelte': specifier: ^6.0.0 - version: 6.1.2(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)) + version: 6.1.2(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)) eslint: specifier: ^9.18.0 - version: 9.26.0(jiti@2.4.2) + version: 9.33.0(jiti@2.5.1) eslint-config-prettier: specifier: ^10.0.1 - version: 10.1.5(eslint@9.26.0(jiti@2.4.2)) + version: 10.1.8(eslint@9.33.0(jiti@2.5.1)) eslint-plugin-svelte: specifier: ^3.0.0 - version: 3.11.0(eslint@9.26.0(jiti@2.4.2))(svelte@5.38.1)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)) + version: 3.11.0(eslint@9.33.0(jiti@2.5.1))(svelte@5.38.2)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) globals: specifier: ^16.0.0 - version: 16.2.0 + version: 16.3.0 prettier: specifier: ^3.4.2 - version: 3.5.3 + version: 3.6.2 prettier-plugin-svelte: specifier: ^3.3.3 - version: 3.4.0(prettier@3.5.3)(svelte@5.38.1) + version: 3.4.0(prettier@3.6.2)(svelte@5.38.2) svelte: specifier: ^5.0.0 - version: 5.38.1 + version: 5.38.2 svelte-check: specifier: ^4.0.0 - version: 4.3.1(picomatch@4.0.3)(svelte@5.38.1)(typescript@5.8.3) + version: 4.3.1(picomatch@4.0.3)(svelte@5.38.2)(typescript@5.9.2) typescript: specifier: ^5.0.0 - version: 5.8.3 + version: 5.9.2 typescript-eslint: specifier: ^8.20.0 - version: 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) vite: specifier: ^7.0.4 - version: 7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0) + version: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1) demos/vue-demo: dependencies: @@ -323,53 +323,53 @@ importers: version: link:../../packages/nhost-js '@simplewebauthn/browser': specifier: ^13.1.0 - version: 13.1.0 + version: 13.1.2 vue: specifier: ^3.5.13 - version: 3.5.16(typescript@5.8.3) + version: 3.5.18(typescript@5.9.2) vue-router: specifier: ^4.5.0 - version: 4.5.1(vue@3.5.16(typescript@5.8.3)) + version: 4.5.1(vue@3.5.18(typescript@5.9.2)) devDependencies: '@vitejs/plugin-vue': specifier: ^5.2.3 - version: 5.2.4(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + version: 5.2.4(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2)) '@vue/eslint-config-prettier': specifier: ^10.2.0 - version: 10.2.0(eslint@9.26.0(jiti@2.4.2))(prettier@3.5.3) + version: 10.2.0(eslint@9.33.0(jiti@2.5.1))(prettier@3.6.2) '@vue/eslint-config-typescript': specifier: ^14.5.0 - version: 14.5.0(eslint-plugin-vue@10.0.1(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + version: 14.6.0(eslint-plugin-vue@10.0.1(eslint@9.33.0(jiti@2.5.1))(vue-eslint-parser@10.2.0(eslint@9.33.0(jiti@2.5.1))))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) '@vue/tsconfig': specifier: ^0.7.0 - version: 0.7.0(typescript@5.8.3)(vue@3.5.16(typescript@5.8.3)) + version: 0.7.0(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)) eslint-plugin-vue: specifier: ~10.0.0 - version: 10.0.1(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))) + version: 10.0.1(eslint@9.33.0(jiti@2.5.1))(vue-eslint-parser@10.2.0(eslint@9.33.0(jiti@2.5.1))) jiti: specifier: ^2.4.2 - version: 2.4.2 + version: 2.5.1 npm-run-all2: specifier: ^7.0.2 version: 7.0.2 vite-plugin-vue-devtools: specifier: ^7.7.2 - version: 7.7.6(rollup@4.46.2)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + version: 7.7.7(rollup@4.46.3)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2)) vue-tsc: specifier: ^2.2.8 - version: 2.2.10(typescript@5.8.3) + version: 2.2.12(typescript@5.9.2) docs: devDependencies: mintlify: specifier: ^4.0.476 - version: 4.0.574(@types/node@22.15.29)(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + version: 4.2.75(@types/node@24.3.0)(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2) guides/react-apollo: dependencies: '@apollo/client': specifier: ^3.13.8 - version: 3.13.8(@types/react@19.1.6)(graphql-ws@6.0.5(graphql@16.11.0)(ws@8.18.2))(graphql@16.11.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 3.13.9(@types/react@19.1.10)(graphql-ws@6.0.5(graphql@16.11.0)(ws@8.18.3))(graphql@16.11.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@graphql-typed-document-node/core': specifier: ^3.2.0 version: 3.2.0(graphql@16.11.0) @@ -381,17 +381,17 @@ importers: version: 16.11.0 react: specifier: ^19.1.0 - version: 19.1.0 + version: 19.1.1 react-dom: specifier: ^19.1.0 - version: 19.1.0(react@19.1.0) + version: 19.1.1(react@19.1.1) react-router-dom: specifier: ^7.6.0 - version: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 7.8.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1) devDependencies: '@graphql-codegen/cli': specifier: ^5.0.6 - version: 5.0.6(@types/node@22.15.29)(graphql@16.11.0)(typescript@5.8.3) + version: 5.0.7(@types/node@24.3.0)(graphql@16.11.0)(typescript@5.9.2) '@graphql-codegen/schema-ast': specifier: ^4.1.0 version: 4.1.0(graphql@16.11.0) @@ -400,13 +400,13 @@ importers: version: 4.3.3(graphql@16.11.0) '@types/react': specifier: ^19.1.2 - version: 19.1.6 + version: 19.1.10 '@types/react-dom': specifier: ^19.1.2 - version: 19.1.6(@types/react@19.1.6) + version: 19.1.7(@types/react@19.1.10) '@vitejs/plugin-react': specifier: ^4.4.1 - version: 4.5.1(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)) + version: 4.7.0(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)) guides/react-query: dependencies: @@ -418,23 +418,23 @@ importers: version: link:../../packages/nhost-js '@tanstack/react-query': specifier: ^5.79.0 - version: 5.80.5(react@19.1.0) + version: 5.85.3(react@19.1.1) graphql: specifier: ^16.11.0 version: 16.11.0 react: specifier: ^19.1.0 - version: 19.1.0 + version: 19.1.1 react-dom: specifier: ^19.1.0 - version: 19.1.0(react@19.1.0) + version: 19.1.1(react@19.1.1) react-router-dom: specifier: ^7.6.0 - version: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 7.8.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1) devDependencies: '@graphql-codegen/cli': specifier: ^5.0.6 - version: 5.0.6(@types/node@22.15.29)(graphql@16.11.0)(typescript@5.8.3) + version: 5.0.7(@types/node@24.3.0)(graphql@16.11.0)(typescript@5.9.2) '@graphql-codegen/schema-ast': specifier: ^4.1.0 version: 4.1.0(graphql@16.11.0) @@ -443,16 +443,16 @@ importers: version: 6.1.1(graphql@16.11.0) '@tanstack/react-query-devtools': specifier: ^5.79.0 - version: 5.80.5(@tanstack/react-query@5.80.5(react@19.1.0))(react@19.1.0) + version: 5.85.3(@tanstack/react-query@5.85.3(react@19.1.1))(react@19.1.1) '@types/react': specifier: ^19.1.2 - version: 19.1.6 + version: 19.1.10 '@types/react-dom': specifier: ^19.1.2 - version: 19.1.6(@types/react@19.1.6) + version: 19.1.7(@types/react@19.1.10) '@vitejs/plugin-react': specifier: ^4.4.1 - version: 4.5.1(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)) + version: 4.7.0(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)) packages/nhost-js: devDependencies: @@ -461,13 +461,13 @@ importers: version: 3.2.0(graphql@16.11.0) '@rollup/plugin-node-resolve': specifier: ^16.0.1 - version: 16.0.1(rollup@4.46.2) + version: 16.0.1(rollup@4.46.3) '@types/jest': specifier: ^29.5.14 version: 29.5.14 '@types/node': specifier: ^22.15.17 - version: 22.15.29 + version: 22.17.2 '@types/rollup-plugin-peer-deps-external': specifier: ^2.2.5 version: 2.2.5 @@ -476,36 +476,44 @@ importers: version: 2.12.6(graphql@16.11.0) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.17.2)(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)) openapi3-ts: specifier: ^4.4.0 - version: 4.4.0 + version: 4.5.0 rollup-plugin-peer-deps-external: specifier: ^2.2.4 - version: 2.2.4(rollup@4.46.2) + version: 2.2.4(rollup@4.46.3) terser: specifier: ^5.39.0 - version: 5.40.0 + version: 5.43.1 ts-jest: specifier: ^29.3.2 - version: 29.3.4(@babel/core@7.27.4)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.4))(jest@29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.4.1(@babel/core@7.28.3)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.3))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.17.2)(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)))(typescript@5.9.2) typedoc: specifier: ^0.28.4 - version: 0.28.5(typescript@5.8.3) + version: 0.28.10(typescript@5.9.2) typedoc-plugin-markdown: specifier: ^4.6.3 - version: 4.6.4(typedoc@0.28.5(typescript@5.8.3)) + version: 4.8.1(typedoc@0.28.10(typescript@5.9.2)) packages: - '@0no-co/graphql.web@1.1.2': - resolution: {integrity: sha512-N2NGsU5FLBhT8NZ+3l2YrzZSHITjNXNuDhC4iDiikv0IujaJ0Xc6xIxQZ/Ek3Cb+rgPjnLHYyJm11tInuJn+cw==} + '@0no-co/graphql.web@1.2.0': + resolution: {integrity: sha512-/1iHy9TTr63gE1YcR5idjx8UREz1s0kFhydf3bBLCXyqjhkIc6igAzTOx3zPifCwFR87tsh/4Pa9cNts6d2otw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 peerDependenciesMeta: graphql: optional: true + '@alcalzone/ansi-tokenize@0.1.3': + resolution: {integrity: sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw==} + engines: {node: '>=14.13.1'} + + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -513,8 +521,8 @@ packages: '@antfu/utils@0.7.10': resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} - '@apollo/client@3.13.8': - resolution: {integrity: sha512-YM9lQpm0VfVco4DSyKooHS/fDTiKQcCHfxr7i3iL6a0kP/jNO5+4NFK6vtRDxaYisd5BrwOZHLJpPBnvRVpKPg==} + '@apollo/client@3.13.9': + resolution: {integrity: sha512-RStSzQfL1XwL6/NWd7W8avhGQYTgPCtJ+qHkkTTSj9Upp3VVm6Oppv81YWdXG1FgEpDPW4hvCrTUELdcC4inCQ==} peerDependencies: graphql: ^15.0.0 || ^16.0.0 graphql-ws: ^5.5.5 || ^6.0.3 @@ -543,11 +551,17 @@ packages: peerDependencies: graphql: '*' + '@ark/schema@0.46.0': + resolution: {integrity: sha512-c2UQdKgP2eqqDArfBqQIJppxJHvNNXuQPeuSPlDML4rjw+f1cu0qAlzOG4b8ujgm9ctIDWwhpyw6gjG5ledIVQ==} + + '@ark/util@0.46.0': + resolution: {integrity: sha512-JPy/NGWn/lvf1WmGCPw2VGpBg5utZraE84I7wli18EDF3p3zc/e9WolT35tINeZO3l7C77SjqRJeAUoT0CvMRg==} + '@asyncapi/parser@3.4.0': resolution: {integrity: sha512-Sxn74oHiZSU6+cVeZy62iPZMFMvKp4jupMFHelSICCMw1qELmUHPvuZSr+ZHDmNGgHcEpzJM5HN02kR7T4g+PQ==} - '@asyncapi/specs@6.8.1': - resolution: {integrity: sha512-czHoAk3PeXTLR+X8IUaD+IpT+g+zUvkcgMDJVothBsan+oHN3jfcFcFUNdOPAAFoUCQN1hXF1dWuphWy05THlA==} + '@asyncapi/specs@6.10.0': + resolution: {integrity: sha512-vB5oKLsdrLUORIZ5BXortZTlVyGWWMC1Nud/0LtgxQ3Yn2738HigAD6EVqScvpPsDUI/bcLVsYEXN4dtXQHVng==} '@babel/code-frame@7.10.4': resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==} @@ -560,14 +574,22 @@ packages: resolution: {integrity: sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==} engines: {node: '>=6.9.0'} - '@babel/core@7.27.4': - resolution: {integrity: sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==} + '@babel/compat-data@7.28.0': + resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.28.3': + resolution: {integrity: sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==} engines: {node: '>=6.9.0'} '@babel/generator@7.27.5': resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==} engines: {node: '>=6.9.0'} + '@babel/generator@7.28.3': + resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.27.3': resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} engines: {node: '>=6.9.0'} @@ -582,17 +604,27 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-create-class-features-plugin@7.28.3': + resolution: {integrity: sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-create-regexp-features-plugin@7.27.1': resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-define-polyfill-provider@0.6.4': - resolution: {integrity: sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==} + '@babel/helper-define-polyfill-provider@0.6.5': + resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + '@babel/helper-member-expression-to-functions@7.27.1': resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==} engines: {node: '>=6.9.0'} @@ -601,8 +633,8 @@ packages: resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.27.3': - resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -643,20 +675,20 @@ packages: resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.27.1': - resolution: {integrity: sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==} + '@babel/helper-wrap-function@7.28.3': + resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.27.6': - resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==} + '@babel/helpers@7.28.3': + resolution: {integrity: sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==} engines: {node: '>=6.9.0'} '@babel/highlight@7.25.9': resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.27.5': - resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} + '@babel/parser@7.28.3': + resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} engines: {node: '>=6.0.0'} hasBin: true @@ -673,6 +705,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-proposal-decorators@7.28.0': + resolution: {integrity: sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-proposal-export-default-from@7.27.1': resolution: {integrity: sha512-hjlsMBl1aJc5lp8MoCDEZCiYzlgdRAShOjAfRw6X+GlpLpUPU7c3XNLsKFZbQk/1cRzBlJ7CXg3xJAJMrFa1Uw==} engines: {node: '>=6.9.0'} @@ -812,8 +850,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.27.1': - resolution: {integrity: sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==} + '@babel/plugin-transform-async-generator-functions@7.28.0': + resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -830,8 +868,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.27.5': - resolution: {integrity: sha512-JF6uE2s67f0y2RZcm2kpAUEbD50vH62TyWVebxwHAlbSdM49VqPz8t4a1uIjp4NIOIZ4xzLfjY5emt/RCyC7TQ==} + '@babel/plugin-transform-block-scoping@7.28.0': + resolution: {integrity: sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -848,14 +886,20 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-classes@7.28.3': + resolution: {integrity: sha512-DoEWC5SuxuARF2KdKmGUq3ghfPMO6ZzR12Dnp5gubwbeWJo4dbNWXJPVlwvh4Zlq6Z7YVvL8VFxeSOJgjsx4Sg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-computed-properties@7.27.1': resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-destructuring@7.27.3': - resolution: {integrity: sha512-s4Jrok82JpiaIprtY2nHsYmrThKvvwgHwjgd7UMiYhZaN0asdXNLr0y+NjTfkA7SyQE5i2Fb7eawUOZmLvyqOA==} + '@babel/plugin-transform-destructuring@7.28.0': + resolution: {integrity: sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -926,8 +970,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-rest-spread@7.27.3': - resolution: {integrity: sha512-7ZZtznF9g4l2JCImCo5LNKFHB5eXnN39lLtLY5Tg+VkR0jwOt7TBciMckuiQIOIW7L5tkQOCh3bVGYeXgMx52Q==} + '@babel/plugin-transform-object-rest-spread@7.28.0': + resolution: {integrity: sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -950,8 +994,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-parameters@7.27.1': - resolution: {integrity: sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==} + '@babel/plugin-transform-parameters@7.27.7': + resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -974,8 +1018,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-display-name@7.27.1': - resolution: {integrity: sha512-p9+Vl3yuHPmkirRrg021XiP+EETmPMQTLr6Ayjj85RLNEbb3Eya/4VI0vAdzQG9SEAl2Lnt7fy5lZyMzjYoZQQ==} + '@babel/plugin-transform-react-display-name@7.28.0': + resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1010,14 +1054,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.27.5': - resolution: {integrity: sha512-uhB8yHerfe3MWnuLAhEbeQ4afVoqv8BQsPqrTv7e/jZ9y00kJL6l9a/f4OWaKxotmjzewfEyXE1vgDJenkQ2/Q==} + '@babel/plugin-transform-regenerator@7.28.3': + resolution: {integrity: sha512-K3/M/a4+ESb5LEldjQb+XSrpY0nF+ZBFlTCbSnKaYAMfD8v33O6PMs4uYnOk19HlcsI8WMu3McdFPTiQHF/1/A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-runtime@7.27.4': - resolution: {integrity: sha512-D68nR5zxU64EUzV8i7T3R5XP0Xhrou/amNnddsRQssx6GrTLdZl1rLxyjtVZBd+v/NVX4AbTPOB5aU8thAZV1A==} + '@babel/plugin-transform-runtime@7.28.3': + resolution: {integrity: sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1052,6 +1096,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-typescript@7.28.0': + resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-unicode-regex@7.27.1': resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==} engines: {node: '>=6.9.0'} @@ -1074,18 +1124,26 @@ packages: resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==} engines: {node: '>=6.9.0'} + '@babel/runtime@7.28.3': + resolution: {integrity: sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==} + engines: {node: '>=6.9.0'} + '@babel/template@7.27.2': resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.27.4': - resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} + '@babel/traverse@7.28.3': + resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==} engines: {node: '>=6.9.0'} '@babel/types@7.27.6': resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} engines: {node: '>=6.9.0'} + '@babel/types@7.28.2': + resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} + engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -1097,8 +1155,8 @@ packages: resolution: {integrity: sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==} engines: {node: '>=0.8.0'} - '@emnapi/runtime@1.4.3': - resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} + '@emnapi/runtime@1.4.5': + resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} '@envelop/core@5.2.3': resolution: {integrity: sha512-KfoGlYD/XXQSc3BkM1/k15+JQbkQ4ateHazeZoWl9P71FsLTDXSjGy6j7QqfhpIDSbxNISqhPMfZHYSbDFOofQ==} @@ -1118,150 +1176,306 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.25.9': + resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.25.4': resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==} engines: {node: '>=18'} cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.25.9': + resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.25.4': resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==} engines: {node: '>=18'} cpu: [arm] os: [android] + '@esbuild/android-arm@0.25.9': + resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.25.4': resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==} engines: {node: '>=18'} cpu: [x64] os: [android] + '@esbuild/android-x64@0.25.9': + resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.25.4': resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.25.9': + resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.25.4': resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==} engines: {node: '>=18'} cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.25.9': + resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.25.4': resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.25.9': + resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.25.4': resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.9': + resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.25.4': resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.25.9': + resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.25.4': resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==} engines: {node: '>=18'} cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.25.9': + resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.25.4': resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==} engines: {node: '>=18'} cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.25.9': + resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.25.4': resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==} engines: {node: '>=18'} cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.25.9': + resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.25.4': resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.25.9': + resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.25.4': resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.25.9': + resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.25.4': resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.25.9': + resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.25.4': resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==} engines: {node: '>=18'} cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.25.9': + resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.25.4': resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==} engines: {node: '>=18'} cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.25.9': + resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-arm64@0.25.4': resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.25.9': + resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.25.4': resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.9': + resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.25.4': resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.25.9': + resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.25.4': resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.9': + resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.9': + resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/sunos-x64@0.25.4': resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==} engines: {node: '>=18'} cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.25.9': + resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.25.4': resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.25.9': + resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.25.4': resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==} engines: {node: '>=18'} cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.25.9': + resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.25.4': resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==} engines: {node: '>=18'} cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.25.9': + resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.7.0': resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1281,12 +1495,20 @@ packages: eslint: optional: true - '@eslint/config-array@0.20.0': - resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} + '@eslint/config-array@0.20.1': + resolution: {integrity: sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-array@0.21.0': + resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.2.2': - resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} + '@eslint/config-helpers@0.2.3': + resolution: {integrity: sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.3.1': + resolution: {integrity: sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/core@0.12.0': @@ -1297,8 +1519,8 @@ packages: resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.15.1': - resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==} + '@eslint/core@0.15.2': + resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@3.3.1': @@ -1309,6 +1531,10 @@ packages: resolution: {integrity: sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@9.33.0': + resolution: {integrity: sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/json@0.12.0': resolution: {integrity: sha512-n/7dz8HFStpEe4o5eYk0tdkBdGUS/ZGb0GQCeDWN1ZmRq67HMHK4vC33b0rQlTT6xdZoX935P4vstiWVk5Ying==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1317,62 +1543,62 @@ packages: resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.3.4': - resolution: {integrity: sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==} + '@eslint/plugin-kit@0.3.5': + resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@expo/cli@0.24.14': - resolution: {integrity: sha512-o+QYyfIBhSRTgaywKTLJhm2Fg5PrSeUVCXS+uQySamgoMjLNhHa8QwE64mW/FmJr5hZLiqUEQxb60FK4JcyqXg==} + '@expo/cli@0.24.20': + resolution: {integrity: sha512-uF1pOVcd+xizNtVTuZqNGzy7I6IJon5YMmQidsURds1Ww96AFDxrR/NEACqeATNAmY60m8wy1VZZpSg5zLNkpw==} hasBin: true '@expo/code-signing-certificates@0.0.5': resolution: {integrity: sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==} - '@expo/config-plugins@10.0.2': - resolution: {integrity: sha512-TzUn3pPdpwCS0yYaSlZOClgDmCX8N4I2lfgitX5oStqmvpPtB+vqtdyqsVM02fQ2tlJIAqwBW+NHaHqqy8Jv7g==} + '@expo/config-plugins@10.1.2': + resolution: {integrity: sha512-IMYCxBOcnuFStuK0Ay+FzEIBKrwW8OVUMc65+v0+i7YFIIe8aL342l7T4F8lR4oCfhXn7d6M5QPgXvjtc/gAcw==} - '@expo/config-types@53.0.4': - resolution: {integrity: sha512-0s+9vFx83WIToEr0Iwy4CcmiUXa5BgwBmEjylBB2eojX5XAMm9mJvw9KpjAb8m7zq2G0Q6bRbeufkzgbipuNQg==} + '@expo/config-types@53.0.5': + resolution: {integrity: sha512-kqZ0w44E+HEGBjy+Lpyn0BVL5UANg/tmNixxaRMLS6nf37YsDrLk2VMAmeKMMk5CKG0NmOdVv3ngeUjRQMsy9g==} - '@expo/config@11.0.10': - resolution: {integrity: sha512-8S8Krr/c5lnl0eF03tA2UGY9rGBhZcbWKz2UWw5dpL/+zstwUmog8oyuuC8aRcn7GiTQLlbBkxcMeT8sOGlhbA==} + '@expo/config@11.0.13': + resolution: {integrity: sha512-TnGb4u/zUZetpav9sx/3fWK71oCPaOjZHoVED9NaEncktAd0Eonhq5NUghiJmkUGt3gGSjRAEBXiBbbY9/B1LA==} '@expo/devcert@1.2.0': resolution: {integrity: sha512-Uilcv3xGELD5t/b0eM4cxBFEKQRIivB3v7i+VhWLV/gL98aw810unLKKJbGAxAIhY6Ipyz8ChWibFsKFXYwstA==} - '@expo/env@1.0.5': - resolution: {integrity: sha512-dtEZ4CAMaVrFu2+tezhU3FoGWtbzQl50xV+rNJE5lYVRjUflWiZkVHlHkWUlPAwDPifLy4TuissVfScGGPWR5g==} + '@expo/env@1.0.7': + resolution: {integrity: sha512-qSTEnwvuYJ3umapO9XJtrb1fAqiPlmUUg78N0IZXXGwQRt+bkp0OBls+Y5Mxw/Owj8waAM0Z3huKKskRADR5ow==} - '@expo/fingerprint@0.12.4': - resolution: {integrity: sha512-HOJVvjiQYVHIouCOfFf4JRrQvBDIV/12GVG2iwbw1iGwmpQVkPgEXa9lN0f2yuS4J3QXHs73wr9jvuCjMmJlfw==} + '@expo/fingerprint@0.13.4': + resolution: {integrity: sha512-MYfPYBTMfrrNr07DALuLhG6EaLVNVrY/PXjEzsjWdWE4ZFn0yqI0IdHNkJG7t1gePT8iztHc7qnsx+oo/rDo6w==} hasBin: true - '@expo/image-utils@0.7.4': - resolution: {integrity: sha512-LcZ82EJy/t/a1avwIboeZbO6hlw8CvsIRh2k6SWPcAOvW0RqynyKFzUJsvnjWlhUzfBEn4oI7y/Pu5Xkw3KkkA==} + '@expo/image-utils@0.7.6': + resolution: {integrity: sha512-GKnMqC79+mo/1AFrmAcUcGfbsXXTRqOMNS1umebuevl3aaw+ztsYEFEiuNhHZW7PQ3Xs3URNT513ZxKhznDscw==} - '@expo/json-file@9.1.4': - resolution: {integrity: sha512-7Bv86X27fPERGhw8aJEZvRcH9sk+9BenDnEmrI3ZpywKodYSBgc8lX9Y32faNVQ/p0YbDK9zdJ0BfAKNAOyi0A==} + '@expo/json-file@9.1.5': + resolution: {integrity: sha512-prWBhLUlmcQtvN6Y7BpW2k9zXGd3ySa3R6rAguMJkp1z22nunLN64KYTUWfijFlprFoxm9r2VNnGkcbndAlgKA==} - '@expo/metro-config@0.20.14': - resolution: {integrity: sha512-tYDDubuZycK+NX00XN7BMu73kBur/evOPcKfxc+UBeFfgN2EifOITtdwSUDdRsbtJ2OnXwMY1HfRUG3Lq3l4cw==} + '@expo/metro-config@0.20.17': + resolution: {integrity: sha512-lpntF2UZn5bTwrPK6guUv00Xv3X9mkN3YYla+IhEHiYXWyG7WKOtDU0U4KR8h3ubkZ6SPH3snDyRyAzMsWtZFA==} '@expo/metro-runtime@5.0.4': resolution: {integrity: sha512-r694MeO+7Vi8IwOsDIDzH/Q5RPMt1kUDYbiTJwnO15nIqiDwlE8HU55UlRhffKZy6s5FmxQsZ8HA+T8DqUW8cQ==} peerDependencies: react-native: '*' - '@expo/osascript@2.2.4': - resolution: {integrity: sha512-Q+Oyj+1pdRiHHpev9YjqfMZzByFH8UhKvSszxa0acTveijjDhQgWrq4e9T/cchBHi0GWZpGczWyiyJkk1wM1dg==} + '@expo/osascript@2.2.5': + resolution: {integrity: sha512-Bpp/n5rZ0UmpBOnl7Li3LtM7la0AR3H9NNesqL+ytW5UiqV/TbonYW3rDZY38u4u/lG7TnYflVIVQPD+iqZJ5w==} engines: {node: '>=12'} - '@expo/package-manager@1.8.4': - resolution: {integrity: sha512-8H8tLga/NS3iS7QaX/NneRPqbObnHvVCfMCo0ShudreOFmvmgqhYjRlkZTRstSyFqefai8ONaT4VmnLHneRYYg==} + '@expo/package-manager@1.8.6': + resolution: {integrity: sha512-gcdICLuL+nHKZagPIDC5tX8UoDDB8vNA5/+SaQEqz8D+T2C4KrEJc2Vi1gPAlDnKif834QS6YluHWyxjk0yZlQ==} - '@expo/plist@0.3.4': - resolution: {integrity: sha512-MhBLaUJNe9FQDDU2xhSNS4SAolr6K2wuyi4+A79vYuXLkAoICsbTwcGEQJN5jPY6D9izO/jsXh5k0h+mIWQMdw==} + '@expo/plist@0.3.5': + resolution: {integrity: sha512-9RYVU1iGyCJ7vWfg3e7c/NVyMFs8wbl+dMWZphtFtsqyN9zppGREU3ctlD3i8KUE0sCUTVnLjCWr+VeUIDep2g==} - '@expo/prebuild-config@9.0.6': - resolution: {integrity: sha512-HDTdlMkTQZ95rd6EpvuLM+xkZV03yGLc38FqI37qKFLJtUN1WnYVaWsuXKoljd1OrVEVsHe6CfqKwaPZ52D56Q==} + '@expo/prebuild-config@9.0.11': + resolution: {integrity: sha512-0DsxhhixRbCCvmYskBTq8czsU0YOBsntYURhWPNpkl0IPVpeP9haE5W4OwtHGzXEbmHdzaoDwNmVcWjS/mqbDw==} '@expo/sdk-runtime-versions@1.0.0': resolution: {integrity: sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==} @@ -1404,16 +1630,16 @@ packages: '@fastify/busboy@3.1.1': resolution: {integrity: sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==} - '@gerrit0/mini-shiki@3.4.0': - resolution: {integrity: sha512-48lKoQegmfJ0iyR/jRz5OrYOSM3WewG9YWCPqUvYFEC54shQO8RsAaspaK/2PRHVVnjekRqfAFvq8pwCpIo5ig==} + '@gerrit0/mini-shiki@3.9.2': + resolution: {integrity: sha512-Tvsj+AOO4Z8xLRJK900WkyfxHsZQu+Zm1//oT1w443PO6RiYMoq/4NGOhaNuZoUMYsjKIAPVQ6eOFMddj6yphQ==} '@graphql-codegen/add@5.0.3': resolution: {integrity: sha512-SxXPmramkth8XtBlAHu4H4jYcYXM/o3p01+psU+0NADQowA8jtYkK6MW5rV6T+CxkEaNZItfSmZRPgIuypcqnA==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - '@graphql-codegen/cli@5.0.6': - resolution: {integrity: sha512-1r5dtZ2l1jiCF/4qLMTcT7mEoWWWeqQlmn7HcPHgnV/OXIEodwox7XRGAmOKUygoabRjFF3S0jd0TWbkq5Otsw==} + '@graphql-codegen/cli@5.0.7': + resolution: {integrity: sha512-h/sxYvSaWtxZxo8GtaA8SvcHTyViaaPd7dweF/hmRDpaQU1o3iU3EZxlcJ+oLTunU0tSMFsnrIXm/mhXxI11Cw==} engines: {node: '>=16'} hasBin: true peerDependencies: @@ -1423,8 +1649,8 @@ packages: '@parcel/watcher': optional: true - '@graphql-codegen/client-preset@4.8.1': - resolution: {integrity: sha512-XLF2V7WKLnepvrGE44JP+AvjS+Oz9AT0oYgTl/6d9btQ+2VYFcmwQPjNAuMVHipqE9I6h8hSEfH9hUrzUptB1g==} + '@graphql-codegen/client-preset@4.8.3': + resolution: {integrity: sha512-QpEsPSO9fnRxA6Z66AmBuGcwHjZ6dYSxYo5ycMlYgSPzAbyG8gn/kWljofjJfWqSY+T/lRn+r8IXTH14ml24vQ==} engines: {node: '>=16'} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -1455,13 +1681,19 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + '@graphql-codegen/plugin-helpers@5.1.1': + resolution: {integrity: sha512-28GHODK2HY1NhdyRcPP3sCz0Kqxyfiz7boIZ8qIxFYmpLYnlDgiYok5fhFLVSZihyOpCs4Fa37gVHf/Q4I2FEg==} + engines: {node: '>=16'} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + '@graphql-codegen/schema-ast@4.1.0': resolution: {integrity: sha512-kZVn0z+th9SvqxfKYgztA6PM7mhnSZaj4fiuBWvMTqA+QqQ9BBed6Pz41KuD/jr0gJtnlr2A4++/0VlpVbCTmQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - '@graphql-codegen/typed-document-node@5.1.1': - resolution: {integrity: sha512-Bp/BrMZDKRwzuVeLv+pSljneqONM7gqu57ZaV34Jbncu2hZWMRDMfizTKghoEwwZbRCYYfJO9tA0sYVVIfI1kg==} + '@graphql-codegen/typed-document-node@5.1.2': + resolution: {integrity: sha512-jaxfViDqFRbNQmfKwUY8hDyjnLTw2Z7DhGutxoOiiAI0gE/LfPe0LYaVFKVmVOOD7M3bWxoWfu4slrkbWbUbEw==} engines: {node: '>=16'} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -1639,8 +1871,8 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/relay-operation-optimizer@7.0.19': - resolution: {integrity: sha512-xnjLpfzw63yIX1bo+BVh4j1attSwqEkUbpJ+HAhdiSUa3FOQFfpWgijRju+3i87CwhjBANqdTZbcsqLT1hEXig==} + '@graphql-tools/relay-operation-optimizer@7.0.21': + resolution: {integrity: sha512-vMdU0+XfeBh9RCwPqRsr3A05hPA3MsahFn/7OAwXzMySA5EVnSH5R4poWNs3h1a0yT0tDPLhxORhK7qJdSWj2A==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -1663,6 +1895,12 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/utils@10.9.1': + resolution: {integrity: sha512-B1wwkXk9UvU7LCBkPs8513WxOQ2H8Fo5p8HR1+Id9WmYE5+bd51vqN+MbrqvWczHCH2gwkREgHJN88tE0n1FCw==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/utils@9.2.1': resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} peerDependencies: @@ -1691,8 +1929,8 @@ packages: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/momoa@3.3.8': - resolution: {integrity: sha512-/3PZzor2imi/RLLcnHztkwA79txiVvW145Ve2cp5dxRcH5qOUNJPToasqLFHniTfw4B4lT7jGDdBOPXbXYlIMQ==} + '@humanwhocodes/momoa@3.3.9': + resolution: {integrity: sha512-LHw6Op4bJb3/3KZgOgwflJx5zY9XOy0NU1NuyUFKGdTwHYmP+PbnQGCYQJ8NVNlulLfQish34b0VuUlLYP3AXA==} engines: {node: '>=18'} '@humanwhocodes/retry@0.3.1': @@ -1709,8 +1947,8 @@ packages: cpu: [arm64] os: [darwin] - '@img/sharp-darwin-arm64@0.34.1': - resolution: {integrity: sha512-pn44xgBtgpEbZsu+lWf2KNb6OAf70X68k+yk69Ic2Xz11zHR/w24/U49XT7AeRwJ0Px+mhALhU5LPci1Aymk7A==} + '@img/sharp-darwin-arm64@0.34.3': + resolution: {integrity: sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [darwin] @@ -1721,8 +1959,8 @@ packages: cpu: [x64] os: [darwin] - '@img/sharp-darwin-x64@0.34.1': - resolution: {integrity: sha512-VfuYgG2r8BpYiOUN+BfYeFo69nP/MIwAtSJ7/Zpxc5QF3KS22z8Pvg3FkrSFJBPNQ7mmcUcYQFBmEQp7eu1F8Q==} + '@img/sharp-darwin-x64@0.34.3': + resolution: {integrity: sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [darwin] @@ -1732,8 +1970,8 @@ packages: cpu: [arm64] os: [darwin] - '@img/sharp-libvips-darwin-arm64@1.1.0': - resolution: {integrity: sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==} + '@img/sharp-libvips-darwin-arm64@1.2.0': + resolution: {integrity: sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==} cpu: [arm64] os: [darwin] @@ -1742,8 +1980,8 @@ packages: cpu: [x64] os: [darwin] - '@img/sharp-libvips-darwin-x64@1.1.0': - resolution: {integrity: sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==} + '@img/sharp-libvips-darwin-x64@1.2.0': + resolution: {integrity: sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==} cpu: [x64] os: [darwin] @@ -1752,8 +1990,8 @@ packages: cpu: [arm64] os: [linux] - '@img/sharp-libvips-linux-arm64@1.1.0': - resolution: {integrity: sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==} + '@img/sharp-libvips-linux-arm64@1.2.0': + resolution: {integrity: sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==} cpu: [arm64] os: [linux] @@ -1762,13 +2000,13 @@ packages: cpu: [arm] os: [linux] - '@img/sharp-libvips-linux-arm@1.1.0': - resolution: {integrity: sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==} + '@img/sharp-libvips-linux-arm@1.2.0': + resolution: {integrity: sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==} cpu: [arm] os: [linux] - '@img/sharp-libvips-linux-ppc64@1.1.0': - resolution: {integrity: sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==} + '@img/sharp-libvips-linux-ppc64@1.2.0': + resolution: {integrity: sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==} cpu: [ppc64] os: [linux] @@ -1777,8 +2015,8 @@ packages: cpu: [s390x] os: [linux] - '@img/sharp-libvips-linux-s390x@1.1.0': - resolution: {integrity: sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==} + '@img/sharp-libvips-linux-s390x@1.2.0': + resolution: {integrity: sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==} cpu: [s390x] os: [linux] @@ -1787,8 +2025,8 @@ packages: cpu: [x64] os: [linux] - '@img/sharp-libvips-linux-x64@1.1.0': - resolution: {integrity: sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==} + '@img/sharp-libvips-linux-x64@1.2.0': + resolution: {integrity: sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==} cpu: [x64] os: [linux] @@ -1797,8 +2035,8 @@ packages: cpu: [arm64] os: [linux] - '@img/sharp-libvips-linuxmusl-arm64@1.1.0': - resolution: {integrity: sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==} + '@img/sharp-libvips-linuxmusl-arm64@1.2.0': + resolution: {integrity: sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==} cpu: [arm64] os: [linux] @@ -1807,8 +2045,8 @@ packages: cpu: [x64] os: [linux] - '@img/sharp-libvips-linuxmusl-x64@1.1.0': - resolution: {integrity: sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==} + '@img/sharp-libvips-linuxmusl-x64@1.2.0': + resolution: {integrity: sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==} cpu: [x64] os: [linux] @@ -1818,8 +2056,8 @@ packages: cpu: [arm64] os: [linux] - '@img/sharp-linux-arm64@0.34.1': - resolution: {integrity: sha512-kX2c+vbvaXC6vly1RDf/IWNXxrlxLNpBVWkdpRq5Ka7OOKj6nr66etKy2IENf6FtOgklkg9ZdGpEu9kwdlcwOQ==} + '@img/sharp-linux-arm64@0.34.3': + resolution: {integrity: sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] @@ -1830,20 +2068,26 @@ packages: cpu: [arm] os: [linux] - '@img/sharp-linux-arm@0.34.1': - resolution: {integrity: sha512-anKiszvACti2sGy9CirTlNyk7BjjZPiML1jt2ZkTdcvpLU1YH6CXwRAZCA2UmRXnhiIftXQ7+Oh62Ji25W72jA==} + '@img/sharp-linux-arm@0.34.3': + resolution: {integrity: sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] + '@img/sharp-linux-ppc64@0.34.3': + resolution: {integrity: sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ppc64] + os: [linux] + '@img/sharp-linux-s390x@0.33.5': resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] - '@img/sharp-linux-s390x@0.34.1': - resolution: {integrity: sha512-7s0KX2tI9mZI2buRipKIw2X1ufdTeaRgwmRabt5bi9chYfhur+/C1OXg3TKg/eag1W+6CCWLVmSauV1owmRPxA==} + '@img/sharp-linux-s390x@0.34.3': + resolution: {integrity: sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] @@ -1854,8 +2098,8 @@ packages: cpu: [x64] os: [linux] - '@img/sharp-linux-x64@0.34.1': - resolution: {integrity: sha512-wExv7SH9nmoBW3Wr2gvQopX1k8q2g5V5Iag8Zk6AVENsjwd+3adjwxtp3Dcu2QhOXr8W9NusBU6XcQUohBZ5MA==} + '@img/sharp-linux-x64@0.34.3': + resolution: {integrity: sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] @@ -1866,8 +2110,8 @@ packages: cpu: [arm64] os: [linux] - '@img/sharp-linuxmusl-arm64@0.34.1': - resolution: {integrity: sha512-DfvyxzHxw4WGdPiTF0SOHnm11Xv4aQexvqhRDAoD00MzHekAj9a/jADXeXYCDFH/DzYruwHbXU7uz+H+nWmSOQ==} + '@img/sharp-linuxmusl-arm64@0.34.3': + resolution: {integrity: sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] @@ -1878,8 +2122,8 @@ packages: cpu: [x64] os: [linux] - '@img/sharp-linuxmusl-x64@0.34.1': - resolution: {integrity: sha512-pax/kTR407vNb9qaSIiWVnQplPcGU8LRIJpDT5o8PdAx5aAA7AS3X9PS8Isw1/WfqgQorPotjrZL3Pqh6C5EBg==} + '@img/sharp-linuxmusl-x64@0.34.3': + resolution: {integrity: sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] @@ -1889,19 +2133,25 @@ packages: engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [wasm32] - '@img/sharp-wasm32@0.34.1': - resolution: {integrity: sha512-YDybQnYrLQfEpzGOQe7OKcyLUCML4YOXl428gOOzBgN6Gw0rv8dpsJ7PqTHxBnXnwXr8S1mYFSLSa727tpz0xg==} + '@img/sharp-wasm32@0.34.3': + resolution: {integrity: sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [wasm32] + '@img/sharp-win32-arm64@0.34.3': + resolution: {integrity: sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [win32] + '@img/sharp-win32-ia32@0.33.5': resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ia32] os: [win32] - '@img/sharp-win32-ia32@0.34.1': - resolution: {integrity: sha512-WKf/NAZITnonBf3U1LfdjoMgNO5JYRSlhovhRhMxXVdvWYveM4kM3L8m35onYIdh75cOMCo1BexgVQcCDzyoWw==} + '@img/sharp-win32-ia32@0.34.3': + resolution: {integrity: sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ia32] os: [win32] @@ -1912,14 +2162,23 @@ packages: cpu: [x64] os: [win32] - '@img/sharp-win32-x64@0.34.1': - resolution: {integrity: sha512-hw1iIAHpNE8q3uMIRCgGOeDoz9KtFNarFLQclLxr/LK1VBkj8nby18RjFvr6aP7USRYAjTZW6yisnBWMX571Tw==} + '@img/sharp-win32-x64@0.34.3': + resolution: {integrity: sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [win32] - '@inquirer/checkbox@4.1.8': - resolution: {integrity: sha512-d/QAsnwuHX2OPolxvYcgSj7A9DO9H6gVOy2DvBTx+P2LH2iRTo/RSGV3iwCzW024nP9hw98KIuDmdyhZQj1UQg==} + '@inquirer/checkbox@4.2.1': + resolution: {integrity: sha512-bevKGO6kX1eM/N+pdh9leS5L7TBF4ICrzi9a+cbWkrxeAeIcwlo/7OfWGCDERdRCI2/Q6tjltX4bt07ALHDwFw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/confirm@5.1.15': + resolution: {integrity: sha512-SwHMGa8Z47LawQN0rog0sT+6JpiL0B7eW9p1Bb7iCeKDGTI5Ez25TSc2l8kw52VV7hA4sX/C78CGkMrKXfuspA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1927,8 +2186,8 @@ packages: '@types/node': optional: true - '@inquirer/confirm@5.1.12': - resolution: {integrity: sha512-dpq+ielV9/bqgXRUbNH//KsY6WEw9DrGPmipkpmgC1Y46cwuBTNx7PXFWTjc3MQ+urcc0QxoVHcMI0FW4Ok0hg==} + '@inquirer/core@10.1.15': + resolution: {integrity: sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1936,8 +2195,8 @@ packages: '@types/node': optional: true - '@inquirer/core@10.1.13': - resolution: {integrity: sha512-1viSxebkYN2nJULlzCxES6G9/stgHSepZ9LqqfdIGPHj5OHhiBUXVS0a6R0bEC2A+VL4D9w6QB66ebCr6HGllA==} + '@inquirer/editor@4.2.17': + resolution: {integrity: sha512-r6bQLsyPSzbWrZZ9ufoWL+CztkSatnJ6uSxqd6N+o41EZC51sQeWOzI6s5jLb+xxTWxl7PlUppqm8/sow241gg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1945,8 +2204,8 @@ packages: '@types/node': optional: true - '@inquirer/editor@4.2.13': - resolution: {integrity: sha512-WbicD9SUQt/K8O5Vyk9iC2ojq5RHoCLK6itpp2fHsWe44VxxcA9z3GTWlvjSTGmMQpZr+lbVmrxdHcumJoLbMA==} + '@inquirer/expand@4.0.17': + resolution: {integrity: sha512-PSqy9VmJx/VbE3CT453yOfNa+PykpKg/0SYP7odez1/NWBGuDXgPhp4AeGYYKjhLn5lUUavVS/JbeYMPdH50Mw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1954,8 +2213,8 @@ packages: '@types/node': optional: true - '@inquirer/expand@4.0.15': - resolution: {integrity: sha512-4Y+pbr/U9Qcvf+N/goHzPEXiHH8680lM3Dr3Y9h9FFw4gHS+zVpbj8LfbKWIb/jayIB4aSO4pWiBTrBYWkvi5A==} + '@inquirer/external-editor@1.0.1': + resolution: {integrity: sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1963,12 +2222,12 @@ packages: '@types/node': optional: true - '@inquirer/figures@1.0.12': - resolution: {integrity: sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==} + '@inquirer/figures@1.0.13': + resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} engines: {node: '>=18'} - '@inquirer/input@4.1.12': - resolution: {integrity: sha512-xJ6PFZpDjC+tC1P8ImGprgcsrzQRsUh9aH3IZixm1lAZFK49UGHxM3ltFfuInN2kPYNfyoPRh+tU4ftsjPLKqQ==} + '@inquirer/input@4.2.1': + resolution: {integrity: sha512-tVC+O1rBl0lJpoUZv4xY+WGWY8V5b0zxU1XDsMsIHYregdh7bN5X5QnIONNBAl0K765FYlAfNHS2Bhn7SSOVow==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1976,8 +2235,8 @@ packages: '@types/node': optional: true - '@inquirer/number@3.0.15': - resolution: {integrity: sha512-xWg+iYfqdhRiM55MvqiTCleHzszpoigUpN5+t1OMcRkJrUrw7va3AzXaxvS+Ak7Gny0j2mFSTv2JJj8sMtbV2g==} + '@inquirer/number@3.0.17': + resolution: {integrity: sha512-GcvGHkyIgfZgVnnimURdOueMk0CztycfC8NZTiIY9arIAkeOgt6zG57G+7vC59Jns3UX27LMkPKnKWAOF5xEYg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1985,8 +2244,8 @@ packages: '@types/node': optional: true - '@inquirer/password@4.0.15': - resolution: {integrity: sha512-75CT2p43DGEnfGTaqFpbDC2p2EEMrq0S+IRrf9iJvYreMy5mAWj087+mdKyLHapUEPLjN10mNvABpGbk8Wdraw==} + '@inquirer/password@4.0.17': + resolution: {integrity: sha512-DJolTnNeZ00E1+1TW+8614F7rOJJCM4y4BAGQ3Gq6kQIG+OJ4zr3GLjIjVVJCbKsk2jmkmv6v2kQuN/vriHdZA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1994,8 +2253,8 @@ packages: '@types/node': optional: true - '@inquirer/prompts@7.5.3': - resolution: {integrity: sha512-8YL0WiV7J86hVAxrh3fE5mDCzcTDe1670unmJRz6ArDgN+DBK1a0+rbnNWp4DUB5rPMwqD5ZP6YHl9KK1mbZRg==} + '@inquirer/prompts@7.8.3': + resolution: {integrity: sha512-iHYp+JCaCRktM/ESZdpHI51yqsDgXu+dMs4semzETftOaF8u5hwlqnbIsuIR/LrWZl8Pm1/gzteK9I7MAq5HTA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -2003,8 +2262,8 @@ packages: '@types/node': optional: true - '@inquirer/rawlist@4.1.3': - resolution: {integrity: sha512-7XrV//6kwYumNDSsvJIPeAqa8+p7GJh7H5kRuxirct2cgOcSWwwNGoXDRgpNFbY/MG2vQ4ccIWCi8+IXXyFMZA==} + '@inquirer/rawlist@4.1.5': + resolution: {integrity: sha512-R5qMyGJqtDdi4Ht521iAkNqyB6p2UPuZUbMifakg1sWtu24gc2Z8CJuw8rP081OckNDMgtDCuLe42Q2Kr3BolA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -2012,8 +2271,8 @@ packages: '@types/node': optional: true - '@inquirer/search@3.0.15': - resolution: {integrity: sha512-YBMwPxYBrADqyvP4nNItpwkBnGGglAvCLVW8u4pRmmvOsHUtCAUIMbUrLX5B3tFL1/WsLGdQ2HNzkqswMs5Uaw==} + '@inquirer/search@3.1.0': + resolution: {integrity: sha512-PMk1+O/WBcYJDq2H7foV0aAZSmDdkzZB9Mw2v/DmONRJopwA/128cS9M/TXWLKKdEQKZnKwBzqu2G4x/2Nqx8Q==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -2021,8 +2280,8 @@ packages: '@types/node': optional: true - '@inquirer/select@4.2.3': - resolution: {integrity: sha512-OAGhXU0Cvh0PhLz9xTF/kx6g6x+sP+PcyTiLvCrewI99P3BBeexD+VbuwkNDvqGkk3y2h5ZiWLeRP7BFlhkUDg==} + '@inquirer/select@4.3.1': + resolution: {integrity: sha512-Gfl/5sqOF5vS/LIrSndFgOh7jgoe0UXEizDqahFRkq5aJBLegZ6WjuMh/hVEJwlFQjyLq1z9fRtvUMkb7jM1LA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -2030,8 +2289,8 @@ packages: '@types/node': optional: true - '@inquirer/type@3.0.7': - resolution: {integrity: sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==} + '@inquirer/type@3.0.8': + resolution: {integrity: sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -2039,6 +2298,14 @@ packages: '@types/node': optional: true + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -2129,6 +2396,9 @@ packages: resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/gen-mapping@0.3.8': resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} engines: {node: '>=6.0.0'} @@ -2150,9 +2420,15 @@ packages: '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.30': + resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} + '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} @@ -2186,11 +2462,11 @@ packages: '@types/react': '>=16' react: '>=16' - '@microsoft/api-extractor-model@7.30.6': - resolution: {integrity: sha512-znmFn69wf/AIrwHya3fxX6uB5etSIn6vg4Q4RB/tb5VDDs1rqREc+AvMC/p19MUN13CZ7+V/8pkYPTj7q8tftg==} + '@microsoft/api-extractor-model@7.30.7': + resolution: {integrity: sha512-TBbmSI2/BHpfR9YhQA7nH0nqVmGgJ0xH0Ex4D99/qBDAUpnhA2oikGmdXanbw9AWWY/ExBYIpkmY8dBHdla3YQ==} - '@microsoft/api-extractor@7.52.7': - resolution: {integrity: sha512-YLdPS644MfbLJt4hArP1WcldcaEUBh9wnFjcLEcQnVG0AMznbLh2sdE0F5Wr+w6+Lyp5/XUPvRAg3sYGSP3GCw==} + '@microsoft/api-extractor@7.52.10': + resolution: {integrity: sha512-LhKytJM5ZJkbHQVfW/3o747rZUNs/MGg6j/wt/9qwwqEOfvUDTYXXxIBuMgrRXhJ528p41iyz4zjBVHZU74Odg==} hasBin: true '@microsoft/tsdoc-config@0.17.1': @@ -2199,101 +2475,101 @@ packages: '@microsoft/tsdoc@0.15.1': resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==} - '@mintlify/cli@4.0.572': - resolution: {integrity: sha512-J4tOG8pxclXHYx/HOZGfcimiZHgjbsvFKPLnn2UuRqed/Lz5WpjAUP6qp/kGjgtujV02+U8Qfx1Oufbj4rajTw==} + '@mintlify/cli@4.0.679': + resolution: {integrity: sha512-VOOBqtXP9im1CQQszMkXh+4HzIu6uVyl0k7oy2YXcKYh7Xk0KUlFLDkeYeirZn+QcF+wzb45YgnoNAq4D0PvBA==} engines: {node: '>=18.0.0'} hasBin: true - '@mintlify/common@1.0.408': - resolution: {integrity: sha512-2eqZTrf93dE3jo7qJB486X6BRBJFuHgdlB/zQ6toagdh0ZfccBWZUxwnTDhZSEoxGRq6utQs0HubLdV1UwksYg==} + '@mintlify/common@1.0.493': + resolution: {integrity: sha512-T51BnLQDITuIBX6nos8we8N81/rH7mLy/UWAGFeNZdBJQD7AjsKhQ6ZynWSV1ApFsGONimYM7GH3Q6fyYIpFiw==} - '@mintlify/link-rot@3.0.525': - resolution: {integrity: sha512-dVgXp1Bgvq47nCG+nbWEykqv9b17Z2/li3i72EZCuD6H6Hp1B5AoElediRtihd0FuFeUUvLnXRrdI+/bbrnZCg==} + '@mintlify/link-rot@3.0.626': + resolution: {integrity: sha512-ogJqNkpyoPWW/FlDN27CyMKkhmIgnCEu17qHpzVyWKf4I736yx84MvC4wfWq7w3uzayIflCJM8sHwpg4NVN1MA==} engines: {node: '>=18.0.0'} - '@mintlify/mdx@1.0.2': - resolution: {integrity: sha512-OaD12ttCB/plfZ7W2VtLiEo8FmIMATAScWqJN93Yr5wNRg0ncEes31EkO33NLomamh1hrwiBCWeY44zZ2xt9mw==} + '@mintlify/mdx@2.0.3': + resolution: {integrity: sha512-UGlwavma8QooWAlhtXpTAG5MAUZTTUKI8Qu25Wqfp1HMOPrYGvo5YQPmlqqogbMsqDMcFPLP/ZYnaZsGUYBspQ==} peerDependencies: react: ^18.3.1 react-dom: ^18.3.1 - '@mintlify/models@0.0.195': - resolution: {integrity: sha512-OOIojZtXkJ4dLfkLsto8oWvpttFIuJk4Ext27Sz6VBYsicJi0kfi5EM47grb5imXs6zA68sNtFiC+rRAgpPkJg==} + '@mintlify/models@0.0.219': + resolution: {integrity: sha512-/uR4hAwpcJW9+zbmZL48kKFnWLkOxhIqoGWvZzjg0CniVhR4emtQJAps80WqLAhz0iJgCQxg/axtA7leaznDzQ==} engines: {node: '>=18.0.0'} '@mintlify/openapi-parser@0.0.7': resolution: {integrity: sha512-3ecbkzPbsnkKVZJypVL0H5pCTR7a4iLv4cP7zbffzAwy+vpH70JmPxNVpPPP62yLrdZlfNcMxu5xKeT7fllgMg==} engines: {node: '>=18'} - '@mintlify/prebuild@1.0.522': - resolution: {integrity: sha512-5xCBYfLeMfQ+XFdzruSM3GXJn+7wqmHcXV7IrZ8d21WIJ9Eme9TAL3QP+H4Ku73JaRmlvprD84eXULB8H6jsUw==} + '@mintlify/prebuild@1.0.615': + resolution: {integrity: sha512-1dmSPAL0bBheokW6BXypFOJzCqPP5iRSgleKr3aqhIPhj6KCkkOoLkOOjAb/pvS9asrqtuF4wa7cJuDWLhWb3g==} - '@mintlify/previewing@4.0.563': - resolution: {integrity: sha512-p3oTgAY5L+9PLxddbSh/OHpdtCEFo/aM0x7jdNB2Xscu++Wb0ydEQoKYWzfVgsEoHMYQ/T6XMeZm0Zn9cF8JCA==} + '@mintlify/previewing@4.0.662': + resolution: {integrity: sha512-e/qF7ddWvgGjlcI+sBp9HpsK4c/wFm8ftzCDpDcHXS8VkAvbhQpzUIEL1mcKKMEHe8by4qapIIx3WgC+ch5jTQ==} engines: {node: '>=18.0.0'} - '@mintlify/scraping@4.0.264': - resolution: {integrity: sha512-K/tU/WwINO6ISr2JBo6EP2lHF6rb3q1HluHsGS5tLjtjDDwwX/WF84atuvTO29DC+qaF7e6I1KtC1RQupeTpsw==} + '@mintlify/scraping@4.0.351': + resolution: {integrity: sha512-0ut/Eo/c0MO77HrK3XBgLFNvi5XIJr/LBh0QUovxARiMmPGkKL6j73DkMsw0bu3Av1bm2pxxTZUWCNzb4DK0oQ==} engines: {node: '>=18.0.0'} hasBin: true - '@mintlify/validation@0.1.390': - resolution: {integrity: sha512-yCNYJ26e+XQSTpWGtUIS/Ps7MAwlPboQRPxJbrFrgjSIMqKU0rAcYSTkOD6YEUcmIUZpwysrzOroCG0wUVvrCQ==} + '@mintlify/validation@0.1.440': + resolution: {integrity: sha512-/ZkjYl58OrwzU9VfhO1+8CBCDDxTdkxcka7Lw4oRCCoPbfVoaMhr2qTOCDaWyi4KAaRRj6DgKkLyM8mWLe/2Iw==} - '@modelcontextprotocol/sdk@1.12.1': - resolution: {integrity: sha512-KG1CZhZfWg+u8pxeM/mByJDScJSrjjxLc8fwQqbsS8xCjBmQfMNEBTotYdNanKekepnfRI85GtgQlctLFpcYPw==} + '@modelcontextprotocol/sdk@1.17.3': + resolution: {integrity: sha512-JPwUKWSsbzx+DLFznf/QZ32Qa+ptfbUlHhRLrBQBAFu9iI1iYvizM4p+zhhRDceSsPutXp4z+R/HPVphlIiclg==} engines: {node: '>=18'} - '@next/env@15.3.5': - resolution: {integrity: sha512-7g06v8BUVtN2njAX/r8gheoVffhiKFVt4nx74Tt6G4Hqw9HCLYQVx/GkH2qHvPtAHZaUNZ0VXAa0pQP6v1wk7g==} + '@next/env@15.4.7': + resolution: {integrity: sha512-PrBIpO8oljZGTOe9HH0miix1w5MUiGJ/q83Jge03mHEE0E3pyqzAy2+l5G6aJDbXoobmxPJTVhbCuwlLtjSHwg==} - '@next/eslint-plugin-next@15.3.3': - resolution: {integrity: sha512-VKZJEiEdpKkfBmcokGjHu0vGDG+8CehGs90tBEy/IDoDDKGngeyIStt2MmE5FYNyU9BhgR7tybNWTAJY/30u+Q==} + '@next/eslint-plugin-next@15.4.7': + resolution: {integrity: sha512-asj3RRiEruRLVr+k2ZC4hll9/XBzegMpFMr8IIRpNUYypG86m/a76339X2WETl1C53A512w2INOc2KZV769KPA==} - '@next/swc-darwin-arm64@15.3.5': - resolution: {integrity: sha512-lM/8tilIsqBq+2nq9kbTW19vfwFve0NR7MxfkuSUbRSgXlMQoJYg+31+++XwKVSXk4uT23G2eF/7BRIKdn8t8w==} + '@next/swc-darwin-arm64@15.4.7': + resolution: {integrity: sha512-2Dkb+VUTp9kHHkSqtws4fDl2Oxms29HcZBwFIda1X7Ztudzy7M6XF9HDS2dq85TmdN47VpuhjE+i6wgnIboVzQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@15.3.5': - resolution: {integrity: sha512-WhwegPQJ5IfoUNZUVsI9TRAlKpjGVK0tpJTL6KeiC4cux9774NYE9Wu/iCfIkL/5J8rPAkqZpG7n+EfiAfidXA==} + '@next/swc-darwin-x64@15.4.7': + resolution: {integrity: sha512-qaMnEozKdWezlmh1OGDVFueFv2z9lWTcLvt7e39QA3YOvZHNpN2rLs/IQLwZaUiw2jSvxW07LxMCWtOqsWFNQg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@15.3.5': - resolution: {integrity: sha512-LVD6uMOZ7XePg3KWYdGuzuvVboxujGjbcuP2jsPAN3MnLdLoZUXKRc6ixxfs03RH7qBdEHCZjyLP/jBdCJVRJQ==} + '@next/swc-linux-arm64-gnu@15.4.7': + resolution: {integrity: sha512-ny7lODPE7a15Qms8LZiN9wjNWIeI+iAZOFDOnv2pcHStncUr7cr9lD5XF81mdhrBXLUP9yT9RzlmSWKIazWoDw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@15.3.5': - resolution: {integrity: sha512-k8aVScYZ++BnS2P69ClK7v4nOu702jcF9AIHKu6llhHEtBSmM2zkPGl9yoqbSU/657IIIb0QHpdxEr0iW9z53A==} + '@next/swc-linux-arm64-musl@15.4.7': + resolution: {integrity: sha512-4SaCjlFR/2hGJqZLLWycccy1t+wBrE/vyJWnYaZJhUVHccpGLG5q0C+Xkw4iRzUIkE+/dr90MJRUym3s1+vO8A==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@15.3.5': - resolution: {integrity: sha512-2xYU0DI9DGN/bAHzVwADid22ba5d/xrbrQlr2U+/Q5WkFUzeL0TDR963BdrtLS/4bMmKZGptLeg6282H/S2i8A==} + '@next/swc-linux-x64-gnu@15.4.7': + resolution: {integrity: sha512-2uNXjxvONyRidg00VwvlTYDwC9EgCGNzPAPYbttIATZRxmOZ3hllk/YYESzHZb65eyZfBR5g9xgCZjRAl9YYGg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@15.3.5': - resolution: {integrity: sha512-TRYIqAGf1KCbuAB0gjhdn5Ytd8fV+wJSM2Nh2is/xEqR8PZHxfQuaiNhoF50XfY90sNpaRMaGhF6E+qjV1b9Tg==} + '@next/swc-linux-x64-musl@15.4.7': + resolution: {integrity: sha512-ceNbPjsFgLscYNGKSu4I6LYaadq2B8tcK116nVuInpHHdAWLWSwVK6CHNvCi0wVS9+TTArIFKJGsEyVD1H+4Kg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@15.3.5': - resolution: {integrity: sha512-h04/7iMEUSMY6fDGCvdanKqlO1qYvzNxntZlCzfE8i5P0uqzVQWQquU1TIhlz0VqGQGXLrFDuTJVONpqGqjGKQ==} + '@next/swc-win32-arm64-msvc@15.4.7': + resolution: {integrity: sha512-pZyxmY1iHlZJ04LUL7Css8bNvsYAMYOY9JRwFA3HZgpaNKsJSowD09Vg2R9734GxAcLJc2KDQHSCR91uD6/AAw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@15.3.5': - resolution: {integrity: sha512-5fhH6fccXxnX2KhllnGhkYMndhOiLOLEiVGYjP2nizqeGWkN10sA9taATlXwake2E2XMvYZjjz0Uj7T0y+z1yw==} + '@next/swc-win32-x64-msvc@15.4.7': + resolution: {integrity: sha512-HjuwPJ7BeRzgl3KrjKqD2iDng0eQIpIReyhpF5r4yeAHFwWRuAhfW92rWv/r3qeQHEwHsLRzFDvMqRjyM5DI6A==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -2347,8 +2623,8 @@ packages: '@types/react': optional: true - '@react-native-async-storage/async-storage@2.1.2': - resolution: {integrity: sha512-dvlNq4AlGWC+ehtH12p65+17V0Dx7IecOWl6WanF2ja38O1Dcjjvn7jVzkUHJ5oWkQBlyASurTPlTHgKXyYiow==} + '@react-native-async-storage/async-storage@2.2.0': + resolution: {integrity: sha512-gvRvjR5JAaUZF8tv2Kcq/Gbt3JHwbKFYfmb445rhOj6NUMx3qPLixmDx5pZAyb9at1bYvJ4/eTUipU5aki45xw==} peerDependencies: react-native: ^0.0.0-0 || >=0.65 <1.0 @@ -2356,12 +2632,12 @@ packages: resolution: {integrity: sha512-Vy8DQXCJ21YSAiHxrNBz35VqVlZPpRYm50xRTWRf660JwHuJkFQG8cUkrLzm7AUriqUXxwpkQHcY+b0ibw9ejQ==} engines: {node: '>=18'} - '@react-native/babel-plugin-codegen@0.79.3': - resolution: {integrity: sha512-Zb8F4bSEKKZfms5n1MQ0o5mudDcpAINkKiFuFTU0PErYGjY3kZ+JeIP+gS6KCXsckxCfMEKQwqKicP/4DWgsZQ==} + '@react-native/babel-plugin-codegen@0.79.5': + resolution: {integrity: sha512-Rt/imdfqXihD/sn0xnV4flxxb1aLLjPtMF1QleQjEhJsTUPpH4TFlfOpoCvsrXoDl4OIcB1k4FVM24Ez92zf5w==} engines: {node: '>=18'} - '@react-native/babel-preset@0.79.3': - resolution: {integrity: sha512-VHGNP02bDD2Ul1my0pLVwe/0dsEBHxR343ySpgnkCNEEm9C1ANQIL2wvnJrHZPcqfAkWfFQ8Ln3t+6fdm4A/Dg==} + '@react-native/babel-preset@0.79.5': + resolution: {integrity: sha512-GDUYIWslMLbdJHEgKNfrOzXk8EDKxKzbwmBXUugoiSlr6TyepVZsj3GZDLEFarOcTwH1EXXHJsixihk8DCRQDA==} engines: {node: '>=18'} peerDependencies: '@babel/core': '*' @@ -2372,6 +2648,12 @@ packages: peerDependencies: '@babel/core': '*' + '@react-native/codegen@0.79.5': + resolution: {integrity: sha512-FO5U1R525A1IFpJjy+KVznEinAgcs3u7IbnbRJUG9IH/MBXi2lEU2LtN+JarJ81MCfW4V2p0pg6t/3RGHFRrlQ==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + '@react-native/community-cli-plugin@0.79.3': resolution: {integrity: sha512-N/+p4HQqN4yK6IRzn7OgMvUIcrmEWkecglk1q5nj+AzNpfIOzB+mqR20SYmnPfeXF+mZzYCzRANb3KiM+WsSDA==} engines: {node: '>=18'} @@ -2385,10 +2667,18 @@ packages: resolution: {integrity: sha512-ImNDuEeKH6lEsLXms3ZsgIrNF94jymfuhPcVY5L0trzaYNo9ZFE9Ni2/18E1IbfXxdeIHrCSBJlWD6CTm7wu5A==} engines: {node: '>=18'} + '@react-native/debugger-frontend@0.79.5': + resolution: {integrity: sha512-WQ49TRpCwhgUYo5/n+6GGykXmnumpOkl4Lr2l2o2buWU9qPOwoiBqJAtmWEXsAug4ciw3eLiVfthn5ufs0VB0A==} + engines: {node: '>=18'} + '@react-native/dev-middleware@0.79.3': resolution: {integrity: sha512-x88+RGOyG71+idQefnQg7wLhzjn/Scs+re1O5vqCkTVzRAc/f7SdHMlbmECUxJPd08FqMcOJr7/X3nsJBrNuuw==} engines: {node: '>=18'} + '@react-native/dev-middleware@0.79.5': + resolution: {integrity: sha512-U7r9M/SEktOCP/0uS6jXMHmYjj4ESfYCkNAenBjFjjsRWekiHE+U/vRMeO+fG9gq4UCcBAUISClkQCowlftYBw==} + engines: {node: '>=18'} + '@react-native/gradle-plugin@0.79.3': resolution: {integrity: sha512-imfpZLhNBc9UFSzb/MOy2tNcIBHqVmexh/qdzw83F75BmUtLb/Gs1L2V5gw+WI1r7RqDILbWk7gXB8zUllwd+g==} engines: {node: '>=18'} @@ -2400,12 +2690,12 @@ packages: '@react-native/normalize-colors@0.74.89': resolution: {integrity: sha512-qoMMXddVKVhZ8PA1AbUCk83trpd6N+1nF2A6k1i6LsQObyS92fELuk8kU/lQs6M7BsMHwqyLCpQJ1uFgNvIQXg==} - '@react-native/normalize-colors@0.79.2': - resolution: {integrity: sha512-+b+GNrupWrWw1okHnEENz63j7NSMqhKeFMOyzYLBwKcprG8fqJQhDIGXfizKdxeIa5NnGSAevKL1Ev1zJ56X8w==} - '@react-native/normalize-colors@0.79.3': resolution: {integrity: sha512-T75NIQPRFCj6DFMxtcVMJTZR+3vHXaUMSd15t+CkJpc5LnyX91GVaPxpRSAdjFh7m3Yppl5MpdjV/fntImheYQ==} + '@react-native/normalize-colors@0.79.5': + resolution: {integrity: sha512-nGXMNMclZgzLUxijQQ38Dm3IAEhgxuySAWQHnljFtfB0JdaMwpe0Ox9H7Tp2OgrEA+EMEv+Od9ElKlHwGKmmvQ==} + '@react-native/virtualized-lists@0.79.3': resolution: {integrity: sha512-/0rRozkn+iIHya2vnnvprDgT7QkfI54FLrACAN3BLP7MRlfOIGOrZsXpRLndnLBVnjNzkcre84i1RecjoXnwIA==} engines: {node: '>=18'} @@ -2417,25 +2707,25 @@ packages: '@types/react': optional: true - '@react-navigation/bottom-tabs@7.3.14': - resolution: {integrity: sha512-s2qinJggS2HYZdCOey9A+fN+bNpWeEKwiL/FjAVOTcv+uofxPWN6CtEZUZGPEjfRjis/srURBmCmpNZSI6sQ9Q==} + '@react-navigation/bottom-tabs@7.4.6': + resolution: {integrity: sha512-f4khxwcL70O5aKfZFbxyBo5RnzPFnBNSXmrrT7q9CRmvN4mHov9KFKGQ3H4xD5sLonsTBtyjvyvPfyEC4G7f+g==} peerDependencies: - '@react-navigation/native': ^7.1.10 + '@react-navigation/native': ^7.1.17 react: '>= 18.2.0' react-native: '*' react-native-safe-area-context: '>= 4.0.0' react-native-screens: '>= 4.0.0' - '@react-navigation/core@7.10.0': - resolution: {integrity: sha512-qZBA5gGm+9liT4+EHk+kl9apwvqh7HqhLF1XeX6SQRmC/n2QI0u1B8OevKc+EPUDEM9Od15IuwT/GRbSs7/Umw==} + '@react-navigation/core@7.12.4': + resolution: {integrity: sha512-xLFho76FA7v500XID5z/8YfGTvjQPw7/fXsq4BIrVSqetNe/o/v+KAocEw4ots6kyv3XvSTyiWKh2g3pN6xZ9Q==} peerDependencies: react: '>= 18.2.0' - '@react-navigation/elements@2.4.3': - resolution: {integrity: sha512-psoNmnZ0DQIt9nxxPITVLtYW04PGCAfnmd/Pcd3yhiBs93aj+HYKH+SDZDpUnXMf3BN7Wvo4+jPI+/Xjqb+m9w==} + '@react-navigation/elements@2.6.3': + resolution: {integrity: sha512-hcPXssZg5bFD5oKX7FP0D9ZXinRgPUHkUJbTegpenSEUJcPooH1qzWJkEP22GrtO+OPDLYrCVZxEX8FcMrn4pA==} peerDependencies: '@react-native-masked-view/masked-view': '>= 0.2.0' - '@react-navigation/native': ^7.1.10 + '@react-navigation/native': ^7.1.17 react: '>= 18.2.0' react-native: '*' react-native-safe-area-context: '>= 4.0.0' @@ -2452,20 +2742,20 @@ packages: react-native-safe-area-context: '>= 4.0.0' react-native-screens: '>= 4.0.0' - '@react-navigation/native@7.1.10': - resolution: {integrity: sha512-Ug4IML0DkAxZTMF/E7lyyLXSclkGAYElY2cxZWITwfBjtlVeda0NjsdnTWY5EGjnd7bwvhTIUC+CO6qSlrDn5A==} + '@react-navigation/native@7.1.17': + resolution: {integrity: sha512-uEcYWi1NV+2Qe1oELfp9b5hTYekqWATv2cuwcOAg5EvsIsUPtzFrKIasgUXLBRGb9P7yR5ifoJ+ug4u6jdqSTQ==} peerDependencies: react: '>= 18.2.0' react-native: '*' - '@react-navigation/routers@7.4.0': - resolution: {integrity: sha512-th5THnuWKJlmr7GGHiicy979di11ycDWub9iIXbEDvQwmwmsRzppmVbfs2nD8bC/MgyMgqWu/gxfys+HqN+kcw==} + '@react-navigation/routers@7.5.1': + resolution: {integrity: sha512-pxipMW/iEBSUrjxz2cDD7fNwkqR4xoi0E/PcfTQGCcdJwLoaxzab5kSadBLj1MTJyT0YRrOXL9umHpXtp+Dv4w==} '@repeaterjs/repeater@3.0.6': resolution: {integrity: sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==} - '@rolldown/pluginutils@1.0.0-beta.9': - resolution: {integrity: sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==} + '@rolldown/pluginutils@1.0.0-beta.27': + resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} '@rollup/plugin-node-resolve@16.0.1': resolution: {integrity: sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==} @@ -2485,6 +2775,15 @@ packages: rollup: optional: true + '@rollup/pluginutils@5.2.0': + resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: '>=2.79.2' + peerDependenciesMeta: + rollup: + optional: true + '@rollup/rollup-android-arm-eabi@4.40.2': resolution: {integrity: sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==} cpu: [arm] @@ -2495,6 +2794,11 @@ packages: cpu: [arm] os: [android] + '@rollup/rollup-android-arm-eabi@4.46.3': + resolution: {integrity: sha512-UmTdvXnLlqQNOCJnyksjPs1G4GqXNGW1LrzCe8+8QoaLhhDeTXYBgJ3k6x61WIhlHX2U+VzEJ55TtIjR/HTySA==} + cpu: [arm] + os: [android] + '@rollup/rollup-android-arm64@4.40.2': resolution: {integrity: sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==} cpu: [arm64] @@ -2505,6 +2809,11 @@ packages: cpu: [arm64] os: [android] + '@rollup/rollup-android-arm64@4.46.3': + resolution: {integrity: sha512-8NoxqLpXm7VyeI0ocidh335D6OKT0UJ6fHdnIxf3+6oOerZZc+O7r+UhvROji6OspyPm+rrIdb1gTXtVIqn+Sg==} + cpu: [arm64] + os: [android] + '@rollup/rollup-darwin-arm64@4.40.2': resolution: {integrity: sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==} cpu: [arm64] @@ -2515,6 +2824,11 @@ packages: cpu: [arm64] os: [darwin] + '@rollup/rollup-darwin-arm64@4.46.3': + resolution: {integrity: sha512-csnNavqZVs1+7/hUKtgjMECsNG2cdB8F7XBHP6FfQjqhjF8rzMzb3SLyy/1BG7YSfQ+bG75Ph7DyedbUqwq1rA==} + cpu: [arm64] + os: [darwin] + '@rollup/rollup-darwin-x64@4.40.2': resolution: {integrity: sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==} cpu: [x64] @@ -2525,6 +2839,11 @@ packages: cpu: [x64] os: [darwin] + '@rollup/rollup-darwin-x64@4.46.3': + resolution: {integrity: sha512-r2MXNjbuYabSIX5yQqnT8SGSQ26XQc8fmp6UhlYJd95PZJkQD1u82fWP7HqvGUf33IsOC6qsiV+vcuD4SDP6iw==} + cpu: [x64] + os: [darwin] + '@rollup/rollup-freebsd-arm64@4.40.2': resolution: {integrity: sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==} cpu: [arm64] @@ -2535,6 +2854,11 @@ packages: cpu: [arm64] os: [freebsd] + '@rollup/rollup-freebsd-arm64@4.46.3': + resolution: {integrity: sha512-uluObTmgPJDuJh9xqxyr7MV61Imq+0IvVsAlWyvxAaBSNzCcmZlhfYcRhCdMaCsy46ccZa7vtDDripgs9Jkqsw==} + cpu: [arm64] + os: [freebsd] + '@rollup/rollup-freebsd-x64@4.40.2': resolution: {integrity: sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==} cpu: [x64] @@ -2545,6 +2869,11 @@ packages: cpu: [x64] os: [freebsd] + '@rollup/rollup-freebsd-x64@4.46.3': + resolution: {integrity: sha512-AVJXEq9RVHQnejdbFvh1eWEoobohUYN3nqJIPI4mNTMpsyYN01VvcAClxflyk2HIxvLpRcRggpX1m9hkXkpC/A==} + cpu: [x64] + os: [freebsd] + '@rollup/rollup-linux-arm-gnueabihf@4.40.2': resolution: {integrity: sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==} cpu: [arm] @@ -2555,6 +2884,11 @@ packages: cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-gnueabihf@4.46.3': + resolution: {integrity: sha512-byyflM+huiwHlKi7VHLAYTKr67X199+V+mt1iRgJenAI594vcmGGddWlu6eHujmcdl6TqSNnvqaXJqZdnEWRGA==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.40.2': resolution: {integrity: sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==} cpu: [arm] @@ -2565,6 +2899,11 @@ packages: cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.46.3': + resolution: {integrity: sha512-aLm3NMIjr4Y9LklrH5cu7yybBqoVCdr4Nvnm8WB7PKCn34fMCGypVNpGK0JQWdPAzR/FnoEoFtlRqZbBBLhVoQ==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.40.2': resolution: {integrity: sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==} cpu: [arm64] @@ -2575,6 +2914,11 @@ packages: cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.46.3': + resolution: {integrity: sha512-VtilE6eznJRDIoFOzaagQodUksTEfLIsvXymS+UdJiSXrPW7Ai+WG4uapAc3F7Hgs791TwdGh4xyOzbuzIZrnw==} + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-arm64-musl@4.40.2': resolution: {integrity: sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==} cpu: [arm64] @@ -2585,6 +2929,11 @@ packages: cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-musl@4.46.3': + resolution: {integrity: sha512-dG3JuS6+cRAL0GQ925Vppafi0qwZnkHdPeuZIxIPXqkCLP02l7ka+OCyBoDEv8S+nKHxfjvjW4OZ7hTdHkx8/w==} + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-loongarch64-gnu@4.40.2': resolution: {integrity: sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==} cpu: [loong64] @@ -2595,6 +2944,11 @@ packages: cpu: [loong64] os: [linux] + '@rollup/rollup-linux-loongarch64-gnu@4.46.3': + resolution: {integrity: sha512-iU8DxnxEKJptf8Vcx4XvAUdpkZfaz0KWfRrnIRrOndL0SvzEte+MTM7nDH4A2Now4FvTZ01yFAgj6TX/mZl8hQ==} + cpu: [loong64] + os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.40.2': resolution: {integrity: sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==} cpu: [ppc64] @@ -2605,6 +2959,11 @@ packages: cpu: [ppc64] os: [linux] + '@rollup/rollup-linux-ppc64-gnu@4.46.3': + resolution: {integrity: sha512-VrQZp9tkk0yozJoQvQcqlWiqaPnLM6uY1qPYXvukKePb0fqaiQtOdMJSxNFUZFsGw5oA5vvVokjHrx8a9Qsz2A==} + cpu: [ppc64] + os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.40.2': resolution: {integrity: sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==} cpu: [riscv64] @@ -2615,6 +2974,11 @@ packages: cpu: [riscv64] os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.46.3': + resolution: {integrity: sha512-uf2eucWSUb+M7b0poZ/08LsbcRgaDYL8NCGjUeFMwCWFwOuFcZ8D9ayPl25P3pl+D2FH45EbHdfyUesQ2Lt9wA==} + cpu: [riscv64] + os: [linux] + '@rollup/rollup-linux-riscv64-musl@4.40.2': resolution: {integrity: sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==} cpu: [riscv64] @@ -2625,6 +2989,11 @@ packages: cpu: [riscv64] os: [linux] + '@rollup/rollup-linux-riscv64-musl@4.46.3': + resolution: {integrity: sha512-7tnUcDvN8DHm/9ra+/nF7lLzYHDeODKKKrh6JmZejbh1FnCNZS8zMkZY5J4sEipy2OW1d1Ncc4gNHUd0DLqkSg==} + cpu: [riscv64] + os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.40.2': resolution: {integrity: sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==} cpu: [s390x] @@ -2635,6 +3004,11 @@ packages: cpu: [s390x] os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.46.3': + resolution: {integrity: sha512-MUpAOallJim8CsJK+4Lc9tQzlfPbHxWDrGXZm2z6biaadNpvh3a5ewcdat478W+tXDoUiHwErX/dOql7ETcLqg==} + cpu: [s390x] + os: [linux] + '@rollup/rollup-linux-x64-gnu@4.40.2': resolution: {integrity: sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==} cpu: [x64] @@ -2645,6 +3019,11 @@ packages: cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-gnu@4.46.3': + resolution: {integrity: sha512-F42IgZI4JicE2vM2PWCe0N5mR5vR0gIdORPqhGQ32/u1S1v3kLtbZ0C/mi9FFk7C5T0PgdeyWEPajPjaUpyoKg==} + cpu: [x64] + os: [linux] + '@rollup/rollup-linux-x64-musl@4.40.2': resolution: {integrity: sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==} cpu: [x64] @@ -2655,6 +3034,11 @@ packages: cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-musl@4.46.3': + resolution: {integrity: sha512-oLc+JrwwvbimJUInzx56Q3ujL3Kkhxehg7O1gWAYzm8hImCd5ld1F2Gry5YDjR21MNb5WCKhC9hXgU7rRlyegQ==} + cpu: [x64] + os: [linux] + '@rollup/rollup-win32-arm64-msvc@4.40.2': resolution: {integrity: sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==} cpu: [arm64] @@ -2665,6 +3049,11 @@ packages: cpu: [arm64] os: [win32] + '@rollup/rollup-win32-arm64-msvc@4.46.3': + resolution: {integrity: sha512-lOrQ+BVRstruD1fkWg9yjmumhowR0oLAAzavB7yFSaGltY8klttmZtCLvOXCmGE9mLIn8IBV/IFrQOWz5xbFPg==} + cpu: [arm64] + os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.40.2': resolution: {integrity: sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==} cpu: [ia32] @@ -2675,6 +3064,11 @@ packages: cpu: [ia32] os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.46.3': + resolution: {integrity: sha512-vvrVKPRS4GduGR7VMH8EylCBqsDcw6U+/0nPDuIjXQRbHJc6xOBj+frx8ksfZAh6+Fptw5wHrN7etlMmQnPQVg==} + cpu: [ia32] + os: [win32] + '@rollup/rollup-win32-x64-msvc@4.40.2': resolution: {integrity: sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==} cpu: [x64] @@ -2685,8 +3079,13 @@ packages: cpu: [x64] os: [win32] - '@rushstack/node-core-library@5.13.1': - resolution: {integrity: sha512-5yXhzPFGEkVc9Fu92wsNJ9jlvdwz4RNb2bMso+/+TH0nMm1jDDDsOIf4l8GAkPxGuwPw5DH24RliWVfSPhlW/Q==} + '@rollup/rollup-win32-x64-msvc@4.46.3': + resolution: {integrity: sha512-fi3cPxCnu3ZeM3EwKZPgXbWoGzm2XHgB/WShKI81uj8wG0+laobmqy5wbgEwzstlbLu4MyO8C19FyhhWseYKNQ==} + cpu: [x64] + os: [win32] + + '@rushstack/node-core-library@5.14.0': + resolution: {integrity: sha512-eRong84/rwQUlATGFW3TMTYVyqL1vfW9Lf10PH+mVGfIb9HzU3h5AASNIw+axnBLjnD0n3rT5uQBwu9fvzATrg==} peerDependencies: '@types/node': '*' peerDependenciesMeta: @@ -2696,37 +3095,46 @@ packages: '@rushstack/rig-package@0.5.3': resolution: {integrity: sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==} - '@rushstack/terminal@0.15.3': - resolution: {integrity: sha512-DGJ0B2Vm69468kZCJkPj3AH5nN+nR9SPmC0rFHtzsS4lBQ7/dgOwtwVxYP7W9JPDMuRBkJ4KHmWKr036eJsj9g==} + '@rushstack/terminal@0.15.4': + resolution: {integrity: sha512-OQSThV0itlwVNHV6thoXiAYZlQh4Fgvie2CzxFABsbO2MWQsI4zOh3LRNigYSTrmS+ba2j0B3EObakPzf/x6Zg==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - '@rushstack/ts-command-line@5.0.1': - resolution: {integrity: sha512-bsbUucn41UXrQK7wgM8CNM/jagBytEyJqXw/umtI8d68vFm1Jwxh1OtLrlW7uGZgjCWiiPH6ooUNa1aVsuVr3Q==} + '@rushstack/ts-command-line@5.0.2': + resolution: {integrity: sha512-+AkJDbu1GFMPIU8Sb7TLVXDv/Q7Mkvx+wAjEl8XiXVVq+p1FmWW6M3LYpJMmoHNckSofeMecgWg5lfMwNAAsEQ==} '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@shikijs/engine-oniguruma@3.4.0': - resolution: {integrity: sha512-zwcWlZ4OQuJ/+1t32ClTtyTU1AiDkK1lhtviRWoq/hFqPjCNyLj22bIg9rB7BfoZKOEOfrsGz7No33BPCf+WlQ==} + '@shikijs/core@3.9.2': + resolution: {integrity: sha512-3q/mzmw09B2B6PgFNeiaN8pkNOixWS726IHmJEpjDAcneDPMQmUg2cweT9cWXY4XcyQS3i6mOOUgQz9RRUP6HA==} + + '@shikijs/engine-javascript@3.9.2': + resolution: {integrity: sha512-kUTRVKPsB/28H5Ko6qEsyudBiWEDLst+Sfi+hwr59E0GLHV0h8RfgbQU7fdN5Lt9A8R1ulRiZyTvAizkROjwDA==} + + '@shikijs/engine-oniguruma@3.9.2': + resolution: {integrity: sha512-Vn/w5oyQ6TUgTVDIC/BrpXwIlfK6V6kGWDVVz2eRkF2v13YoENUvaNwxMsQU/t6oCuZKzqp9vqtEtEzKl9VegA==} - '@shikijs/langs@3.4.0': - resolution: {integrity: sha512-bQkR+8LllaM2duU9BBRQU0GqFTx7TuF5kKlw/7uiGKoK140n1xlLAwCgXwSxAjJ7Htk9tXTFwnnsJTCU5nDPXQ==} + '@shikijs/langs@3.9.2': + resolution: {integrity: sha512-X1Q6wRRQXY7HqAuX3I8WjMscjeGjqXCg/Sve7J2GWFORXkSrXud23UECqTBIdCSNKJioFtmUGJQNKtlMMZMn0w==} - '@shikijs/themes@3.4.0': - resolution: {integrity: sha512-YPP4PKNFcFGLxItpbU0ZW1Osyuk8AyZ24YEFaq04CFsuCbcqydMvMUTi40V2dkc0qs1U2uZFrnU6s5zI6IH+uA==} + '@shikijs/themes@3.9.2': + resolution: {integrity: sha512-6z5lBPBMRfLyyEsgf6uJDHPa6NAGVzFJqH4EAZ+03+7sedYir2yJBRu2uPZOKmj43GyhVHWHvyduLDAwJQfDjA==} - '@shikijs/types@3.4.0': - resolution: {integrity: sha512-EUT/0lGiE//7j5N/yTMNMT3eCWNcHJLrRKxT0NDXWIfdfSmFJKfPX7nMmRBrQnWboAzIsUziCThrYMMhjbMS1A==} + '@shikijs/transformers@3.9.2': + resolution: {integrity: sha512-MW5hT4TyUp6bNAgTExRYLk1NNasVQMTCw1kgbxHcEC0O5cbepPWaB+1k+JzW9r3SP2/R8kiens8/3E6hGKfgsA==} + + '@shikijs/types@3.9.2': + resolution: {integrity: sha512-/M5L0Uc2ljyn2jKvj4Yiah7ow/W+DJSglVafvWAJ/b8AZDeeRAdMu3c2riDzB7N42VD+jSnWxeP9AKtd4TfYVw==} '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - '@simplewebauthn/browser@13.1.0': - resolution: {integrity: sha512-WuHZ/PYvyPJ9nxSzgHtOEjogBhwJfC8xzYkPC+rR/+8chl/ft4ngjiK8kSU5HtRJfczupyOh33b25TjYbvwAcg==} + '@simplewebauthn/browser@13.1.2': + resolution: {integrity: sha512-aZnW0KawAM83fSBUgglP5WofbrLbLyr7CoPqYr66Eppm7zO86YX6rrCjRB3hQKPrL7ATvY4FVXlykZ6w6FwYYw==} '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -2838,14 +3246,18 @@ packages: peerDependencies: '@sveltejs/kit': ^2.0.0 - '@sveltejs/kit@2.30.1': - resolution: {integrity: sha512-LyRpQmokZdMK4QOlGBbLX12c37IRnvC3rE6ysA4gLmBWMx5mheeEEjkZZXhtIL9Lze0BgMttaALFoROTx+kbEw==} + '@sveltejs/kit@2.33.0': + resolution: {integrity: sha512-cqS4wIl93pI0s830A3c1e5m8nMp9vt9XDadyPfzGlKR0jTaREJvouN87AqqNUHZUVdI9GQDsu3FMKfb/UXPUkA==} engines: {node: '>=18.13'} hasBin: true peerDependencies: + '@opentelemetry/api': ^1.0.0 '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0 svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.3 || ^6.0.0 || ^7.0.0-beta.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true '@sveltejs/vite-plugin-svelte-inspector@5.0.0': resolution: {integrity: sha512-iwQ8Z4ET6ZFSt/gC+tVfcsSBHwsqc6RumSaiLUkAurW3BCpJam65cmHw0oOlDMTO0u+PZi9hilBRYN+LZNHTUQ==} @@ -2862,9 +3274,6 @@ packages: svelte: ^5.0.0 vite: ^6.3.0 || ^7.0.0 - '@swc/counter@0.1.3': - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} @@ -2872,20 +3281,20 @@ packages: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} - '@tanstack/query-core@5.80.5': - resolution: {integrity: sha512-kFWXdQOUcjL/Ugk3GrI9eMuG3DsKBGaLIgyOLekR2UOrRrJgkLgPUNzZ10i8FCkfi4SgLABhOtQhx1HjoB9EZQ==} + '@tanstack/query-core@5.85.3': + resolution: {integrity: sha512-9Ne4USX83nHmRuEYs78LW+3lFEEO2hBDHu7mrdIgAFx5Zcrs7ker3n/i8p4kf6OgKExmaDN5oR0efRD7i2J0DQ==} - '@tanstack/query-devtools@5.80.0': - resolution: {integrity: sha512-D6gH4asyjaoXrCOt5vG5Og/YSj0D/TxwNQgtLJIgWbhbWCC/emu2E92EFoVHh4ppVWg1qT2gKHvKyQBEFZhCuA==} + '@tanstack/query-devtools@5.84.0': + resolution: {integrity: sha512-fbF3n+z1rqhvd9EoGp5knHkv3p5B2Zml1yNRjh7sNXklngYI5RVIWUrUjZ1RIcEoscarUb0+bOvIs5x9dwzOXQ==} - '@tanstack/react-query-devtools@5.80.5': - resolution: {integrity: sha512-+amzmlESL7e02Le28mEE8W5oiK5j/N/lBWu/dO3IbrD24SlP8cnfvYMMWTxLVkqZ9DJWEB3BqML8snAovl03uw==} + '@tanstack/react-query-devtools@5.85.3': + resolution: {integrity: sha512-WSVweCE1Kh1BVvPDHAmLgGT+GGTJQ9+a7bVqzD+zUiUTht+salJjYm5nikpMNaHFPJV102TCYdvgHgBXtURRNg==} peerDependencies: - '@tanstack/react-query': ^5.80.5 + '@tanstack/react-query': ^5.85.3 react: ^18 || ^19 - '@tanstack/react-query@5.80.5': - resolution: {integrity: sha512-C0d+pvIahk6fJK5bXxyf36r9Ft6R9O0mwl781CjBrYGRJc76XRJcKhkVpxIo68cjMy3i47gd4O1EGooAke/OCQ==} + '@tanstack/react-query@5.85.3': + resolution: {integrity: sha512-AqU8TvNh5GVIE8I+TUU0noryBRy7gOY0XhSayVXmOPll4UkZeLWKDwi0rtWOZbwLRCbyxorfJ5DIjDqE7GXpcQ==} peerDependencies: react: ^18 || ^19 @@ -2925,16 +3334,16 @@ packages: '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - '@types/cookie-parser@1.4.8': - resolution: {integrity: sha512-l37JqFrOJ9yQfRQkljb41l0xVphc7kg5JTjjr+pLRZ0IyZ49V4BQ8vbF4Ut2C2e+WH4al3xD3ZwYwIUfnbT4NQ==} + '@types/cookie-parser@1.4.9': + resolution: {integrity: sha512-tGZiZ2Gtc4m3wIdLkZ8mkj1T6CEHb35+VApbL2T14Dew8HA7c+04dmKqsKRNC+8RJPm16JEK0tFSwdZqubfc4g==} peerDependencies: '@types/express': '*' '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} - '@types/cors@2.8.18': - resolution: {integrity: sha512-nX3d0sxJW41CqQvfOzVG1NCTXfFDrDWIghCZncpHeWlVFd81zxB/DLhg7avFg6eHLCRX7ckBmoIIcqa++upvJA==} + '@types/cors@2.8.19': + resolution: {integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==} '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -2954,8 +3363,8 @@ packages: '@types/express-serve-static-core@5.0.6': resolution: {integrity: sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==} - '@types/express@5.0.2': - resolution: {integrity: sha512-BtjL3ZwbCQriyb0DGw+Rt12qAXPiBTPs815lsUvtt1Grk0vLRMZNMUZ741d5rjk+UQOxfDiBZ3dxpX00vSkK3g==} + '@types/express@5.0.3': + resolution: {integrity: sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==} '@types/graceful-fs@4.1.9': resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} @@ -2963,9 +3372,6 @@ packages: '@types/hammerjs@2.0.46': resolution: {integrity: sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw==} - '@types/hast@2.3.10': - resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} - '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -3011,11 +3417,11 @@ packages: '@types/nlcst@2.0.3': resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} - '@types/node@22.15.29': - resolution: {integrity: sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==} + '@types/node@22.17.2': + resolution: {integrity: sha512-gL6z5N9Jm9mhY+U2KXZpteb+09zyffliRkZyZOHODGATyC5B1Jt/7TzuuiLkFsSUMLbS1OLmlj/E+/3KF4Q/4w==} - '@types/prismjs@1.26.5': - resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} + '@types/node@24.3.0': + resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==} '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -3023,16 +3429,16 @@ packages: '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - '@types/react-dom@19.1.6': - resolution: {integrity: sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==} + '@types/react-dom@19.1.7': + resolution: {integrity: sha512-i5ZzwYpqjmrKenzkoLM2Ibzt6mAsM7pxB6BCIouEVVmgiqaMj1TjaK7hnA36hbW5aZv20kx7Lw6hWzPWg0Rurw==} peerDependencies: '@types/react': ^19.0.0 '@types/react@19.0.14': resolution: {integrity: sha512-ixLZ7zG7j1fM0DijL9hDArwhwcCb4vqmePgwtV0GfnkHRSCUEv4LvzarcTdhoqgyMznUx/EhoTUv31CKZzkQlw==} - '@types/react@19.1.6': - resolution: {integrity: sha512-JeG0rEWak0N6Itr6QUx+X60uQmN+5t3j9r/OVDtWzFXKaj6kD1BwJzOksD0FF6iWxZlbE1kB0q9vtnU2ekqa1Q==} + '@types/react@19.1.10': + resolution: {integrity: sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg==} '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -3078,13 +3484,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/eslint-plugin@8.33.1': - resolution: {integrity: sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==} + '@typescript-eslint/eslint-plugin@8.40.0': + resolution: {integrity: sha512-w/EboPlBwnmOBtRbiOvzjD+wdiZdgFeo17lkltrtn7X37vagKKWJABvyfsJXTlHe6XBzugmYgd4A4nW+k8Mixw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.33.1 + '@typescript-eslint/parser': ^8.40.0 eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/parser@8.32.0': resolution: {integrity: sha512-B2MdzyWxCE2+SqiZHAjPphft+/2x2FlO9YBx7eKE1BCb+rqBlQdhtAEhzIEdozHd55DXPmxBdpMygFJjfjjA9A==} @@ -3093,32 +3499,32 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.33.1': - resolution: {integrity: sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==} + '@typescript-eslint/parser@8.40.0': + resolution: {integrity: sha512-jCNyAuXx8dr5KJMkecGmZ8KI61KBUhkCob+SD+C+I5+Y1FWI2Y3QmY4/cxMCC5WAsZqoEtEETVhUiUMIGCf6Bw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.33.1': - resolution: {integrity: sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==} + '@typescript-eslint/project-service@8.40.0': + resolution: {integrity: sha512-/A89vz7Wf5DEXsGVvcGdYKbVM9F7DyFXj52lNYUDS1L9yJfqjW/fIp5PgMuEJL/KeqVTe2QSbXAGUZljDUpArw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/scope-manager@8.32.0': resolution: {integrity: sha512-jc/4IxGNedXkmG4mx4nJTILb6TMjL66D41vyeaPWvDUmeYQzF3lKtN15WsAeTr65ce4mPxwopPSo1yUUAWw0hQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.33.1': - resolution: {integrity: sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==} + '@typescript-eslint/scope-manager@8.40.0': + resolution: {integrity: sha512-y9ObStCcdCiZKzwqsE8CcpyuVMwRouJbbSrNuThDpv16dFAj429IkM6LNb1dZ2m7hK5fHyzNcErZf7CEeKXR4w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.33.1': - resolution: {integrity: sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==} + '@typescript-eslint/tsconfig-utils@8.40.0': + resolution: {integrity: sha512-jtMytmUaG9d/9kqSl/W3E3xaWESo4hFDxAIHGVW/WKKtQhesnRIJSAJO6XckluuJ6KDB5woD1EiqknriCtAmcw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/type-utils@8.32.0': resolution: {integrity: sha512-t2vouuYQKEKSLtJaa5bB4jHeha2HJczQ6E5IXPDPgIty9EqcJxpr1QHQ86YyIPwDwxvUmLfP2YADQ5ZY4qddZg==} @@ -3127,19 +3533,19 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/type-utils@8.33.1': - resolution: {integrity: sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==} + '@typescript-eslint/type-utils@8.40.0': + resolution: {integrity: sha512-eE60cK4KzAc6ZrzlJnflXdrMqOBaugeukWICO2rB0KNvwdIMaEaYiywwHMzA1qFpTxrLhN9Lp4E/00EgWcD3Ow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/types@8.32.0': resolution: {integrity: sha512-O5Id6tGadAZEMThM6L9HmVf5hQUXNSxLVKeGJYWNhhVseps/0LddMkp7//VDkzwJ69lPL0UmZdcZwggj9akJaA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.33.1': - resolution: {integrity: sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==} + '@typescript-eslint/types@8.40.0': + resolution: {integrity: sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@8.32.0': @@ -3148,11 +3554,11 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/typescript-estree@8.33.1': - resolution: {integrity: sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==} + '@typescript-eslint/typescript-estree@8.40.0': + resolution: {integrity: sha512-k1z9+GJReVVOkc1WfVKs1vBrR5MIKKbdAjDTPvIK3L8De6KbFfPFt6BKpdkdk7rZS2GtC/m6yI5MYX+UsuvVYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/utils@8.32.0': resolution: {integrity: sha512-8S9hXau6nQ/sYVtC3D6ISIDoJzS1NsCK+gluVhLN2YkBPX+/1wkwyUiDKnxRh15579WoOIyVWnoyIf3yGI9REw==} @@ -3161,37 +3567,37 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.33.1': - resolution: {integrity: sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==} + '@typescript-eslint/utils@8.40.0': + resolution: {integrity: sha512-Cgzi2MXSZyAUOY+BFwGs17s7ad/7L+gKt6Y8rAVVWS+7o6wrjeFN4nVfTpbE25MNcxyJ+iYUXflbs2xR9h4UBg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/visitor-keys@8.32.0': resolution: {integrity: sha512-1rYQTCLFFzOI5Nl0c8LUpJT8HxpwVRn9E4CkMsYfuN6ctmQqExjSTzzSk0Tz2apmXy7WU6/6fyaZVVA/thPN+w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.33.1': - resolution: {integrity: sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==} + '@typescript-eslint/visitor-keys@8.40.0': + resolution: {integrity: sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@urql/core@5.1.1': - resolution: {integrity: sha512-aGh024z5v2oINGD/In6rAtVKTm4VmQ2TxKQBAtk2ZSME5dunZFcjltw4p5ENQg+5CBhZ3FHMzl0Oa+rwqiWqlg==} + '@urql/core@5.2.0': + resolution: {integrity: sha512-/n0ieD0mvvDnVAXEQgX/7qJiVcvYvNkOHeBvkwtylfjydar123caCXcl58PXFY11oU1oquJocVXHxLAbtv4x1A==} - '@urql/exchange-retry@1.3.1': - resolution: {integrity: sha512-EEmtFu8JTuwsInqMakhLq+U3qN8ZMd5V3pX44q0EqD2imqTDsa8ikZqJ1schVrN8HljOdN+C08cwZ1/r5uIgLw==} + '@urql/exchange-retry@1.3.2': + resolution: {integrity: sha512-TQMCz2pFJMfpNxmSfX1VSfTjwUIFx/mL+p1bnfM1xjjdla7Z+KnGMW/EhFbpckp3LyWAH4PgOsMwOMnIN+MBFg==} peerDependencies: '@urql/core': ^5.0.0 - '@vitejs/plugin-react@4.5.1': - resolution: {integrity: sha512-uPZBqSI0YD4lpkIru6M35sIfylLGTyhGHvDZbNLuMA73lMlwJKz5xweH7FajfcCAc2HnINciejA9qTz0dr0M7A==} + '@vitejs/plugin-react@4.7.0': + resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.2.0 || ^5.0.0 || ^6.0.0 + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 '@vitejs/plugin-vue@5.2.4': resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==} @@ -3200,14 +3606,23 @@ packages: vite: ^5.0.0 || ^6.0.0 vue: ^3.2.25 - '@volar/language-core@2.4.13': - resolution: {integrity: sha512-MnQJ7eKchJx5Oz+YdbqyFUk8BN6jasdJv31n/7r6/WwlOOv7qzvot6B66887l2ST3bUW4Mewml54euzpJWA6bg==} + '@volar/language-core@2.4.15': + resolution: {integrity: sha512-3VHw+QZU0ZG9IuQmzT68IyN4hZNd9GchGPhbD9+pa8CVv7rnoOZwo7T8weIbrRmihqy3ATpdfXFnqRrfPVK6CA==} + + '@volar/language-core@2.4.23': + resolution: {integrity: sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==} + + '@volar/source-map@2.4.15': + resolution: {integrity: sha512-CPbMWlUN6hVZJYGcU/GSoHu4EnCHiLaXI9n8c9la6RaI9W5JHX+NqG+GSQcB0JdC2FIBLdZJwGsfKyBB71VlTg==} - '@volar/source-map@2.4.13': - resolution: {integrity: sha512-l/EBcc2FkvHgz2ZxV+OZK3kMSroMr7nN3sZLF2/f6kWW66q8+tEL4giiYyFjt0BcubqJhBt6soYIrAPhg/Yr+Q==} + '@volar/source-map@2.4.23': + resolution: {integrity: sha512-Z1Uc8IB57Lm6k7q6KIDu/p+JWtf3xsXJqAX/5r18hYOTpJyBn0KXUR8oTJ4WFYOcDzWC9n3IflGgHowx6U6z9Q==} - '@volar/typescript@2.4.13': - resolution: {integrity: sha512-Ukz4xv84swJPupZeoFsQoeJEOm7U9pqsEnaGGgt5ni3SCTa22m8oJP5Nng3Wed7Uw5RBELdLxxORX8YhJPyOgQ==} + '@volar/typescript@2.4.15': + resolution: {integrity: sha512-2aZ8i0cqPGjXb4BhkMsPYDkkuc2ZQ6yOpqwAuNwUoncELqoy5fRgOQtLR9gB0g902iS0NAkvpIzs27geVyVdPg==} + + '@volar/typescript@2.4.23': + resolution: {integrity: sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==} '@vue/babel-helper-vue-transform-on@1.4.0': resolution: {integrity: sha512-mCokbouEQ/ocRce/FpKCRItGo+013tHg7tixg3DUNS+6bmIchPt66012kBMm476vyEIJPafrvOf4E5OYj3shSw==} @@ -3228,20 +3643,20 @@ packages: '@vue/compiler-core@3.5.13': resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} - '@vue/compiler-core@3.5.16': - resolution: {integrity: sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==} + '@vue/compiler-core@3.5.18': + resolution: {integrity: sha512-3slwjQrrV1TO8MoXgy3aynDQ7lslj5UqDxuHnrzHtpON5CBinhWjJETciPngpin/T3OuW3tXUf86tEurusnztw==} '@vue/compiler-dom@3.5.13': resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} - '@vue/compiler-dom@3.5.16': - resolution: {integrity: sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==} + '@vue/compiler-dom@3.5.18': + resolution: {integrity: sha512-RMbU6NTU70++B1JyVJbNbeFkK+A+Q7y9XKE2EM4NLGm2WFR8x9MbAtWxPPLdm0wUkuZv9trpwfSlL6tjdIa1+A==} - '@vue/compiler-sfc@3.5.16': - resolution: {integrity: sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw==} + '@vue/compiler-sfc@3.5.18': + resolution: {integrity: sha512-5aBjvGqsWs+MoxswZPoTB9nSDb3dhd1x30xrrltKujlCxo48j8HGDNj3QPhF4VIS0VQDUrA1xUfp2hEa+FNyXA==} - '@vue/compiler-ssr@3.5.16': - resolution: {integrity: sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A==} + '@vue/compiler-ssr@3.5.18': + resolution: {integrity: sha512-xM16Ak7rSWHkM3m22NlmcdIM+K4BMyFARAfV9hYFl+SFuRzrZ3uGMNW05kA5pmeMa0X9X963Kgou7ufdbpOP9g==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -3249,16 +3664,16 @@ packages: '@vue/devtools-api@6.6.4': resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} - '@vue/devtools-core@7.7.6': - resolution: {integrity: sha512-ghVX3zjKPtSHu94Xs03giRIeIWlb9M+gvDRVpIZ/cRIxKHdW6HE/sm1PT3rUYS3aV92CazirT93ne+7IOvGUWg==} + '@vue/devtools-core@7.7.7': + resolution: {integrity: sha512-9z9TLbfC+AjAi1PQyWX+OErjIaJmdFlbDHcD+cAMYKY6Bh5VlsAtCeGyRMrXwIlMEQPukvnWt3gZBLwTAIMKzQ==} peerDependencies: vue: ^3.0.0 - '@vue/devtools-kit@7.7.6': - resolution: {integrity: sha512-geu7ds7tem2Y7Wz+WgbnbZ6T5eadOvozHZ23Atk/8tksHMFOFylKi1xgGlQlVn0wlkEf4hu+vd5ctj1G4kFtwA==} + '@vue/devtools-kit@7.7.7': + resolution: {integrity: sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==} - '@vue/devtools-shared@7.7.6': - resolution: {integrity: sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA==} + '@vue/devtools-shared@7.7.7': + resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==} '@vue/eslint-config-prettier@10.2.0': resolution: {integrity: sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==} @@ -3266,8 +3681,8 @@ packages: eslint: '>= 8.21.0' prettier: '>= 3.0.0' - '@vue/eslint-config-typescript@14.5.0': - resolution: {integrity: sha512-5oPOyuwkw++AP5gHDh5YFmST50dPfWOcm3/W7Nbh42IK5O3H74ytWAw0TrCRTaBoD/02khnWXuZf1Bz1xflavQ==} + '@vue/eslint-config-typescript@14.6.0': + resolution: {integrity: sha512-UpiRY/7go4Yps4mYCjkvlIbVWmn9YvPGQDxTAlcKLphyaD77LjIu3plH4Y9zNT0GB4f3K5tMmhhtRhPOgrQ/bQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^9.10.0 @@ -3285,33 +3700,33 @@ packages: typescript: optional: true - '@vue/language-core@2.2.10': - resolution: {integrity: sha512-+yNoYx6XIKuAO8Mqh1vGytu8jkFEOH5C8iOv3i8Z/65A7x9iAOXA97Q+PqZ3nlm2lxf5rOJuIGI/wDtx/riNYw==} + '@vue/language-core@2.2.12': + resolution: {integrity: sha512-IsGljWbKGU1MZpBPN+BvPAdr55YPkj2nB/TBNGNC32Vy2qLG25DYu/NBN2vNtZqdRbTRjaoYrahLrToim2NanA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@vue/reactivity@3.5.16': - resolution: {integrity: sha512-FG5Q5ee/kxhIm1p2bykPpPwqiUBV3kFySsHEQha5BJvjXdZTUfmya7wP7zC39dFuZAcf/PD5S4Lni55vGLMhvA==} + '@vue/reactivity@3.5.18': + resolution: {integrity: sha512-x0vPO5Imw+3sChLM5Y+B6G1zPjwdOri9e8V21NnTnlEvkxatHEH5B5KEAJcjuzQ7BsjGrKtfzuQ5eQwXh8HXBg==} - '@vue/runtime-core@3.5.16': - resolution: {integrity: sha512-bw5Ykq6+JFHYxrQa7Tjr+VSzw7Dj4ldR/udyBZbq73fCdJmyy5MPIFR9IX/M5Qs+TtTjuyUTCnmK3lWWwpAcFQ==} + '@vue/runtime-core@3.5.18': + resolution: {integrity: sha512-DUpHa1HpeOQEt6+3nheUfqVXRog2kivkXHUhoqJiKR33SO4x+a5uNOMkV487WPerQkL0vUuRvq/7JhRgLW3S+w==} - '@vue/runtime-dom@3.5.16': - resolution: {integrity: sha512-T1qqYJsG2xMGhImRUV9y/RseB9d0eCYZQ4CWca9ztCuiPj/XWNNN+lkNBuzVbia5z4/cgxdL28NoQCvC0Xcfww==} + '@vue/runtime-dom@3.5.18': + resolution: {integrity: sha512-YwDj71iV05j4RnzZnZtGaXwPoUWeRsqinblgVJwR8XTXYZ9D5PbahHQgsbmzUvCWNF6x7siQ89HgnX5eWkr3mw==} - '@vue/server-renderer@3.5.16': - resolution: {integrity: sha512-BrX0qLiv/WugguGsnQUJiYOE0Fe5mZTwi6b7X/ybGB0vfrPH9z0gD/Y6WOR1sGCgX4gc25L1RYS5eYQKDMoNIg==} + '@vue/server-renderer@3.5.18': + resolution: {integrity: sha512-PvIHLUoWgSbDG7zLHqSqaCoZvHi6NNmfVFOqO+OnwvqMz/tqQr3FuGWS8ufluNddk7ZLBJYMrjcw1c6XzR12mA==} peerDependencies: - vue: 3.5.16 + vue: 3.5.18 '@vue/shared@3.5.13': resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} - '@vue/shared@3.5.16': - resolution: {integrity: sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==} + '@vue/shared@3.5.18': + resolution: {integrity: sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==} '@vue/tsconfig@0.7.0': resolution: {integrity: sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==} @@ -3356,8 +3771,8 @@ packages: resolution: {integrity: sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA==} engines: {node: '>=8'} - '@xmldom/xmldom@0.8.10': - resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} + '@xmldom/xmldom@0.8.11': + resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==} engines: {node: '>=10.0.0'} abort-controller@3.0.0: @@ -3386,6 +3801,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + address@1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} @@ -3394,6 +3814,10 @@ packages: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} @@ -3461,6 +3885,10 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} + ansi-regex@4.1.1: resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} engines: {node: '>=6'} @@ -3469,8 +3897,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + ansi-regex@6.2.0: + resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==} engines: {node: '>=12'} ansi-styles@3.2.1: @@ -3512,6 +3940,9 @@ packages: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} + arktype@2.1.20: + resolution: {integrity: sha512-IZCEEXaJ8g+Ijd59WtSYwtjnqXiwM8sWQ5EjGamcto7+HVN9eK0C4p0zDlCuAwWhpqr6fIBkxPuYDl4/Mcj/+Q==} + array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} @@ -3519,8 +3950,8 @@ packages: array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - array-includes@3.1.8: - resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + array-includes@3.1.9: + resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} engines: {node: '>= 0.4'} array-iterate@2.0.1: @@ -3572,9 +4003,6 @@ packages: async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} - async@3.2.6: - resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} - asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -3582,16 +4010,20 @@ packages: resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} engines: {node: '>=8'} + auto-bind@5.0.1: + resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - avsc@5.7.7: - resolution: {integrity: sha512-9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==} + avsc@5.7.9: + resolution: {integrity: sha512-yOA4wFeI7ET3v32Di/sUybQ+ttP20JHSW3mxLuNGeO0uD6PPcvLrIQXSvy/rhJOWU5JrYh7U4OHplWMmtAtjMg==} engines: {node: '>=0.11'} - axios@1.9.0: - resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==} + axios@1.11.0: + resolution: {integrity: sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} @@ -3614,18 +4046,18 @@ packages: resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - babel-plugin-polyfill-corejs2@0.4.13: - resolution: {integrity: sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==} + babel-plugin-polyfill-corejs2@0.4.14: + resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-corejs3@0.11.1: - resolution: {integrity: sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==} + babel-plugin-polyfill-corejs3@0.13.0: + resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-regenerator@0.6.4: - resolution: {integrity: sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==} + babel-plugin-polyfill-regenerator@0.6.5: + resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -3646,8 +4078,13 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - babel-preset-expo@13.2.0: - resolution: {integrity: sha512-oNUeUZPMNRPmx/2jaKJLSQFP/MFI1M91vP+Gp+j8/FPl9p/ps603DNwCaRdcT/Vj3FfREdlIwRio1qDCjY0oAA==} + babel-preset-current-node-syntax@1.2.0: + resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} + peerDependencies: + '@babel/core': ^7.0.0 || ^8.0.0-0 + + babel-preset-expo@13.2.3: + resolution: {integrity: sha512-wQJn92lqj8GKR7Ojg/aW4+GkqI6ZdDNTDyOqhhl7A9bAqk6t0ukUOWLDXQb4p0qKJjMDV1F6gNWasI2KUbuVTQ==} peerDependencies: babel-plugin-react-compiler: ^19.0.0-beta-e993439-20250405 peerDependenciesMeta: @@ -3671,11 +4108,11 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - bare-events@2.5.4: - resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} + bare-events@2.6.1: + resolution: {integrity: sha512-AuTJkq9XmE6Vk0FJVNq5QxETrSA/vKHarWVBG5l/JbdCL1prJemiyJqUS0jrlXO0MftuPq4m3YVYhoNc5+aE/g==} - bare-fs@4.1.5: - resolution: {integrity: sha512-1zccWBMypln0jEE05LzZt+V/8y8AQsQQqxtklqaIyg5nu6OAYFhZxPXinJTSG+kU5qyNmeLgcn9AW7eHiCHVLA==} + bare-fs@4.2.0: + resolution: {integrity: sha512-oRfrw7gwwBVAWx9S5zPMo2iiOjxyiZE12DmblmMQREgcogbNO0AFaZ+QBxxkEXiPspcpvO/Qtqn8LabUx4uYXg==} engines: {bare: '>=1.16.0'} peerDependencies: bare-buffer: '*' @@ -3690,8 +4127,8 @@ packages: bare-path@3.0.0: resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} - bare-stream@2.6.5: - resolution: {integrity: sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==} + bare-stream@2.7.0: + resolution: {integrity: sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==} peerDependencies: bare-buffer: '*' bare-events: '*' @@ -3724,15 +4161,12 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - birpc@2.3.0: - resolution: {integrity: sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g==} + birpc@2.5.0: + resolution: {integrity: sha512-VSWO/W6nNQdyP520F1mhf+Lc2f8pjGQOtoHHm7Ze8Go1kX7akpVIrtTa0fn+HB0QJEDVacl6aO08YE0PgXfdnQ==} bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - bl@5.1.0: - resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} - body-parser@1.20.3: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -3770,6 +4204,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.25.3: + resolution: {integrity: sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} engines: {node: '>= 6'} @@ -3786,17 +4225,10 @@ packages: buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} - busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} - bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} @@ -3840,6 +4272,10 @@ packages: camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -3851,6 +4287,9 @@ packages: caniuse-lite@1.0.30001721: resolution: {integrity: sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ==} + caniuse-lite@1.0.30001735: + resolution: {integrity: sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==} + capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -3865,8 +4304,8 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.4.1: - resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + chalk@5.6.0: + resolution: {integrity: sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} change-case-all@1.0.15: @@ -3894,6 +4333,9 @@ packages: chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + chardet@2.1.0: + resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -3941,6 +4383,10 @@ packages: resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} engines: {node: '>=12'} + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + cli-cursor@2.1.0: resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} engines: {node: '>=4'} @@ -3961,6 +4407,10 @@ packages: resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} engines: {node: '>=8'} + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} + cli-width@3.0.0: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} @@ -3991,6 +4441,10 @@ packages: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + code-excerpt@4.0.0: + resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + collapse-white-space@2.1.0: resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} @@ -4057,8 +4511,8 @@ packages: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} - compression@1.8.0: - resolution: {integrity: sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==} + compression@1.8.1: + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} engines: {node: '>= 0.8.0'} concat-map@0.0.1: @@ -4092,6 +4546,10 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + convert-to-spaces@2.0.1: + resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cookie-parser@1.4.7: resolution: {integrity: sha512-nGUvgXnotP3BsjiLX2ypbQnWoGUPIIfHQNZkkC668ntrzGWEZVW70HDEB1qnNGMicPje6EttlIgzo51YSwNQGw==} engines: {node: '>= 0.8.0'} @@ -4119,8 +4577,8 @@ packages: resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} engines: {node: '>=12.13'} - core-js-compat@3.42.0: - resolution: {integrity: sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ==} + core-js-compat@3.45.0: + resolution: {integrity: sha512-gRoVMBawZg0OnxaVv3zpqLLxaHmsubEGyTnqdpI/CEBvX4JadI1dMSHxagThprYRtSVbuQxvi6iUatdPxohHpA==} cors@2.8.5: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} @@ -4249,8 +4707,8 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} - decode-named-character-reference@1.1.0: - resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} + decode-named-character-reference@1.2.0: + resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} decode-uri-component@0.2.2: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} @@ -4365,6 +4823,9 @@ packages: devtools-protocol@0.0.1312386: resolution: {integrity: sha512-DPnhUXvmvKT2dFA/j7B+riVLUt9Q6RKJlcppojL5CoRywJJKLDYnRlw0gTFKfgDPHP5E04UoB71SxoJlVZy8FA==} + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4377,6 +4838,9 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dns-packet@5.6.1: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} @@ -4400,8 +4864,8 @@ packages: resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} - dotenv@16.5.0: - resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} + dotenv@16.6.1: + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} dset@3.1.4: @@ -4418,18 +4882,19 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - ejs@3.1.10: - resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} - engines: {node: '>=0.10.0'} - hasBin: true - electron-to-chromium@1.5.165: resolution: {integrity: sha512-naiMx1Z6Nb2TxPU6fiFrUrDTjyPMLdTtaOd2oLmG8zVSg2hCWGkhPyxwk+qRmZ1ytwVqUv0u7ZcDA5+ALhaUtw==} + electron-to-chromium@1.5.206: + resolution: {integrity: sha512-/eucXSTaI8L78l42xPurxdBzPTjAkMVCQO7unZCWk9LnZiwKcSvQUhF4c99NWQLwMQXxjlfoQy0+8m9U2yEDQQ==} + emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -4444,8 +4909,8 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} engine.io-parser@5.2.3: resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} @@ -4459,8 +4924,8 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - entities@6.0.0: - resolution: {integrity: sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==} + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} env-editor@0.4.2: @@ -4471,6 +4936,10 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -4516,6 +4985,9 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} + es-toolkit@1.39.10: + resolution: {integrity: sha512-E0iGnTtbDhkeczB0T+mxmoVlT4YNweEKBLq7oaU4p11mecdsZpNWOglI4895Vh4usbQ+LsJiuLuI2L0Vdmfm2w==} + esast-util-from-estree@2.0.0: resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} @@ -4527,6 +4999,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.25.9: + resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -4555,8 +5032,8 @@ packages: engines: {node: '>=6.0'} hasBin: true - eslint-config-prettier@10.1.5: - resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==} + eslint-config-prettier@10.1.8: + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -4612,16 +5089,16 @@ packages: eslint: ^8.57.0 || ^9.0.0 vue-eslint-parser: ^10.0.0 - eslint-scope@8.3.0: - resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.0: - resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint@9.26.0: @@ -4634,11 +5111,21 @@ packages: jiti: optional: true + eslint@9.33.0: + resolution: {integrity: sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + esm-env@1.2.2: resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} - espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esprima@4.0.1: @@ -4697,9 +5184,9 @@ packages: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} - eventsource-parser@3.0.2: - resolution: {integrity: sha512-6RxOBZ/cYgd8usLwsEl+EC09Au/9BcmCKYF2/xbml6DNczf7nv0MQb+7BA2F+li6//I+28VNlQR37XfQtcAJuA==} - engines: {node: '>=18.0.0'} + eventsource-parser@3.0.5: + resolution: {integrity: sha512-bSRG85ZrMdmWtm7qkF9He9TNRzc/Bm99gEJMaQoHJ9E6Kv9QBbsldh2oMj7iXmYNEAVvNgvv5vPorG6W+XtBhQ==} + engines: {node: '>=20.0.0'} eventsource@3.0.7: resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} @@ -4730,8 +5217,8 @@ packages: expo: '*' react-native: '*' - expo-asset@11.1.5: - resolution: {integrity: sha512-GEQDCqC25uDBoXHEnXeBuwpeXvI+3fRGvtzwwt0ZKKzWaN+TgeF8H7c76p3Zi4DfBMFDcduM0CmOvJX+yCCLUQ==} + expo-asset@11.1.7: + resolution: {integrity: sha512-b5P8GpjUh08fRCf6m5XPVAh7ra42cQrHBIMgH2UXP+xsj4Wufl6pLy6jRF5w6U7DranUMbsXm8TOyq4EHy7ADg==} peerDependencies: expo: '*' react: '*' @@ -4744,37 +5231,37 @@ packages: react: '*' react-native: '*' - expo-clipboard@7.1.4: - resolution: {integrity: sha512-NHhfKnrzb4o0PacUKD93ByadU0JmPBoFTFYbbFJZ9OAX6SImpSqG5gfrMUR3vVj4Qx9f1LpMcdAv5lBzv868ow==} + expo-clipboard@7.1.5: + resolution: {integrity: sha512-TCANUGOxouoJXxKBW5ASJl2WlmQLGpuZGemDCL2fO5ZMl57DGTypUmagb0CVUFxDl0yAtFIcESd78UsF9o64aw==} peerDependencies: expo: '*' react: '*' react-native: '*' - expo-constants@17.1.6: - resolution: {integrity: sha512-q5mLvJiLtPcaZ7t2diSOlQ2AyxIO8YMVEJsEfI/ExkGj15JrflNQ7CALEW6IF/uNae/76qI/XcjEuuAyjdaCNw==} + expo-constants@17.1.7: + resolution: {integrity: sha512-byBjGsJ6T6FrLlhOBxw4EaiMXrZEn/MlUYIj/JAd+FS7ll5X/S4qVRbIimSJtdW47hXMq0zxPfJX6njtA56hHA==} peerDependencies: expo: '*' react-native: '*' - expo-crypto@14.1.4: - resolution: {integrity: sha512-RmKhB3FgvKE5aNFBw4+hifOkyE0tywsDQVksdHA3jFRzcU9toFiJAz6nhPsBKDf5JlzJiIXhbNMtydoWtuuE7w==} + expo-crypto@14.1.5: + resolution: {integrity: sha512-ZXJoUMoUeiMNEoSD4itItFFz3cKrit6YJ/BR0hjuwNC+NczbV9rorvhvmeJmrU9O2cFQHhJQQR1fjQnt45Vu4Q==} peerDependencies: expo: '*' - expo-document-picker@13.1.5: - resolution: {integrity: sha512-ELsGFW+k6xEkz7YKpop9u+9M9yUTNNruQdyKd2lSGR4thQFKRPOmKDsgYDZxc18hysGQN4evzp54lZqQwYdk4Q==} + expo-document-picker@13.1.6: + resolution: {integrity: sha512-8FTQPDOkyCvFN/i4xyqzH7ELW4AsB6B3XBZQjn1FEdqpozo6rpNJRr7sWFU/93WrLgA9FJEKpKbyr6XxczK6BA==} peerDependencies: expo: '*' - expo-file-system@18.1.10: - resolution: {integrity: sha512-SyaWg+HitScLuyEeSG9gMSDT0hIxbM9jiZjSBP9l9zMnwZjmQwsusE6+7qGiddxJzdOhTP4YGUfvEzeeS0YL3Q==} + expo-file-system@18.1.11: + resolution: {integrity: sha512-HJw/m0nVOKeqeRjPjGdvm+zBi5/NxcdPf8M8P3G2JFvH5Z8vBWqVDic2O58jnT1OFEy0XXzoH9UqFu7cHg9DTQ==} peerDependencies: expo: '*' react-native: '*' - expo-font@13.3.1: - resolution: {integrity: sha512-d+xrHYvSM9WB42wj8vP9OOFWyxed5R1evphfDb6zYBmC1dA9Hf89FpT7TNFtj2Bk3clTnpmVqQTCYbbA2P3CLg==} + expo-font@13.3.2: + resolution: {integrity: sha512-wUlMdpqURmQ/CNKK/+BIHkDA5nGjMqNlYmW0pJFXY/KE/OG80Qcavdu2sHsL4efAIiNGvYdBS10WztuQYU4X0A==} peerDependencies: expo: '*' react: '*' @@ -4784,8 +5271,8 @@ packages: peerDependencies: expo: '*' - expo-image@2.2.0: - resolution: {integrity: sha512-ushj+R0s07hBZeuYziW3ejj/vlgzNtI/uEaYS5zIQdGz6bXQHLp7l7H6NTx7dKBeHE8ESc8mE5yTgf0YZEHITw==} + expo-image@2.2.1: + resolution: {integrity: sha512-5ZSggMi0X2G9AN0aM+sdkCyyZ6YcWvGs9KYLYrRBVUN3ph6RBiu6mKGpaNN1TAscySRnH1eHbUE1H+Qeq7qm1g==} peerDependencies: expo: '*' react: '*' @@ -4801,18 +5288,18 @@ packages: expo: '*' react: '*' - expo-linking@7.1.5: - resolution: {integrity: sha512-8g20zOpROW78bF+bLI4a3ZWj4ntLgM0rCewKycPL0jk9WGvBrBtFtwwADJgOiV1EurNp3lcquerXGlWS+SOQyA==} + expo-linking@7.1.7: + resolution: {integrity: sha512-ZJaH1RIch2G/M3hx2QJdlrKbYFUTOjVVW4g39hfxrE5bPX9xhZUYXqxqQtzMNl1ylAevw9JkgEfWbBWddbZ3UA==} peerDependencies: react: '*' react-native: '*' - expo-modules-autolinking@2.1.10: - resolution: {integrity: sha512-k93fzoszrYTKbZ51DSVnewYIGUV6Gi22Su8qySXPFJEfvtDs2NUUNRHBZNKgLHvwc6xPzVC5j7JYbrpXNuY44A==} + expo-modules-autolinking@2.1.14: + resolution: {integrity: sha512-nT5ERXwc+0ZT/pozDoJjYZyUQu5RnXMk9jDGm5lg+PiKvsrCTSA/2/eftJGMxLkTjVI2MXp5WjSz3JRjbA7UXA==} hasBin: true - expo-modules-core@2.4.0: - resolution: {integrity: sha512-Ko5eHBdvuMykjw9P9C9PF54/wBSsGOxaOjx92I5BwgKvEmUwN3UrXFV4CXzlLVbLfSYUQaLcB220xmPfgvT7Fg==} + expo-modules-core@2.5.0: + resolution: {integrity: sha512-aIbQxZE2vdCKsolQUl6Q9Farlf8tjh/ROR4hfN1qT7QBGPl1XrJGnaOKkcgYaGrlzCPg/7IBe0Np67GzKMZKKQ==} expo-router@5.0.7: resolution: {integrity: sha512-NlEgRXCKtseDuIHBp87UfkvqsuVrc0MYG+zg33dopaN6wik4RkrWWxUYdNPHub0s/7qMye6zZBY4ZCrXwd/xpA==} @@ -4838,8 +5325,8 @@ packages: peerDependencies: expo: '*' - expo-splash-screen@0.30.9: - resolution: {integrity: sha512-curHUaZxUTZ2dWvz32ao3xPv5mJr1LBqn5V8xm/IULAehB9RGCn8iKiROMN1PYebSG+56vPMuJmBm9P+ayvJpA==} + expo-splash-screen@0.30.10: + resolution: {integrity: sha512-Tt9va/sLENQDQYeOQ6cdLdGvTZ644KR3YG9aRlnpcs2/beYjOX1LHT510EGzVN9ljUTg+1ebEo5GGt2arYtPjw==} peerDependencies: expo: '*' @@ -4855,8 +5342,8 @@ packages: expo: '*' react-native: '*' - expo-system-ui@5.0.8: - resolution: {integrity: sha512-2sI7ALq3W8sKKa3FRW7PmuNznk+48cb1VzFy96vYZLZgTDZViz+fEJNdp1RHgLui/mAl3f8md1LneygSJvZ1EQ==} + expo-system-ui@5.0.10: + resolution: {integrity: sha512-BTXbSyJr80yuN6VO4XQKZj7BjesZQLHgOYZ0bWyf4VB19GFZq7ZnZOEc/eoKk1B3eIocOMKUfNCrg/Wn8Kfcuw==} peerDependencies: expo: '*' react-native: '*' @@ -4871,8 +5358,8 @@ packages: expo: '*' react-native: '*' - expo@53.0.10: - resolution: {integrity: sha512-rN3HcQOeum4i+4Fq1+wBuTWbUjHZqTE7YgGGioOtY2WnhYt+4OSrTlxjRjp13AtkLuKSKkh34gkdFMlUepKlXA==} + expo@53.0.20: + resolution: {integrity: sha512-Nh+HIywVy9KxT/LtH08QcXqrxtUOA9BZhsXn3KCsAYA+kNb80M8VKN8/jfQF+I6CgeKyFKJoPNsWgI0y0VBGrA==} hasBin: true peerDependencies: '@expo/dom-webview': '*' @@ -4891,11 +5378,11 @@ packages: exponential-backoff@3.1.2: resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==} - express-rate-limit@7.5.0: - resolution: {integrity: sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==} + express-rate-limit@7.5.1: + resolution: {integrity: sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==} engines: {node: '>= 16'} peerDependencies: - express: ^4.11 || 5 || ^5.0.0-beta.1 + express: '>= 4.11' express@4.21.2: resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} @@ -4905,8 +5392,8 @@ packages: resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} engines: {node: '>= 18'} - exsolve@1.0.5: - resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==} + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} @@ -5008,9 +5495,6 @@ packages: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} - filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -5049,8 +5533,8 @@ packages: flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} - follow-redirects@1.15.9: - resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + follow-redirects@1.15.11: + resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -5105,6 +5589,10 @@ packages: resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} engines: {node: '>=14.14'} + fs-extra@11.3.1: + resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} + engines: {node: '>=14.14'} + fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -5138,6 +5626,10 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + get-east-asian-width@1.3.0: + resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} + engines: {node: '>=18'} + get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -5166,14 +5658,10 @@ packages: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} - get-uri@6.0.4: - resolution: {integrity: sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==} + get-uri@6.0.5: + resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==} engines: {node: '>= 14'} - getenv@1.0.0: - resolution: {integrity: sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==} - engines: {node: '>=6'} - getenv@2.0.0: resolution: {integrity: sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ==} engines: {node: '>=6'} @@ -5202,8 +5690,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@16.2.0: - resolution: {integrity: sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==} + globals@16.3.0: + resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==} engines: {node: '>=18'} globalthis@1.0.4: @@ -5280,6 +5768,11 @@ packages: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} + handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + has-bigints@1.1.0: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} engines: {node: '>= 0.4'} @@ -5338,9 +5831,6 @@ packages: hast-util-minify-whitespace@1.0.1: resolution: {integrity: sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==} - hast-util-parse-selector@3.1.1: - resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} - hast-util-parse-selector@4.0.0: resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} @@ -5368,9 +5858,6 @@ packages: hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - hastscript@7.2.0: - resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} - hastscript@9.0.1: resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} @@ -5454,8 +5941,8 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.4: - resolution: {integrity: sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} image-size@1.2.1: @@ -5513,14 +6000,34 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + ink-spinner@5.0.0: + resolution: {integrity: sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA==} + engines: {node: '>=14.16'} + peerDependencies: + ink: '>=4.0.0' + react: '>=18.0.0' + + ink@5.2.1: + resolution: {integrity: sha512-BqcUyWrG9zq5HIwW6JcfFHsIYebJkWWb4fczNah1goUO0vv5vneIlfwuS85twyJ5hYR/y18FlAYUxrO9ChIWVg==} + engines: {node: '>=18'} + peerDependencies: + '@types/react': '>=18.0.0' + react: '>=18.0.0' + react-devtools-core: ^4.19.1 + peerDependenciesMeta: + '@types/react': + optional: true + react-devtools-core: + optional: true + inline-style-parser@0.2.4: resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} inline-style-prefixer@7.0.1: resolution: {integrity: sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==} - inquirer@12.6.3: - resolution: {integrity: sha512-eX9beYAjr1MqYsIjx1vAheXsRk1jbZRvHLcBu5nA9wX0rXR1IfCZLnVLp4Ym4mrhqmh7AuANwcdtgQ291fZDfQ==} + inquirer@12.9.3: + resolution: {integrity: sha512-Hpw2JWdrYY8xJSmhU05Idd5FPshQ1CZErH00WO+FK6fKxkBeqj+E+yFXSlERZLKtzWeQYFCMfl8U2TK9SvVbtQ==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -5539,8 +6046,8 @@ packages: invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - ip-address@9.0.5: - resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + ip-address@10.0.1: + resolution: {integrity: sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==} engines: {node: '>= 12'} ip-regex@4.3.0: @@ -5636,6 +6143,14 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + + is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} + is-generator-fn@2.1.0: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} @@ -5651,6 +6166,11 @@ packages: is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + is-in-ci@1.0.0: + resolution: {integrity: sha512-eUuAjybVTHMYWm/U+vBO1sY/JOCgoPCXRxzdju0K+K0BiGW0SChEL1MLC0PoCIR1OlPo5YAp8HuQoUlsWEICwg==} + engines: {node: '>=18'} + hasBin: true + is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} @@ -5660,10 +6180,6 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} - is-ip@3.1.0: resolution: {integrity: sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==} engines: {node: '>=8'} @@ -5752,10 +6268,6 @@ packages: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} - is-unicode-supported@2.1.0: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} @@ -5837,11 +6349,6 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jake@10.9.2: - resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} - engines: {node: '>=10'} - hasBin: true - jest-changed-files@29.7.0: resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5978,8 +6485,8 @@ packages: resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true - jiti@2.4.2: - resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + jiti@2.5.1: + resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} hasBin: true jju@1.4.0: @@ -5999,9 +6506,6 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsbn@1.1.0: - resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - jsc-safe-url@0.2.4: resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} @@ -6056,6 +6560,9 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} + jsonpath-plus@10.3.0: resolution: {integrity: sha512-8TNmfeTCk2Le33A3vRRwtuworG/L5RrgMvdjhKZxvyShO+mBu2fP50OWUjRLNtvw344DdDarFh9buFAZs5ujeA==} engines: {node: '>=18.0.0'} @@ -6184,6 +6691,10 @@ packages: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -6243,10 +6754,6 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} - log-symbols@5.1.0: - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} - engines: {node: '>=12'} - log-update@4.0.0: resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} engines: {node: '>=10'} @@ -6640,16 +7147,13 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - minimatch@3.0.8: - resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + minimatch@10.0.3: + resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} + engines: {node: 20 || >=22} minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -6677,8 +7181,8 @@ packages: resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} engines: {node: '>= 18'} - mintlify@4.0.574: - resolution: {integrity: sha512-Y+jJ6ZWttdmfnQTCH0gkmpdSC64WfJy/JbFa0XyYkFaHPSwH0TtS486yScnWrKDVqgAYwsDRmrQEgOebeR/PfA==} + mintlify@4.2.75: + resolution: {integrity: sha512-76dVX6FYRhGkokY8KvmFqctMBHFYrUZmSgbytCl8NIasTqmo3m/3DGdcWb6qDy/qea0Ijn6JccP3xFGLZI7emA==} engines: {node: '>=18.0.0'} hasBin: true @@ -6750,6 +7254,9 @@ packages: resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} engines: {node: '>= 0.6'} + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + neotraverse@0.6.18: resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} engines: {node: '>= 10'} @@ -6761,20 +7268,20 @@ packages: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} - next-mdx-remote-client@1.1.1: - resolution: {integrity: sha512-cJnJGaRiHc1gn4aCzDmY9zmcCjEw+zMCpCYIy45Kjs8HzeQpdGcaO5GrgIcX/DFkuCVrrzc69wi2gGnExXbv/A==} + next-mdx-remote-client@1.1.2: + resolution: {integrity: sha512-LZJxBU420dTZsbWOrNYZXkahGJu8lNKxLTrQrZl4JUsKeFtp91yA78dHMTfOcp7UAud3txhM1tayyoKFq4tw7A==} engines: {node: '>=18.18.0'} peerDependencies: react: '>= 18.3.0 < 19.0.0' react-dom: '>= 18.3.0 < 19.0.0' - next@15.3.5: - resolution: {integrity: sha512-RkazLBMMDJSJ4XZQ81kolSpwiCt907l0xcgcpF4xC2Vml6QVcPNXW0NQRwQ80FFtSn7UM52XN0anaw8TEJXaiw==} + next@15.4.7: + resolution: {integrity: sha512-OcqRugwF7n7mC8OSYjvsZhhG1AYSvulor1EIUsIkbbEbf1qoE5EbH36Swj8WhF4cHqmDgkiam3z1c1W0J1Wifg==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 - '@playwright/test': ^1.41.2 + '@playwright/test': ^1.51.1 babel-plugin-react-compiler: '*' react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 @@ -6844,8 +7351,8 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - normalize-url@8.0.1: - resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} + normalize-url@8.0.2: + resolution: {integrity: sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==} engines: {node: '>=14.16'} npm-normalize-package-bin@4.0.0: @@ -6883,6 +7390,10 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} @@ -6930,6 +7441,12 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} + oniguruma-parser@0.12.1: + resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} + + oniguruma-to-es@4.3.3: + resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==} + open@10.1.2: resolution: {integrity: sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==} engines: {node: '>=18'} @@ -6945,8 +7462,8 @@ packages: openapi-types@12.1.3: resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} - openapi3-ts@4.4.0: - resolution: {integrity: sha512-9asTNB9IkKEzWMcHmVZE7Ts3kC9G7AFHfs8i7caD8HbI76gEjdkId4z/AkP83xdZsH7PLAnnbl47qZkXuxpArw==} + openapi3-ts@4.5.0: + resolution: {integrity: sha512-jaL+HgTq2Gj5jRcfdutgRGLosCy/hT8sQf6VOy+P+g36cZOjI1iukdPnijC+4CmeRzg/jEllJUboEic2FhxhtQ==} optimism@0.18.1: resolution: {integrity: sha512-mLXNwWPa9dgFyDqkNi54sjDyNJ9/fTI6WGBLgnXku1vdKY/jovHfZT5r+aiVeFFLOz+foPNOm5YJ4mqgld2GBQ==} @@ -6963,10 +7480,6 @@ packages: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} - ora@6.3.1: - resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - own-keys@1.0.1: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} @@ -7065,6 +7578,10 @@ packages: pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + patch-console@2.0.0: + resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -7146,6 +7663,10 @@ packages: engines: {node: '>=0.10'} hasBin: true + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + pirates@4.0.7: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} @@ -7161,8 +7682,8 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - pkg-types@2.1.0: - resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} + pkg-types@2.2.0: + resolution: {integrity: sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==} plist@3.1.0: resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} @@ -7180,9 +7701,33 @@ packages: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} - postcss-load-config@3.1.4: - resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} - engines: {node: '>= 10'} + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@3.1.4: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} peerDependencies: postcss: '>=8.0.9' ts-node: '>=9.0.0' @@ -7192,6 +7737,12 @@ packages: ts-node: optional: true + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + postcss-safe-parser@7.0.1: resolution: {integrity: sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==} engines: {node: '>=18.0'} @@ -7245,8 +7796,8 @@ packages: prettier: ^3.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 - prettier@3.5.3: - resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} engines: {node: '>=14'} hasBin: true @@ -7283,9 +7834,6 @@ packages: prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - property-information@6.5.0: - resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} - property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} @@ -7304,8 +7852,8 @@ packages: resolution: {integrity: sha512-xaH3pZMni/R2BG7ZXXaWS9Wc9wFlhyDVJF47IJ+3ali0TGv+2PsckKxbmo+rnx3ZxiV2wblVhtdS3bohAP6GGw==} engines: {node: ^14.13.1 || >=16.0.0} - pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + pump@3.0.3: + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} @@ -7340,8 +7888,8 @@ packages: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} - quansync@0.2.10: - resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} query-string@7.1.3: resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} @@ -7376,10 +7924,10 @@ packages: react-devtools-core@6.1.2: resolution: {integrity: sha512-ldFwzufLletzCikNJVYaxlxMLu7swJ3T2VrGfzXlMsVhZhPDKXA38DEROidaYZVgMAmQnIjymrmqto5pyfrwPA==} - react-dom@19.1.0: - resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} + react-dom@19.1.1: + resolution: {integrity: sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==} peerDependencies: - react: ^19.1.0 + react: ^19.1.1 react-fast-compare@3.2.2: resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} @@ -7396,8 +7944,8 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - react-is@19.1.0: - resolution: {integrity: sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==} + react-is@19.1.1: + resolution: {integrity: sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA==} react-native-edge-to-edge@1.6.0: resolution: {integrity: sha512-2WCNdE3Qd6Fwg9+4BpbATUxCLcouF6YRY7K+J36KJ4l3y+tWN6XCqAC4DuoGblAAbb2sLkhEDp4FOlbOIot2Og==} @@ -7417,6 +7965,12 @@ packages: react: '*' react-native: '*' + react-native-is-edge-to-edge@1.2.1: + resolution: {integrity: sha512-FLbPWl/MyYQWz+KwqOZsSyj2JmLKglHatd3xLZWskXOpRaio4LfEDEz8E/A6uD8QoTHW6Aobw1jbEwK7KMgR7Q==} + peerDependencies: + react: '*' + react-native: '*' + react-native-reanimated@3.17.5: resolution: {integrity: sha512-SxBK7wQfJ4UoWoJqQnmIC7ZjuNgVb9rcY5Xc67upXAFKftWg0rnkknTw6vgwnjRcvYThrjzUVti66XoZdDJGtw==} peerDependencies: @@ -7430,8 +7984,8 @@ packages: react: '*' react-native: '*' - react-native-screens@4.11.1: - resolution: {integrity: sha512-F0zOzRVa3ptZfLpD0J8ROdo+y1fEPw+VBFq1MTY/iyDu08al7qFUO5hLMd+EYMda5VXGaTFCa8q7bOppUszhJw==} + react-native-screens@4.14.1: + resolution: {integrity: sha512-/7zxVdk2H4BH/dvqpQQh45VCA05UeC+LCE8TPtGfjn5A+9/UJfKPB8LHhAcWxciLYfMCyW8J2u5dGLGQJH/Ecg==} peerDependencies: react: '*' react-native: '*' @@ -7459,6 +8013,12 @@ packages: '@types/react': optional: true + react-reconciler@0.29.2: + resolution: {integrity: sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: ^18.3.1 + react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} @@ -7467,15 +8027,15 @@ packages: resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} engines: {node: '>=0.10.0'} - react-router-dom@7.6.2: - resolution: {integrity: sha512-Q8zb6VlTbdYKK5JJBLQEN06oTUa/RAbG/oQS1auK1I0TbJOXktqm+QENEVJU6QvWynlXPRBXI3fiOQcSEA78rA==} + react-router-dom@7.8.1: + resolution: {integrity: sha512-NkgBCF3sVgCiAWIlSt89GR2PLaksMpoo3HDCorpRfnCEfdtRPLiuTf+CNXvqZMI5SJLZCLpVCvcZrTdtGW64xQ==} engines: {node: '>=20.0.0'} peerDependencies: react: '>=18' react-dom: '>=18' - react-router@7.6.2: - resolution: {integrity: sha512-U7Nv3y+bMimgWjhlT5CRdzHPu2/KVmqPwKUCChW8en5P3znxUqwlYFlbmyj8Rgp1SF6zs5X4+77kBVknkg6a0w==} + react-router@7.8.1: + resolution: {integrity: sha512-5cy/M8DHcG51/KUIka1nfZ2QeylS4PJRs6TT8I4PF5axVsI5JUxp0hC0NZ/AEEj8Vw7xsEoD7L/6FY+zoYaOGA==} engines: {node: '>=20.0.0'} peerDependencies: react: '>=18' @@ -7484,14 +8044,21 @@ packages: react-dom: optional: true + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + react@19.0.0: resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} engines: {node: '>=0.10.0'} - react@19.1.0: - resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} + react@19.1.1: + resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==} engines: {node: '>=0.10.0'} + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + read-package-json-fast@4.0.0: resolution: {integrity: sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==} engines: {node: ^18.17.0 || >=20.5.0} @@ -7511,8 +8078,10 @@ packages: recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} - recma-jsx@1.0.0: - resolution: {integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==} + recma-jsx@1.0.1: + resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 recma-parse@1.0.0: resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} @@ -7524,9 +8093,6 @@ packages: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} - refractor@4.9.0: - resolution: {integrity: sha512-nEG1SPXFoGGx+dcjftjv8cAjEusIh6ED1xhf5DG3C0x/k+rmZ2duKnc3QLpt6qeHv5fPb8uwN3VWN2BT7fr3Og==} - regenerate-unicode-properties@10.2.0: resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} engines: {node: '>=4'} @@ -7537,6 +8103,15 @@ packages: regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@6.0.1: + resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==} + regexp.prototype.flags@1.5.4: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} @@ -7587,8 +8162,10 @@ packages: remark-math@6.0.0: resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==} - remark-mdx-remove-esm@1.1.0: - resolution: {integrity: sha512-oN3F9QRuPKSdzZi+wvEodBVjKwya63sl403pWzJvm0+c503iUjCDR+JAnP3Ho/4205IWbQ2NujPQi/B9kU6ZrA==} + remark-mdx-remove-esm@1.2.0: + resolution: {integrity: sha512-BOZDeA9EuHDxQsvX7y4ovdlP8dk2/ToDGjOTrT5gs57OqTZuH4J1Tn8XjUFa221xvfXxiKaWrKT04waQ+tYydg==} + peerDependencies: + unified: ^11 remark-mdx@3.1.0: resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==} @@ -7726,6 +8303,11 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rollup@4.46.3: + resolution: {integrity: sha512-RZn2XTjXb8t5g13f5YclGoilU/kwT696DIkY3sywjdZidNSi3+vseaQov7D7BZXVJCPv3pDWUN69C78GGbXsKw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -7738,8 +8320,8 @@ packages: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} - run-async@3.0.0: - resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + run-async@4.0.6: + resolution: {integrity: sha512-IoDlSLTs3Yq593mb3ZoKWKXMNu3UpObxhgA/Xuid5p4bbfi2jdY1Hj0m1K+0/tEuQTxIGMhQDqGjKb7RuxGpAQ==} engines: {node: '>=0.12.0'} run-parallel@1.2.0: @@ -7776,6 +8358,9 @@ packages: sax@1.4.1: resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.25.0: resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} @@ -7881,8 +8466,8 @@ packages: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - sharp@0.34.1: - resolution: {integrity: sha512-1j0w61+eVxu7DawFJtnfYcvSv6qPFvfTaqzTQ2BLknVhHTwGS8sc63ZBF4rzkWMBVKybo4S5OBtDdZahh2A1xg==} + sharp@0.34.3: + resolution: {integrity: sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} shebang-command@2.0.0: @@ -7897,6 +8482,9 @@ packages: resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} engines: {node: '>= 0.4'} + shiki@3.9.2: + resolution: {integrity: sha512-t6NKl5e/zGTvw/IyftLcumolgOczhuroqwXngDeMqJ3h3EQiTY/7wmfgPlsmloD8oYfqkEDqxiaH37Pjm1zUhQ==} + side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} engines: {node: '>= 0.4'} @@ -7952,6 +8540,14 @@ packages: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} + slugify@1.6.6: resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} engines: {node: '>=8.0.0'} @@ -7978,8 +8574,8 @@ packages: resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} engines: {node: '>= 14'} - socks@2.8.4: - resolution: {integrity: sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==} + socks@2.8.7: + resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} source-map-js@1.2.1: @@ -8000,9 +8596,9 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -8021,9 +8617,6 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - sprintf-js@1.1.3: - resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -8043,10 +8636,6 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - stdin-discarder@0.1.0: - resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - stop-iteration-iterator@1.1.0: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} @@ -8055,10 +8644,6 @@ packages: resolution: {integrity: sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==} engines: {node: '>= 0.10.0'} - streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - streamx@2.22.1: resolution: {integrity: sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==} @@ -8085,6 +8670,10 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + string.prototype.matchall@4.0.12: resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} engines: {node: '>= 0.4'} @@ -8149,11 +8738,11 @@ packages: structured-headers@0.4.1: resolution: {integrity: sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==} - style-to-js@1.1.16: - resolution: {integrity: sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==} + style-to-js@1.1.17: + resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==} - style-to-object@1.0.8: - resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} + style-to-object@1.0.9: + resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==} styled-jsx@5.1.6: resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} @@ -8217,8 +8806,8 @@ packages: svelte: optional: true - svelte@5.38.1: - resolution: {integrity: sha512-fO6CLDfJYWHgfo6lQwkQU2vhCiHc2MBl6s3vEhK+sSZru17YL4R5s1v14ndRpqKAIkq8nCz6MTk1yZbESZWeyQ==} + svelte@5.38.2: + resolution: {integrity: sha512-iAcp/oFAWauVSGILdD67n7DiwgLHXZzWZIdzl7araRxu72jUr7PFAo2Iie7gXt0IbnlYvhxCb9GT3ZJUquO3PA==} engines: {node: '>=18'} swap-case@2.0.2: @@ -8236,8 +8825,13 @@ packages: resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==} engines: {node: ^14.18.0 || >=16.0.0} - tar-fs@3.0.9: - resolution: {integrity: sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==} + tailwindcss@3.4.17: + resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} + engines: {node: '>=14.0.0'} + hasBin: true + + tar-fs@3.1.0: + resolution: {integrity: sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==} tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} @@ -8258,8 +8852,8 @@ packages: resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} engines: {node: '>=8'} - terser@5.40.0: - resolution: {integrity: sha512-cfeKl/jjwSR5ar7d0FGmave9hFGJT8obyo0z+CrQOylLDbk7X81nPU6vq9VORa5jU30SkDnT2FXjLbR8HLP+xA==} + terser@5.43.1: + resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==} engines: {node: '>=10'} hasBin: true @@ -8287,10 +8881,6 @@ packages: resolution: {integrity: sha512-YBGpG4bWsHoPvofT6y/5iqulfXIiIErl5B0LdtHT1mGXDFTAhhRrbUpTvBgYbovr+3cKblya2WAOcpoy90XguA==} engines: {node: '>=16'} - tinyglobby@0.2.13: - resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} - engines: {node: '>=12.0.0'} - tinyglobby@0.2.14: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} @@ -8342,17 +8932,18 @@ packages: resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} engines: {node: '>=8'} - ts-jest@29.3.4: - resolution: {integrity: sha512-Iqbrm8IXOmV+ggWHOTEbjwyCf2xZlUMv5npExksXohL+tk8va4Fjhb+X2+Rt9NBmgO7bJ8WpnMLOwih/DnMlFA==} + ts-jest@29.4.1: + resolution: {integrity: sha512-SaeUtjfpg9Uqu8IbeDKtdaS0g8lS6FT6OzM3ezrDfErPJPHNDo/Ey+VFGP1bQIDfagYDLyRpd7O15XpG1Es2Uw==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/transform': ^29.0.0 - '@jest/types': ^29.0.0 - babel-jest: ^29.0.0 + '@jest/transform': ^29.0.0 || ^30.0.0 + '@jest/types': ^29.0.0 || ^30.0.0 + babel-jest: ^29.0.0 || ^30.0.0 esbuild: '*' - jest: ^29.0.0 + jest: ^29.0.0 || ^30.0.0 + jest-util: ^29.0.0 || ^30.0.0 typescript: '>=4.3 <6' peerDependenciesMeta: '@babel/core': @@ -8365,6 +8956,8 @@ packages: optional: true esbuild: optional: true + jest-util: + optional: true ts-log@2.2.7: resolution: {integrity: sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==} @@ -8439,18 +9032,18 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typedoc-plugin-markdown@4.6.4: - resolution: {integrity: sha512-AnbToFS1T1H+n40QbO2+i0wE6L+55rWnj7zxnM1r781+2gmhMF2dB6dzFpaylWLQYkbg4D1Y13sYnne/6qZwdw==} + typedoc-plugin-markdown@4.8.1: + resolution: {integrity: sha512-ug7fc4j0SiJxSwBGLncpSo8tLvrT9VONvPUQqQDTKPxCoFQBADLli832RGPtj6sfSVJebNSrHZQRUdEryYH/7g==} engines: {node: '>= 18'} peerDependencies: typedoc: 0.28.x - typedoc@0.28.5: - resolution: {integrity: sha512-5PzUddaA9FbaarUzIsEc4wNXCiO4Ot3bJNeMF2qKpYlTmM9TTaSHQ7162w756ERCkXER/+o2purRG6YOAv6EMA==} + typedoc@0.28.10: + resolution: {integrity: sha512-zYvpjS2bNJ30SoNYfHSRaFpBMZAsL7uwKbWwqoCNFWjcPnI3e/mPLh2SneH9mX7SJxtDpvDgvd9/iZxGbo7daw==} engines: {node: '>= 18', pnpm: '>= 10'} hasBin: true peerDependencies: - typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x + typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x typescript-eslint@8.32.0: resolution: {integrity: sha512-UMq2kxdXCzinFFPsXc9o2ozIpYCCOiEC46MG3yEh5Vipq6BO27otTtEBZA1fQ66DulEUgE97ucQ/3YY66CPg0A==} @@ -8459,13 +9052,20 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + typescript-eslint@8.40.0: + resolution: {integrity: sha512-Xvd2l+ZmFDPEt4oj1QEXzA4A2uUK6opvKu3eGN9aGjB8au02lIVcLyi375w94hHyejTOmzIU77L8ol2sRg9n7Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + typescript@5.8.2: resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} engines: {node: '>=14.17'} hasBin: true - typescript@5.8.3: - resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} engines: {node: '>=14.17'} hasBin: true @@ -8479,6 +9079,11 @@ packages: ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + engines: {node: '>=0.8.0'} + hasBin: true + unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} @@ -8493,6 +9098,9 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-types@7.10.0: + resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} + undici@6.21.3: resolution: {integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==} engines: {node: '>=18.17'} @@ -8609,8 +9217,8 @@ packages: urlpattern-polyfill@10.0.0: resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} - use-latest-callback@0.2.3: - resolution: {integrity: sha512-7vI3fBuyRcP91pazVboc4qu+6ZqM8izPWX9k7cRnT8hbD5svslcknsh3S9BUhaK11OmgTV4oWZZVSeQAiV53SQ==} + use-latest-callback@0.2.4: + resolution: {integrity: sha512-LS2s2n1usUUnDq4oVh1ca6JFX9uSqUncTfAm44WMg0v6TxL7POUTk1B044NH8TeLkFbNajIsgDHcgNpNzZucdg==} peerDependencies: react: '>=16.8' @@ -8655,16 +9263,16 @@ packages: vfile-matter@5.0.1: resolution: {integrity: sha512-o6roP82AiX0XfkyTHyRCMXgHfltUNlXSEqCIS80f+mbAyiQBE2fxtDVMtseyytGx75sihiJFo/zR6r/4LTs2Cw==} - vfile-message@4.0.2: - resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-hot-client@2.0.4: - resolution: {integrity: sha512-W9LOGAyGMrbGArYJN4LBCdOC5+Zwh7dHvOHC0KmGKkJhsOzaKbpo/jEjpPKVHIW0/jBWj8RZG0NUxfgA8BxgAg==} + vite-hot-client@2.1.0: + resolution: {integrity: sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==} peerDependencies: - vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 vite-plugin-dts@4.5.4: resolution: {integrity: sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==} @@ -8685,11 +9293,11 @@ packages: '@nuxt/kit': optional: true - vite-plugin-vue-devtools@7.7.6: - resolution: {integrity: sha512-L7nPVM5a7lgit/Z+36iwoqHOaP3wxqVi1UvaDJwGCfblS9Y6vNqf32ILlzJVH9c47aHu90BhDXeZc+rgzHRHcw==} + vite-plugin-vue-devtools@7.7.7: + resolution: {integrity: sha512-d0fIh3wRcgSlr4Vz7bAk4va1MkdqhQgj9ANE/rBhsAjOnRfTLs2ocjFMvSUOsv6SRRXU9G+VM7yMgqDb6yI4iQ==} engines: {node: '>=v14.21.3'} peerDependencies: - vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 + vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 vite-plugin-vue-inspector@5.3.1: resolution: {integrity: sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A==} @@ -8736,8 +9344,8 @@ packages: yaml: optional: true - vite@7.1.2: - resolution: {integrity: sha512-J0SQBPlQiEXAF7tajiH+rUooJPo0l8KQgyg4/aMunNtrOa7bwuZJsJbDWzeljqQpgftxuq5yNJxQ91O9ts29UQ==} + vite@7.1.3: + resolution: {integrity: sha512-OOUi5zjkDxYrKhTV3V7iKsoS37VUM7v40+HuwEmcrsf11Cdx9y3DIr2Px6liIcZFwt3XSRpQvFpL3WVy7ApkGw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -8790,8 +9398,8 @@ packages: vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - vue-eslint-parser@10.1.3: - resolution: {integrity: sha512-dbCBnd2e02dYWsXoqX5yKUZlOt+ExIpq7hmHKPb5ZqKcjf++Eo0hMseFTZMLKThrUk61m+Uv6A2YSBve6ZvuDQ==} + vue-eslint-parser@10.2.0: + resolution: {integrity: sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -8801,14 +9409,14 @@ packages: peerDependencies: vue: ^3.2.0 - vue-tsc@2.2.10: - resolution: {integrity: sha512-jWZ1xSaNbabEV3whpIDMbjVSVawjAyW+x1n3JeGQo7S0uv2n9F/JMgWW90tGWNFRKya4YwKMZgCtr0vRAM7DeQ==} + vue-tsc@2.2.12: + resolution: {integrity: sha512-P7OP77b2h/Pmk+lZdJ0YWs+5tJ6J2+uOQPo7tlBnY44QqQSPYvS0qVT4wqDJgwrZaLe47etJLLQRFia71GYITw==} hasBin: true peerDependencies: typescript: '>=5.0.0' - vue@3.5.16: - resolution: {integrity: sha512-rjOV2ecxMd5SiAmof2xzh2WxntRcigkX/He4YFJ6WdRvVUrbt6DxC1Iujh10XLl8xCDRDtGKMeO3D+pRQ1PP9w==} + vue@3.5.18: + resolution: {integrity: sha512-7W4Y4ZbMiQ3SEo+m9lnoNpV9xG7QVMLa+/0RFwwiAVkeYoyGXqWE85jabU4pllJNUzqfLShJ5YLptewhCWUgNA==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -8881,6 +9489,10 @@ packages: engines: {node: ^18.17.0 || >=20.5.0} hasBin: true + widest-line@5.0.0: + resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} + engines: {node: '>=18'} + wonka@6.3.5: resolution: {integrity: sha512-SSil+ecw6B4/Dm7Pf2sAshKQ5hWFvfyGlfPbEd6A14dOH6VDjrmbY86u6nZvy9omGwwIPFR8V41+of1EezgoUw==} @@ -8888,6 +9500,9 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -8900,6 +9515,10 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} + wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -8942,8 +9561,8 @@ packages: utf-8-validate: optional: true - ws@8.18.2: - resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -9007,6 +9626,11 @@ packages: engines: {node: '>= 14.6'} hasBin: true + yaml@2.8.1: + resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} + engines: {node: '>= 14.6'} + hasBin: true + yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} @@ -9042,6 +9666,9 @@ packages: resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} engines: {node: '>=18'} + yoga-layout@3.2.1: + resolution: {integrity: sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==} + zen-observable-ts@1.2.5: resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==} @@ -9051,26 +9678,33 @@ packages: zimmerframe@1.1.2: resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} - zod-to-json-schema@3.24.5: - resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} + zod-to-json-schema@3.24.6: + resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==} peerDependencies: zod: ^3.24.1 zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} - zod@3.25.51: - resolution: {integrity: sha512-TQSnBldh+XSGL+opiSIq0575wvDPqu09AqWe1F7JhUMKY+M91/aGlK4MhpVNO7MgYfHcVCB1ffwAUTJzllKJqg==} + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - '@0no-co/graphql.web@1.1.2(graphql@16.11.0)': + '@0no-co/graphql.web@1.2.0(graphql@16.11.0)': optionalDependencies: graphql: 16.11.0 + '@alcalzone/ansi-tokenize@0.1.3': + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + + '@alloc/quick-lru@5.2.0': {} + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.8 @@ -9078,7 +9712,7 @@ snapshots: '@antfu/utils@0.7.10': {} - '@apollo/client@3.13.8(@types/react@19.1.6)(graphql-ws@6.0.5(graphql@16.11.0)(ws@8.18.2))(graphql@16.11.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@apollo/client@3.13.9(@types/react@19.1.10)(graphql-ws@6.0.5(graphql@16.11.0)(ws@8.18.3))(graphql@16.11.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) '@wry/caches': 1.0.1 @@ -9089,27 +9723,27 @@ snapshots: hoist-non-react-statics: 3.3.2 optimism: 0.18.1 prop-types: 15.8.1 - rehackt: 0.1.0(@types/react@19.1.6)(react@19.1.0) + rehackt: 0.1.0(@types/react@19.1.10)(react@19.1.1) symbol-observable: 4.0.0 ts-invariant: 0.10.3 tslib: 2.8.1 zen-observable-ts: 1.2.5 optionalDependencies: - graphql-ws: 6.0.5(graphql@16.11.0)(ws@8.18.2) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + graphql-ws: 6.0.5(graphql@16.11.0)(ws@8.18.3) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) transitivePeerDependencies: - '@types/react' '@ardatan/relay-compiler@12.0.0(graphql@16.11.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/generator': 7.27.5 - '@babel/parser': 7.27.5 - '@babel/runtime': 7.27.6 - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 - babel-preset-fbjs: 3.4.0(@babel/core@7.27.4) + '@babel/core': 7.28.3 + '@babel/generator': 7.28.3 + '@babel/parser': 7.28.3 + '@babel/runtime': 7.28.3 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 + babel-preset-fbjs: 3.4.0(@babel/core@7.28.3) chalk: 4.1.2 fb-watchman: 2.0.2 fbjs: 3.0.5 @@ -9128,8 +9762,8 @@ snapshots: '@ardatan/relay-compiler@12.0.3(graphql@16.11.0)': dependencies: '@babel/generator': 7.27.5 - '@babel/parser': 7.27.5 - '@babel/runtime': 7.27.6 + '@babel/parser': 7.28.3 + '@babel/runtime': 7.28.3 chalk: 4.1.2 fb-watchman: 2.0.2 graphql: 16.11.0 @@ -9141,9 +9775,15 @@ snapshots: transitivePeerDependencies: - encoding + '@ark/schema@0.46.0': + dependencies: + '@ark/util': 0.46.0 + + '@ark/util@0.46.0': {} + '@asyncapi/parser@3.4.0': dependencies: - '@asyncapi/specs': 6.8.1 + '@asyncapi/specs': 6.10.0 '@openapi-contrib/openapi-schema-to-json-schema': 3.2.0 '@stoplight/json': 3.21.0 '@stoplight/json-ref-readers': 1.2.2 @@ -9158,14 +9798,14 @@ snapshots: ajv: 8.17.1 ajv-errors: 3.0.0(ajv@8.17.1) ajv-formats: 2.1.1(ajv@8.17.1) - avsc: 5.7.7 + avsc: 5.7.9 js-yaml: 4.1.0 jsonpath-plus: 10.3.0 node-fetch: 2.6.7 transitivePeerDependencies: - encoding - '@asyncapi/specs@6.8.1': + '@asyncapi/specs@6.10.0': dependencies: '@types/json-schema': 7.0.15 @@ -9181,18 +9821,20 @@ snapshots: '@babel/compat-data@7.27.5': {} - '@babel/core@7.27.4': + '@babel/compat-data@7.28.0': {} + + '@babel/core@7.28.3': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.27.1 - '@babel/generator': 7.27.5 + '@babel/generator': 7.28.3 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) - '@babel/helpers': 7.27.6 - '@babel/parser': 7.27.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) + '@babel/helpers': 7.28.3 + '@babel/parser': 7.28.3 '@babel/template': 7.27.2 - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 convert-source-map: 2.0.0 debug: 4.4.1 gensync: 1.0.0-beta.2 @@ -9203,15 +9845,23 @@ snapshots: '@babel/generator@7.27.5': dependencies: - '@babel/parser': 7.27.5 + '@babel/parser': 7.28.3 '@babel/types': 7.27.6 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 + jsesc: 3.1.0 + + '@babel/generator@7.28.3': + dependencies: + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 jsesc: 3.1.0 '@babel/helper-annotate-as-pure@7.27.3': dependencies: - '@babel/types': 7.27.6 + '@babel/types': 7.28.2 '@babel/helper-compilation-targets@7.27.2': dependencies: @@ -9221,29 +9871,42 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.27.4)': + '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.28.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-member-expression-to-functions': 7.27.1 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.4) + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.27.4 + '@babel/traverse': 7.28.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.27.4)': + '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-annotate-as-pure': 7.27.3 regexpu-core: 6.2.0 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.6.4(@babel/core@7.27.4)': + '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 debug: 4.4.1 @@ -9252,57 +9915,59 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-globals@7.28.0': {} + '@babel/helper-member-expression-to-functions@7.27.1': dependencies: - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.27.3(@babel/core@7.27.4)': + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-module-imports': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.27.4 + '@babel/traverse': 7.28.3 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.27.1': dependencies: - '@babel/types': 7.27.6 + '@babel/types': 7.28.2 '@babel/helper-plugin-utils@7.27.1': {} - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.27.4)': + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-wrap-function': 7.27.1 - '@babel/traverse': 7.27.4 + '@babel/helper-wrap-function': 7.28.3 + '@babel/traverse': 7.28.3 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.27.1(@babel/core@7.27.4)': + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-member-expression-to-functions': 7.27.1 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.27.4 + '@babel/traverse': 7.28.3 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color @@ -9312,18 +9977,18 @@ snapshots: '@babel/helper-validator-option@7.27.1': {} - '@babel/helper-wrap-function@7.27.1': + '@babel/helper-wrap-function@7.28.3': dependencies: '@babel/template': 7.27.2 - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color - '@babel/helpers@7.27.6': + '@babel/helpers@7.28.3': dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.27.6 + '@babel/types': 7.28.2 '@babel/highlight@7.25.9': dependencies: @@ -9332,474 +9997,514 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/parser@7.27.5': + '@babel/parser@7.28.3': dependencies: - '@babel/types': 7.27.6 + '@babel/types': 7.28.2 + + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.27.4)': + '@babel/plugin-proposal-decorators@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.3) transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-decorators@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-proposal-decorators@7.28.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.3 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.3) transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-export-default-from@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-proposal-export-default-from@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.27.4)': + '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.28.3)': dependencies: - '@babel/compat-data': 7.27.5 - '@babel/core': 7.27.4 + '@babel/compat-data': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-transform-parameters': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.3) - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.27.4)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.27.4)': + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.27.4)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.27.4)': + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-decorators@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-syntax-decorators@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.27.4)': + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-export-default-from@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-syntax-export-default-from@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.27.4)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.27.4)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.27.4)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.27.4)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.27.4)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.27.4)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.27.4)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.27.4)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.27.4)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.27.4)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-async-generator-functions@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.4) - '@babel/traverse': 7.27.4 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.3) + '@babel/traverse': 7.28.3 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.4) + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.3) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-block-scoping@7.27.5(@babel/core@7.27.4)': + '@babel/plugin-transform-block-scoping@7.28.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-classes@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.4) - '@babel/traverse': 7.27.4 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3) + '@babel/traverse': 7.28.3 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-classes@7.28.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-globals': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3) + '@babel/traverse': 7.28.3 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/template': 7.27.2 - '@babel/plugin-transform-destructuring@7.27.3(@babel/core@7.27.4)': + '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.3 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.27.4 + '@babel/traverse': 7.28.3 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) + '@babel/core': 7.28.3 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.3 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-object-rest-spread@7.27.3(@babel/core@7.27.4)': + '@babel/plugin-transform-object-rest-spread@7.28.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.27.3(@babel/core@7.27.4) - '@babel/plugin-transform-parameters': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.3) + '@babel/traverse': 7.28.3 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.4) + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-parameters@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.3 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-react-display-name@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.3 + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.3) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.4) - '@babel/types': 7.27.6 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3) + '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-regenerator@7.27.5(@babel/core@7.27.4)': + '@babel/plugin-transform-regenerator@7.28.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-runtime@7.27.4(@babel/core@7.27.4)': + '@babel/plugin-transform-runtime@7.28.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - babel-plugin-polyfill-corejs2: 0.4.13(@babel/core@7.27.4) - babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.27.4) - babel-plugin-polyfill-regenerator: 0.6.4(@babel/core@7.27.4) + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.3) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.3) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.3) semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-spread@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-typescript@7.27.1(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3) + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-typescript@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.3 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 - '@babel/preset-react@7.27.1(@babel/core@7.27.4)': + '@babel/preset-react@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-transform-react-display-name': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.3) transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.27.1(@babel/core@7.27.4)': + '@babel/preset-typescript@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.28.3) transitivePeerDependencies: - supports-color '@babel/runtime@7.27.6': {} + '@babel/runtime@7.28.3': {} + '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 - '@babel/traverse@7.27.4': + '@babel/traverse@7.28.3': dependencies: '@babel/code-frame': 7.27.1 - '@babel/generator': 7.27.5 - '@babel/parser': 7.27.5 + '@babel/generator': 7.28.3 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.3 '@babel/template': 7.27.2 - '@babel/types': 7.27.6 + '@babel/types': 7.28.2 debug: 4.4.1 - globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -9808,6 +10513,11 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + '@babel/types@7.28.2': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@bcoe/v8-coverage@0.2.3': {} '@cspotcode/source-map-support@0.8.1': @@ -9818,7 +10528,7 @@ snapshots: dependencies: '@types/hammerjs': 2.0.46 - '@emnapi/runtime@1.4.3': + '@emnapi/runtime@1.4.5': dependencies: tslib: 2.8.1 optional: true @@ -9843,90 +10553,181 @@ snapshots: '@esbuild/aix-ppc64@0.25.4': optional: true + '@esbuild/aix-ppc64@0.25.9': + optional: true + '@esbuild/android-arm64@0.25.4': optional: true + '@esbuild/android-arm64@0.25.9': + optional: true + '@esbuild/android-arm@0.25.4': optional: true + '@esbuild/android-arm@0.25.9': + optional: true + '@esbuild/android-x64@0.25.4': optional: true + '@esbuild/android-x64@0.25.9': + optional: true + '@esbuild/darwin-arm64@0.25.4': optional: true + '@esbuild/darwin-arm64@0.25.9': + optional: true + '@esbuild/darwin-x64@0.25.4': optional: true + '@esbuild/darwin-x64@0.25.9': + optional: true + '@esbuild/freebsd-arm64@0.25.4': optional: true + '@esbuild/freebsd-arm64@0.25.9': + optional: true + '@esbuild/freebsd-x64@0.25.4': optional: true + '@esbuild/freebsd-x64@0.25.9': + optional: true + '@esbuild/linux-arm64@0.25.4': optional: true + '@esbuild/linux-arm64@0.25.9': + optional: true + '@esbuild/linux-arm@0.25.4': optional: true + '@esbuild/linux-arm@0.25.9': + optional: true + '@esbuild/linux-ia32@0.25.4': optional: true + '@esbuild/linux-ia32@0.25.9': + optional: true + '@esbuild/linux-loong64@0.25.4': optional: true + '@esbuild/linux-loong64@0.25.9': + optional: true + '@esbuild/linux-mips64el@0.25.4': optional: true + '@esbuild/linux-mips64el@0.25.9': + optional: true + '@esbuild/linux-ppc64@0.25.4': optional: true + '@esbuild/linux-ppc64@0.25.9': + optional: true + '@esbuild/linux-riscv64@0.25.4': optional: true + '@esbuild/linux-riscv64@0.25.9': + optional: true + '@esbuild/linux-s390x@0.25.4': optional: true + '@esbuild/linux-s390x@0.25.9': + optional: true + '@esbuild/linux-x64@0.25.4': optional: true + '@esbuild/linux-x64@0.25.9': + optional: true + '@esbuild/netbsd-arm64@0.25.4': optional: true + '@esbuild/netbsd-arm64@0.25.9': + optional: true + '@esbuild/netbsd-x64@0.25.4': optional: true + '@esbuild/netbsd-x64@0.25.9': + optional: true + '@esbuild/openbsd-arm64@0.25.4': optional: true + '@esbuild/openbsd-arm64@0.25.9': + optional: true + '@esbuild/openbsd-x64@0.25.4': optional: true + '@esbuild/openbsd-x64@0.25.9': + optional: true + + '@esbuild/openharmony-arm64@0.25.9': + optional: true + '@esbuild/sunos-x64@0.25.4': optional: true + '@esbuild/sunos-x64@0.25.9': + optional: true + '@esbuild/win32-arm64@0.25.4': optional: true + '@esbuild/win32-arm64@0.25.9': + optional: true + '@esbuild/win32-ia32@0.25.4': optional: true + '@esbuild/win32-ia32@0.25.9': + optional: true + '@esbuild/win32-x64@0.25.4': optional: true - '@eslint-community/eslint-utils@4.7.0(eslint@9.26.0(jiti@2.4.2))': + '@esbuild/win32-x64@0.25.9': + optional: true + + '@eslint-community/eslint-utils@4.7.0(eslint@9.26.0(jiti@2.5.1))': dependencies: - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.26.0(jiti@2.5.1) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/eslint-utils@4.7.0(eslint@9.33.0(jiti@2.5.1))': + dependencies: + eslint: 9.33.0(jiti@2.5.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.3.2(eslint@9.26.0(jiti@2.4.2))': + '@eslint/compat@1.3.2(eslint@9.33.0(jiti@2.5.1))': optionalDependencies: - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) + + '@eslint/config-array@0.20.1': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.1 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color - '@eslint/config-array@0.20.0': + '@eslint/config-array@0.21.0': dependencies: '@eslint/object-schema': 2.1.6 debug: 4.4.1 @@ -9934,7 +10735,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.2.2': {} + '@eslint/config-helpers@0.2.3': {} + + '@eslint/config-helpers@0.3.1': {} '@eslint/core@0.12.0': dependencies: @@ -9944,7 +10747,7 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/core@0.15.1': + '@eslint/core@0.15.2': dependencies: '@types/json-schema': 7.0.15 @@ -9952,7 +10755,7 @@ snapshots: dependencies: ajv: 6.12.6 debug: 4.4.1 - espree: 10.3.0 + espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 @@ -9964,42 +10767,44 @@ snapshots: '@eslint/js@9.26.0': {} + '@eslint/js@9.33.0': {} + '@eslint/json@0.12.0': dependencies: '@eslint/core': 0.12.0 - '@eslint/plugin-kit': 0.3.4 - '@humanwhocodes/momoa': 3.3.8 + '@eslint/plugin-kit': 0.3.5 + '@humanwhocodes/momoa': 3.3.9 natural-compare: 1.4.0 '@eslint/object-schema@2.1.6': {} - '@eslint/plugin-kit@0.3.4': + '@eslint/plugin-kit@0.3.5': dependencies: - '@eslint/core': 0.15.1 + '@eslint/core': 0.15.2 levn: 0.4.1 - '@expo/cli@0.24.14(graphql@16.11.0)': + '@expo/cli@0.24.20(graphql@16.11.0)': dependencies: - '@0no-co/graphql.web': 1.1.2(graphql@16.11.0) + '@0no-co/graphql.web': 1.2.0(graphql@16.11.0) '@babel/runtime': 7.27.6 '@expo/code-signing-certificates': 0.0.5 - '@expo/config': 11.0.10 - '@expo/config-plugins': 10.0.2 + '@expo/config': 11.0.13 + '@expo/config-plugins': 10.1.2 '@expo/devcert': 1.2.0 - '@expo/env': 1.0.5 - '@expo/image-utils': 0.7.4 - '@expo/json-file': 9.1.4 - '@expo/metro-config': 0.20.14 - '@expo/osascript': 2.2.4 - '@expo/package-manager': 1.8.4 - '@expo/plist': 0.3.4 - '@expo/prebuild-config': 9.0.6 + '@expo/env': 1.0.7 + '@expo/image-utils': 0.7.6 + '@expo/json-file': 9.1.5 + '@expo/metro-config': 0.20.17 + '@expo/osascript': 2.2.5 + '@expo/package-manager': 1.8.6 + '@expo/plist': 0.3.5 + '@expo/prebuild-config': 9.0.11 '@expo/spawn-async': 1.7.2 '@expo/ws-tunnel': 1.0.6 '@expo/xcpretty': 4.3.2 - '@react-native/dev-middleware': 0.79.3 - '@urql/core': 5.1.1(graphql@16.11.0) - '@urql/exchange-retry': 1.3.1(@urql/core@5.1.1(graphql@16.11.0)) + '@react-native/dev-middleware': 0.79.5 + '@urql/core': 5.2.0(graphql@16.11.0) + '@urql/exchange-retry': 1.3.2(@urql/core@5.2.0(graphql@16.11.0)) accepts: 1.3.8 arg: 5.0.2 better-opn: 3.0.2 @@ -10007,7 +10812,7 @@ snapshots: bplist-parser: 0.3.2 chalk: 4.1.2 ci-info: 3.9.0 - compression: 1.8.0 + compression: 1.8.1 connect: 3.7.0 debug: 4.4.1 env-editor: 0.4.2 @@ -10040,7 +10845,7 @@ snapshots: terminal-link: 2.1.1 undici: 6.21.3 wrap-ansi: 7.0.0 - ws: 8.18.2 + ws: 8.18.3 transitivePeerDependencies: - bufferutil - graphql @@ -10052,15 +10857,15 @@ snapshots: node-forge: 1.3.1 nullthrows: 1.1.1 - '@expo/config-plugins@10.0.2': + '@expo/config-plugins@10.1.2': dependencies: - '@expo/config-types': 53.0.4 - '@expo/json-file': 9.1.4 - '@expo/plist': 0.3.4 + '@expo/config-types': 53.0.5 + '@expo/json-file': 9.1.5 + '@expo/plist': 0.3.5 '@expo/sdk-runtime-versions': 1.0.0 chalk: 4.1.2 debug: 4.4.1 - getenv: 1.0.0 + getenv: 2.0.0 glob: 10.4.5 resolve-from: 5.0.0 semver: 7.7.2 @@ -10071,16 +10876,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/config-types@53.0.4': {} + '@expo/config-types@53.0.5': {} - '@expo/config@11.0.10': + '@expo/config@11.0.13': dependencies: '@babel/code-frame': 7.10.4 - '@expo/config-plugins': 10.0.2 - '@expo/config-types': 53.0.4 - '@expo/json-file': 9.1.4 + '@expo/config-plugins': 10.1.2 + '@expo/config-types': 53.0.5 + '@expo/json-file': 9.1.5 deepmerge: 4.3.1 - getenv: 1.0.0 + getenv: 2.0.0 glob: 10.4.5 require-from-string: 2.0.2 resolve-from: 5.0.0 @@ -10099,24 +10904,26 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/env@1.0.5': + '@expo/env@1.0.7': dependencies: chalk: 4.1.2 debug: 4.4.1 dotenv: 16.4.7 dotenv-expand: 11.0.7 - getenv: 1.0.0 + getenv: 2.0.0 transitivePeerDependencies: - supports-color - '@expo/fingerprint@0.12.4': + '@expo/fingerprint@0.13.4': dependencies: '@expo/spawn-async': 1.7.2 arg: 5.0.2 chalk: 4.1.2 debug: 4.4.1 find-up: 5.0.0 - getenv: 1.0.0 + getenv: 2.0.0 + glob: 10.4.5 + ignore: 5.3.2 minimatch: 9.0.5 p-limit: 3.1.0 resolve-from: 5.0.0 @@ -10124,11 +10931,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/image-utils@0.7.4': + '@expo/image-utils@0.7.6': dependencies: '@expo/spawn-async': 1.7.2 chalk: 4.1.2 - getenv: 1.0.0 + getenv: 2.0.0 jimp-compact: 0.16.1 parse-png: 2.1.0 resolve-from: 5.0.0 @@ -10136,26 +10943,26 @@ snapshots: temp-dir: 2.0.0 unique-string: 2.0.0 - '@expo/json-file@9.1.4': + '@expo/json-file@9.1.5': dependencies: '@babel/code-frame': 7.10.4 json5: 2.2.3 - '@expo/metro-config@0.20.14': + '@expo/metro-config@0.20.17': dependencies: - '@babel/core': 7.27.4 - '@babel/generator': 7.27.5 - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 - '@expo/config': 11.0.10 - '@expo/env': 1.0.5 - '@expo/json-file': 9.1.4 + '@babel/core': 7.28.3 + '@babel/generator': 7.28.3 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 + '@expo/config': 11.0.13 + '@expo/env': 1.0.7 + '@expo/json-file': 9.1.5 '@expo/spawn-async': 1.7.2 chalk: 4.1.2 debug: 4.4.1 dotenv: 16.4.7 dotenv-expand: 11.0.7 - getenv: 1.0.0 + getenv: 2.0.0 glob: 10.4.5 jsc-safe-url: 0.2.4 lightningcss: 1.27.0 @@ -10165,38 +10972,38 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))': + '@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))': dependencies: - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) - '@expo/osascript@2.2.4': + '@expo/osascript@2.2.5': dependencies: '@expo/spawn-async': 1.7.2 exec-async: 2.2.0 - '@expo/package-manager@1.8.4': + '@expo/package-manager@1.8.6': dependencies: - '@expo/json-file': 9.1.4 + '@expo/json-file': 9.1.5 '@expo/spawn-async': 1.7.2 chalk: 4.1.2 npm-package-arg: 11.0.3 ora: 3.4.0 resolve-workspace-root: 2.0.0 - '@expo/plist@0.3.4': + '@expo/plist@0.3.5': dependencies: - '@xmldom/xmldom': 0.8.10 + '@xmldom/xmldom': 0.8.11 base64-js: 1.5.1 xmlbuilder: 15.1.1 - '@expo/prebuild-config@9.0.6': + '@expo/prebuild-config@9.0.11': dependencies: - '@expo/config': 11.0.10 - '@expo/config-plugins': 10.0.2 - '@expo/config-types': 53.0.4 - '@expo/image-utils': 0.7.4 - '@expo/json-file': 9.1.4 - '@react-native/normalize-colors': 0.79.2 + '@expo/config': 11.0.13 + '@expo/config-plugins': 10.1.2 + '@expo/config-types': 53.0.5 + '@expo/image-utils': 0.7.6 + '@expo/json-file': 9.1.5 + '@react-native/normalize-colors': 0.79.5 debug: 4.4.1 resolve-from: 5.0.0 semver: 7.7.2 @@ -10221,11 +11028,11 @@ snapshots: '@expo/sudo-prompt@9.3.2': {} - '@expo/vector-icons@14.1.0(expo-font@13.3.1(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': + '@expo/vector-icons@14.1.0(expo-font@13.3.2(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': dependencies: - expo-font: 13.3.1(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) + expo-font: 13.3.2(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) '@expo/ws-tunnel@1.0.6': {} @@ -10238,45 +11045,45 @@ snapshots: '@fastify/busboy@3.1.1': {} - '@gerrit0/mini-shiki@3.4.0': + '@gerrit0/mini-shiki@3.9.2': dependencies: - '@shikijs/engine-oniguruma': 3.4.0 - '@shikijs/langs': 3.4.0 - '@shikijs/themes': 3.4.0 - '@shikijs/types': 3.4.0 + '@shikijs/engine-oniguruma': 3.9.2 + '@shikijs/langs': 3.9.2 + '@shikijs/themes': 3.9.2 + '@shikijs/types': 3.9.2 '@shikijs/vscode-textmate': 10.0.2 '@graphql-codegen/add@5.0.3(graphql@16.11.0)': dependencies: - '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.11.0) graphql: 16.11.0 tslib: 2.6.3 - '@graphql-codegen/cli@5.0.6(@types/node@22.15.29)(graphql@16.11.0)(typescript@5.8.3)': + '@graphql-codegen/cli@5.0.7(@types/node@24.3.0)(graphql@16.11.0)(typescript@5.9.2)': dependencies: '@babel/generator': 7.27.5 '@babel/template': 7.27.2 '@babel/types': 7.27.6 - '@graphql-codegen/client-preset': 4.8.1(graphql@16.11.0) + '@graphql-codegen/client-preset': 4.8.3(graphql@16.11.0) '@graphql-codegen/core': 4.0.2(graphql@16.11.0) - '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.11.0) '@graphql-tools/apollo-engine-loader': 8.0.20(graphql@16.11.0) '@graphql-tools/code-file-loader': 8.1.20(graphql@16.11.0) '@graphql-tools/git-loader': 8.0.24(graphql@16.11.0) - '@graphql-tools/github-loader': 8.0.20(@types/node@22.15.29)(graphql@16.11.0) + '@graphql-tools/github-loader': 8.0.20(@types/node@24.3.0)(graphql@16.11.0) '@graphql-tools/graphql-file-loader': 8.0.20(graphql@16.11.0) '@graphql-tools/json-file-loader': 8.0.18(graphql@16.11.0) '@graphql-tools/load': 8.1.0(graphql@16.11.0) - '@graphql-tools/prisma-loader': 8.0.17(@types/node@22.15.29)(graphql@16.11.0) - '@graphql-tools/url-loader': 8.0.31(@types/node@22.15.29)(graphql@16.11.0) + '@graphql-tools/prisma-loader': 8.0.17(@types/node@24.3.0)(graphql@16.11.0) + '@graphql-tools/url-loader': 8.0.31(@types/node@24.3.0)(graphql@16.11.0) '@graphql-tools/utils': 10.8.6(graphql@16.11.0) '@whatwg-node/fetch': 0.10.8 chalk: 4.1.2 - cosmiconfig: 8.3.6(typescript@5.8.3) + cosmiconfig: 8.3.6(typescript@5.9.2) debounce: 1.2.1 detect-indent: 6.1.0 graphql: 16.11.0 - graphql-config: 5.1.5(@types/node@22.15.29)(graphql@16.11.0)(typescript@5.8.3) + graphql-config: 5.1.5(@types/node@24.3.0)(graphql@16.11.0)(typescript@5.9.2) inquirer: 8.2.6 is-glob: 4.0.3 jiti: 1.21.7 @@ -10304,14 +11111,14 @@ snapshots: - uWebSockets.js - utf-8-validate - '@graphql-codegen/client-preset@4.8.1(graphql@16.11.0)': + '@graphql-codegen/client-preset@4.8.3(graphql@16.11.0)': dependencies: '@babel/helper-plugin-utils': 7.27.1 '@babel/template': 7.27.2 '@graphql-codegen/add': 5.0.3(graphql@16.11.0) '@graphql-codegen/gql-tag-operations': 4.0.17(graphql@16.11.0) - '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) - '@graphql-codegen/typed-document-node': 5.1.1(graphql@16.11.0) + '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.11.0) + '@graphql-codegen/typed-document-node': 5.1.2(graphql@16.11.0) '@graphql-codegen/typescript': 4.1.6(graphql@16.11.0) '@graphql-codegen/typescript-operations': 4.6.1(graphql@16.11.0) '@graphql-codegen/visitor-plugin-common': 5.8.0(graphql@16.11.0) @@ -10325,7 +11132,7 @@ snapshots: '@graphql-codegen/core@4.0.2(graphql@16.11.0)': dependencies: - '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.11.0) '@graphql-tools/schema': 10.0.23(graphql@16.11.0) '@graphql-tools/utils': 10.8.6(graphql@16.11.0) graphql: 16.11.0 @@ -10333,7 +11140,7 @@ snapshots: '@graphql-codegen/gql-tag-operations@4.0.17(graphql@16.11.0)': dependencies: - '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.11.0) '@graphql-codegen/visitor-plugin-common': 5.8.0(graphql@16.11.0) '@graphql-tools/utils': 10.8.6(graphql@16.11.0) auto-bind: 4.0.0 @@ -10362,6 +11169,16 @@ snapshots: lodash: 4.17.21 tslib: 2.6.3 + '@graphql-codegen/plugin-helpers@5.1.1(graphql@16.11.0)': + dependencies: + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + change-case-all: 1.0.15 + common-tags: 1.8.2 + graphql: 16.11.0 + import-from: 4.0.0 + lodash: 4.17.21 + tslib: 2.6.3 + '@graphql-codegen/schema-ast@4.1.0(graphql@16.11.0)': dependencies: '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) @@ -10369,9 +11186,9 @@ snapshots: graphql: 16.11.0 tslib: 2.6.3 - '@graphql-codegen/typed-document-node@5.1.1(graphql@16.11.0)': + '@graphql-codegen/typed-document-node@5.1.2(graphql@16.11.0)': dependencies: - '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.11.0) '@graphql-codegen/visitor-plugin-common': 5.8.0(graphql@16.11.0) auto-bind: 4.0.0 change-case-all: 1.0.15 @@ -10382,7 +11199,7 @@ snapshots: '@graphql-codegen/typescript-operations@4.6.1(graphql@16.11.0)': dependencies: - '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.11.0) '@graphql-codegen/typescript': 4.1.6(graphql@16.11.0) '@graphql-codegen/visitor-plugin-common': 5.8.0(graphql@16.11.0) auto-bind: 4.0.0 @@ -10417,7 +11234,7 @@ snapshots: '@graphql-codegen/typescript@4.1.6(graphql@16.11.0)': dependencies: - '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.11.0) '@graphql-codegen/schema-ast': 4.1.0(graphql@16.11.0) '@graphql-codegen/visitor-plugin-common': 5.8.0(graphql@16.11.0) auto-bind: 4.0.0 @@ -10445,9 +11262,9 @@ snapshots: '@graphql-codegen/visitor-plugin-common@5.8.0(graphql@16.11.0)': dependencies: - '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.11.0) '@graphql-tools/optimize': 2.0.0(graphql@16.11.0) - '@graphql-tools/relay-operation-optimizer': 7.0.19(graphql@16.11.0) + '@graphql-tools/relay-operation-optimizer': 7.0.21(graphql@16.11.0) '@graphql-tools/utils': 10.8.6(graphql@16.11.0) auto-bind: 4.0.0 change-case-all: 1.0.15 @@ -10519,10 +11336,10 @@ snapshots: '@graphql-tools/utils': 10.8.6(graphql@16.11.0) '@whatwg-node/disposablestack': 0.0.6 graphql: 16.11.0 - graphql-ws: 6.0.5(graphql@16.11.0)(ws@8.18.2) - isomorphic-ws: 5.0.0(ws@8.18.2) + graphql-ws: 6.0.5(graphql@16.11.0)(ws@8.18.3) + isomorphic-ws: 5.0.0(ws@8.18.3) tslib: 2.8.1 - ws: 8.18.2 + ws: 8.18.3 transitivePeerDependencies: - '@fastify/websocket' - bufferutil @@ -10530,7 +11347,7 @@ snapshots: - uWebSockets.js - utf-8-validate - '@graphql-tools/executor-http@1.3.3(@types/node@22.15.29)(graphql@16.11.0)': + '@graphql-tools/executor-http@1.3.3(@types/node@24.3.0)(graphql@16.11.0)': dependencies: '@graphql-hive/signal': 1.0.0 '@graphql-tools/executor-common': 0.0.4(graphql@16.11.0) @@ -10540,7 +11357,7 @@ snapshots: '@whatwg-node/fetch': 0.10.8 '@whatwg-node/promise-helpers': 1.3.2 graphql: 16.11.0 - meros: 1.3.0(@types/node@22.15.29) + meros: 1.3.0(@types/node@24.3.0) tslib: 2.8.1 transitivePeerDependencies: - '@types/node' @@ -10550,9 +11367,9 @@ snapshots: '@graphql-tools/utils': 10.8.6(graphql@16.11.0) '@types/ws': 8.18.1 graphql: 16.11.0 - isomorphic-ws: 5.0.0(ws@8.18.2) + isomorphic-ws: 5.0.0(ws@8.18.3) tslib: 2.8.1 - ws: 8.18.2 + ws: 8.18.3 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -10579,9 +11396,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@graphql-tools/github-loader@8.0.20(@types/node@22.15.29)(graphql@16.11.0)': + '@graphql-tools/github-loader@8.0.20(@types/node@24.3.0)(graphql@16.11.0)': dependencies: - '@graphql-tools/executor-http': 1.3.3(@types/node@22.15.29)(graphql@16.11.0) + '@graphql-tools/executor-http': 1.3.3(@types/node@24.3.0)(graphql@16.11.0) '@graphql-tools/graphql-tag-pluck': 8.3.19(graphql@16.11.0) '@graphql-tools/utils': 10.8.6(graphql@16.11.0) '@whatwg-node/fetch': 0.10.8 @@ -10604,10 +11421,10 @@ snapshots: '@graphql-tools/graphql-tag-pluck@8.3.19(graphql@16.11.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/parser': 7.27.5 - '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.27.4) - '@babel/traverse': 7.27.4 + '@babel/core': 7.28.3 + '@babel/parser': 7.28.3 + '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.3) + '@babel/traverse': 7.28.3 '@babel/types': 7.27.6 '@graphql-tools/utils': 10.8.6(graphql@16.11.0) graphql: 16.11.0 @@ -10654,15 +11471,15 @@ snapshots: graphql: 16.11.0 tslib: 2.8.1 - '@graphql-tools/prisma-loader@8.0.17(@types/node@22.15.29)(graphql@16.11.0)': + '@graphql-tools/prisma-loader@8.0.17(@types/node@24.3.0)(graphql@16.11.0)': dependencies: - '@graphql-tools/url-loader': 8.0.31(@types/node@22.15.29)(graphql@16.11.0) + '@graphql-tools/url-loader': 8.0.31(@types/node@24.3.0)(graphql@16.11.0) '@graphql-tools/utils': 10.8.6(graphql@16.11.0) '@types/js-yaml': 4.0.9 '@whatwg-node/fetch': 0.10.8 chalk: 4.1.2 debug: 4.4.1 - dotenv: 16.5.0 + dotenv: 16.6.1 graphql: 16.11.0 graphql-request: 6.1.0(graphql@16.11.0) http-proxy-agent: 7.0.2 @@ -10693,10 +11510,10 @@ snapshots: - encoding - supports-color - '@graphql-tools/relay-operation-optimizer@7.0.19(graphql@16.11.0)': + '@graphql-tools/relay-operation-optimizer@7.0.21(graphql@16.11.0)': dependencies: '@ardatan/relay-compiler': 12.0.3(graphql@16.11.0) - '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + '@graphql-tools/utils': 10.9.1(graphql@16.11.0) graphql: 16.11.0 tslib: 2.8.1 transitivePeerDependencies: @@ -10709,10 +11526,10 @@ snapshots: graphql: 16.11.0 tslib: 2.8.1 - '@graphql-tools/url-loader@8.0.31(@types/node@22.15.29)(graphql@16.11.0)': + '@graphql-tools/url-loader@8.0.31(@types/node@24.3.0)(graphql@16.11.0)': dependencies: '@graphql-tools/executor-graphql-ws': 2.0.5(graphql@16.11.0) - '@graphql-tools/executor-http': 1.3.3(@types/node@22.15.29)(graphql@16.11.0) + '@graphql-tools/executor-http': 1.3.3(@types/node@24.3.0)(graphql@16.11.0) '@graphql-tools/executor-legacy-ws': 1.1.17(graphql@16.11.0) '@graphql-tools/utils': 10.8.6(graphql@16.11.0) '@graphql-tools/wrap': 10.0.36(graphql@16.11.0) @@ -10720,10 +11537,10 @@ snapshots: '@whatwg-node/fetch': 0.10.8 '@whatwg-node/promise-helpers': 1.3.2 graphql: 16.11.0 - isomorphic-ws: 5.0.0(ws@8.18.2) + isomorphic-ws: 5.0.0(ws@8.18.3) sync-fetch: 0.6.0-2 tslib: 2.8.1 - ws: 8.18.2 + ws: 8.18.3 transitivePeerDependencies: - '@fastify/websocket' - '@types/node' @@ -10741,6 +11558,15 @@ snapshots: graphql: 16.11.0 tslib: 2.8.1 + '@graphql-tools/utils@10.9.1(graphql@16.11.0)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) + '@whatwg-node/promise-helpers': 1.3.2 + cross-inspect: 1.0.1 + dset: 3.1.4 + graphql: 16.11.0 + tslib: 2.8.1 + '@graphql-tools/utils@9.2.1(graphql@16.11.0)': dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) @@ -10769,7 +11595,7 @@ snapshots: '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/momoa@3.3.8': {} + '@humanwhocodes/momoa@3.3.9': {} '@humanwhocodes/retry@0.3.1': {} @@ -10780,9 +11606,9 @@ snapshots: '@img/sharp-libvips-darwin-arm64': 1.0.4 optional: true - '@img/sharp-darwin-arm64@0.34.1': + '@img/sharp-darwin-arm64@0.34.3': optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.1.0 + '@img/sharp-libvips-darwin-arm64': 1.2.0 optional: true '@img/sharp-darwin-x64@0.33.5': @@ -10790,60 +11616,60 @@ snapshots: '@img/sharp-libvips-darwin-x64': 1.0.4 optional: true - '@img/sharp-darwin-x64@0.34.1': + '@img/sharp-darwin-x64@0.34.3': optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.1.0 + '@img/sharp-libvips-darwin-x64': 1.2.0 optional: true '@img/sharp-libvips-darwin-arm64@1.0.4': optional: true - '@img/sharp-libvips-darwin-arm64@1.1.0': + '@img/sharp-libvips-darwin-arm64@1.2.0': optional: true '@img/sharp-libvips-darwin-x64@1.0.4': optional: true - '@img/sharp-libvips-darwin-x64@1.1.0': + '@img/sharp-libvips-darwin-x64@1.2.0': optional: true '@img/sharp-libvips-linux-arm64@1.0.4': optional: true - '@img/sharp-libvips-linux-arm64@1.1.0': + '@img/sharp-libvips-linux-arm64@1.2.0': optional: true '@img/sharp-libvips-linux-arm@1.0.5': optional: true - '@img/sharp-libvips-linux-arm@1.1.0': + '@img/sharp-libvips-linux-arm@1.2.0': optional: true - '@img/sharp-libvips-linux-ppc64@1.1.0': + '@img/sharp-libvips-linux-ppc64@1.2.0': optional: true '@img/sharp-libvips-linux-s390x@1.0.4': optional: true - '@img/sharp-libvips-linux-s390x@1.1.0': + '@img/sharp-libvips-linux-s390x@1.2.0': optional: true '@img/sharp-libvips-linux-x64@1.0.4': optional: true - '@img/sharp-libvips-linux-x64@1.1.0': + '@img/sharp-libvips-linux-x64@1.2.0': optional: true '@img/sharp-libvips-linuxmusl-arm64@1.0.4': optional: true - '@img/sharp-libvips-linuxmusl-arm64@1.1.0': + '@img/sharp-libvips-linuxmusl-arm64@1.2.0': optional: true '@img/sharp-libvips-linuxmusl-x64@1.0.4': optional: true - '@img/sharp-libvips-linuxmusl-x64@1.1.0': + '@img/sharp-libvips-linuxmusl-x64@1.2.0': optional: true '@img/sharp-linux-arm64@0.33.5': @@ -10851,9 +11677,9 @@ snapshots: '@img/sharp-libvips-linux-arm64': 1.0.4 optional: true - '@img/sharp-linux-arm64@0.34.1': + '@img/sharp-linux-arm64@0.34.3': optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.1.0 + '@img/sharp-libvips-linux-arm64': 1.2.0 optional: true '@img/sharp-linux-arm@0.33.5': @@ -10861,9 +11687,14 @@ snapshots: '@img/sharp-libvips-linux-arm': 1.0.5 optional: true - '@img/sharp-linux-arm@0.34.1': + '@img/sharp-linux-arm@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.2.0 + optional: true + + '@img/sharp-linux-ppc64@0.34.3': optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.1.0 + '@img/sharp-libvips-linux-ppc64': 1.2.0 optional: true '@img/sharp-linux-s390x@0.33.5': @@ -10871,9 +11702,9 @@ snapshots: '@img/sharp-libvips-linux-s390x': 1.0.4 optional: true - '@img/sharp-linux-s390x@0.34.1': + '@img/sharp-linux-s390x@0.34.3': optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.1.0 + '@img/sharp-libvips-linux-s390x': 1.2.0 optional: true '@img/sharp-linux-x64@0.33.5': @@ -10881,9 +11712,9 @@ snapshots: '@img/sharp-libvips-linux-x64': 1.0.4 optional: true - '@img/sharp-linux-x64@0.34.1': + '@img/sharp-linux-x64@0.34.3': optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.1.0 + '@img/sharp-libvips-linux-x64': 1.2.0 optional: true '@img/sharp-linuxmusl-arm64@0.33.5': @@ -10891,9 +11722,9 @@ snapshots: '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 optional: true - '@img/sharp-linuxmusl-arm64@0.34.1': + '@img/sharp-linuxmusl-arm64@0.34.3': optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.1.0 + '@img/sharp-libvips-linuxmusl-arm64': 1.2.0 optional: true '@img/sharp-linuxmusl-x64@0.33.5': @@ -10901,54 +11732,57 @@ snapshots: '@img/sharp-libvips-linuxmusl-x64': 1.0.4 optional: true - '@img/sharp-linuxmusl-x64@0.34.1': + '@img/sharp-linuxmusl-x64@0.34.3': optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.1.0 + '@img/sharp-libvips-linuxmusl-x64': 1.2.0 optional: true '@img/sharp-wasm32@0.33.5': dependencies: - '@emnapi/runtime': 1.4.3 + '@emnapi/runtime': 1.4.5 optional: true - '@img/sharp-wasm32@0.34.1': + '@img/sharp-wasm32@0.34.3': dependencies: - '@emnapi/runtime': 1.4.3 + '@emnapi/runtime': 1.4.5 + optional: true + + '@img/sharp-win32-arm64@0.34.3': optional: true '@img/sharp-win32-ia32@0.33.5': optional: true - '@img/sharp-win32-ia32@0.34.1': + '@img/sharp-win32-ia32@0.34.3': optional: true '@img/sharp-win32-x64@0.33.5': optional: true - '@img/sharp-win32-x64@0.34.1': + '@img/sharp-win32-x64@0.34.3': optional: true - '@inquirer/checkbox@4.1.8(@types/node@22.15.29)': + '@inquirer/checkbox@4.2.1(@types/node@24.3.0)': dependencies: - '@inquirer/core': 10.1.13(@types/node@22.15.29) - '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@22.15.29) + '@inquirer/core': 10.1.15(@types/node@24.3.0) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@24.3.0) ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 - '@inquirer/confirm@5.1.12(@types/node@22.15.29)': + '@inquirer/confirm@5.1.15(@types/node@24.3.0)': dependencies: - '@inquirer/core': 10.1.13(@types/node@22.15.29) - '@inquirer/type': 3.0.7(@types/node@22.15.29) + '@inquirer/core': 10.1.15(@types/node@24.3.0) + '@inquirer/type': 3.0.8(@types/node@24.3.0) optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 - '@inquirer/core@10.1.13(@types/node@22.15.29)': + '@inquirer/core@10.1.15(@types/node@24.3.0)': dependencies: - '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@22.15.29) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@24.3.0) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -10956,93 +11790,106 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 - '@inquirer/editor@4.2.13(@types/node@22.15.29)': + '@inquirer/editor@4.2.17(@types/node@24.3.0)': dependencies: - '@inquirer/core': 10.1.13(@types/node@22.15.29) - '@inquirer/type': 3.0.7(@types/node@22.15.29) - external-editor: 3.1.0 + '@inquirer/core': 10.1.15(@types/node@24.3.0) + '@inquirer/external-editor': 1.0.1(@types/node@24.3.0) + '@inquirer/type': 3.0.8(@types/node@24.3.0) optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 - '@inquirer/expand@4.0.15(@types/node@22.15.29)': + '@inquirer/expand@4.0.17(@types/node@24.3.0)': dependencies: - '@inquirer/core': 10.1.13(@types/node@22.15.29) - '@inquirer/type': 3.0.7(@types/node@22.15.29) + '@inquirer/core': 10.1.15(@types/node@24.3.0) + '@inquirer/type': 3.0.8(@types/node@24.3.0) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 - '@inquirer/figures@1.0.12': {} + '@inquirer/external-editor@1.0.1(@types/node@24.3.0)': + dependencies: + chardet: 2.1.0 + iconv-lite: 0.6.3 + optionalDependencies: + '@types/node': 24.3.0 + + '@inquirer/figures@1.0.13': {} - '@inquirer/input@4.1.12(@types/node@22.15.29)': + '@inquirer/input@4.2.1(@types/node@24.3.0)': dependencies: - '@inquirer/core': 10.1.13(@types/node@22.15.29) - '@inquirer/type': 3.0.7(@types/node@22.15.29) + '@inquirer/core': 10.1.15(@types/node@24.3.0) + '@inquirer/type': 3.0.8(@types/node@24.3.0) optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 - '@inquirer/number@3.0.15(@types/node@22.15.29)': + '@inquirer/number@3.0.17(@types/node@24.3.0)': dependencies: - '@inquirer/core': 10.1.13(@types/node@22.15.29) - '@inquirer/type': 3.0.7(@types/node@22.15.29) + '@inquirer/core': 10.1.15(@types/node@24.3.0) + '@inquirer/type': 3.0.8(@types/node@24.3.0) optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 - '@inquirer/password@4.0.15(@types/node@22.15.29)': + '@inquirer/password@4.0.17(@types/node@24.3.0)': dependencies: - '@inquirer/core': 10.1.13(@types/node@22.15.29) - '@inquirer/type': 3.0.7(@types/node@22.15.29) + '@inquirer/core': 10.1.15(@types/node@24.3.0) + '@inquirer/type': 3.0.8(@types/node@24.3.0) ansi-escapes: 4.3.2 optionalDependencies: - '@types/node': 22.15.29 - - '@inquirer/prompts@7.5.3(@types/node@22.15.29)': - dependencies: - '@inquirer/checkbox': 4.1.8(@types/node@22.15.29) - '@inquirer/confirm': 5.1.12(@types/node@22.15.29) - '@inquirer/editor': 4.2.13(@types/node@22.15.29) - '@inquirer/expand': 4.0.15(@types/node@22.15.29) - '@inquirer/input': 4.1.12(@types/node@22.15.29) - '@inquirer/number': 3.0.15(@types/node@22.15.29) - '@inquirer/password': 4.0.15(@types/node@22.15.29) - '@inquirer/rawlist': 4.1.3(@types/node@22.15.29) - '@inquirer/search': 3.0.15(@types/node@22.15.29) - '@inquirer/select': 4.2.3(@types/node@22.15.29) + '@types/node': 24.3.0 + + '@inquirer/prompts@7.8.3(@types/node@24.3.0)': + dependencies: + '@inquirer/checkbox': 4.2.1(@types/node@24.3.0) + '@inquirer/confirm': 5.1.15(@types/node@24.3.0) + '@inquirer/editor': 4.2.17(@types/node@24.3.0) + '@inquirer/expand': 4.0.17(@types/node@24.3.0) + '@inquirer/input': 4.2.1(@types/node@24.3.0) + '@inquirer/number': 3.0.17(@types/node@24.3.0) + '@inquirer/password': 4.0.17(@types/node@24.3.0) + '@inquirer/rawlist': 4.1.5(@types/node@24.3.0) + '@inquirer/search': 3.1.0(@types/node@24.3.0) + '@inquirer/select': 4.3.1(@types/node@24.3.0) optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 - '@inquirer/rawlist@4.1.3(@types/node@22.15.29)': + '@inquirer/rawlist@4.1.5(@types/node@24.3.0)': dependencies: - '@inquirer/core': 10.1.13(@types/node@22.15.29) - '@inquirer/type': 3.0.7(@types/node@22.15.29) + '@inquirer/core': 10.1.15(@types/node@24.3.0) + '@inquirer/type': 3.0.8(@types/node@24.3.0) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 - '@inquirer/search@3.0.15(@types/node@22.15.29)': + '@inquirer/search@3.1.0(@types/node@24.3.0)': dependencies: - '@inquirer/core': 10.1.13(@types/node@22.15.29) - '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@22.15.29) + '@inquirer/core': 10.1.15(@types/node@24.3.0) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@24.3.0) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 - '@inquirer/select@4.2.3(@types/node@22.15.29)': + '@inquirer/select@4.3.1(@types/node@24.3.0)': dependencies: - '@inquirer/core': 10.1.13(@types/node@22.15.29) - '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@22.15.29) + '@inquirer/core': 10.1.15(@types/node@24.3.0) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@24.3.0) ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 - '@inquirer/type@3.0.7(@types/node@22.15.29)': + '@inquirer/type@3.0.8(@types/node@24.3.0)': optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 + + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 '@isaacs/cliui@8.0.2': dependencies: @@ -11072,27 +11919,27 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 22.15.29 + '@types/node': 22.17.2 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3))': + '@jest/core@29.7.0(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.29 + '@types/node': 22.17.2 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.17.2)(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -11121,7 +11968,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.29 + '@types/node': 22.17.2 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -11139,7 +11986,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.15.29 + '@types/node': 22.17.2 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -11161,7 +12008,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 22.15.29 + '@types/node': 22.17.2 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -11188,7 +12035,7 @@ snapshots: '@jest/source-map@29.6.3': dependencies: - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/trace-mapping': 0.3.30 callsites: 3.1.0 graceful-fs: 4.2.11 @@ -11208,7 +12055,7 @@ snapshots: '@jest/transform@29.7.0': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 @@ -11231,10 +12078,15 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.15.29 + '@types/node': 22.17.2 '@types/yargs': 17.0.33 chalk: 4.1.2 + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/gen-mapping@0.3.8': dependencies: '@jridgewell/set-array': 1.2.1 @@ -11257,15 +12109,22 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping@0.3.30': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@jsep-plugin/assignment@1.3.0(jsep@1.4.0)': dependencies: @@ -11281,9 +12140,9 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@mdx-js/mdx@3.1.0(acorn@8.14.1)': + '@mdx-js/mdx@3.1.0(acorn@8.15.0)': dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdx': 2.0.13 @@ -11295,13 +12154,13 @@ snapshots: hast-util-to-jsx-runtime: 2.3.6 markdown-extensions: 2.0.0 recma-build-jsx: 1.0.0 - recma-jsx: 1.0.0(acorn@8.14.1) + recma-jsx: 1.0.1(acorn@8.15.0) recma-stringify: 1.0.0 rehype-recma: 1.0.0 remark-mdx: 3.1.0 remark-parse: 11.0.0 remark-rehype: 11.1.2 - source-map: 0.7.4 + source-map: 0.7.6 unified: 11.0.5 unist-util-position-from-estree: 2.0.0 unist-util-stringify-position: 4.0.0 @@ -11311,31 +12170,31 @@ snapshots: - acorn - supports-color - '@mdx-js/react@3.1.0(@types/react@19.1.6)(react@19.1.0)': + '@mdx-js/react@3.1.0(@types/react@19.1.10)(react@18.3.1)': dependencies: '@types/mdx': 2.0.13 - '@types/react': 19.1.6 - react: 19.1.0 + '@types/react': 19.1.10 + react: 18.3.1 - '@microsoft/api-extractor-model@7.30.6(@types/node@22.15.29)': + '@microsoft/api-extractor-model@7.30.7(@types/node@22.17.2)': dependencies: '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.13.1(@types/node@22.15.29) + '@rushstack/node-core-library': 5.14.0(@types/node@22.17.2) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.52.7(@types/node@22.15.29)': + '@microsoft/api-extractor@7.52.10(@types/node@22.17.2)': dependencies: - '@microsoft/api-extractor-model': 7.30.6(@types/node@22.15.29) + '@microsoft/api-extractor-model': 7.30.7(@types/node@22.17.2) '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.13.1(@types/node@22.15.29) + '@rushstack/node-core-library': 5.14.0(@types/node@22.17.2) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.15.3(@types/node@22.15.29) - '@rushstack/ts-command-line': 5.0.1(@types/node@22.15.29) + '@rushstack/terminal': 0.15.4(@types/node@22.17.2) + '@rushstack/ts-command-line': 5.0.2(@types/node@22.17.2) lodash: 4.17.21 - minimatch: 3.0.8 + minimatch: 10.0.3 resolve: 1.22.10 semver: 7.5.4 source-map: 0.6.1 @@ -11352,20 +12211,23 @@ snapshots: '@microsoft/tsdoc@0.15.1': {} - '@mintlify/cli@4.0.572(@types/node@22.15.29)(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': + '@mintlify/cli@4.0.679(@types/node@24.3.0)(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2)': dependencies: - '@mintlify/common': 1.0.408(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mintlify/link-rot': 3.0.525(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) - '@mintlify/models': 0.0.195 - '@mintlify/prebuild': 1.0.522(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) - '@mintlify/previewing': 4.0.563(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) - '@mintlify/validation': 0.1.390 - chalk: 5.4.1 + '@mintlify/common': 1.0.493(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) + '@mintlify/link-rot': 3.0.626(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2) + '@mintlify/models': 0.0.219 + '@mintlify/prebuild': 1.0.615(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2) + '@mintlify/previewing': 4.0.662(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2) + '@mintlify/validation': 0.1.440 + chalk: 5.6.0 detect-port: 1.6.1 - fs-extra: 11.3.0 - inquirer: 12.6.3(@types/node@22.15.29) + fs-extra: 11.3.1 + gray-matter: 4.0.3 + ink: 5.2.1(@types/react@19.1.10)(react@18.3.1) + inquirer: 12.9.3(@types/node@24.3.0) js-yaml: 4.1.0 - ora: 6.3.1 + react: 18.3.1 + semver: 7.7.2 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' @@ -11374,21 +12236,23 @@ snapshots: - bufferutil - debug - encoding - - react + - react-devtools-core - react-dom - supports-color + - ts-node - typescript - utf-8-validate - '@mintlify/common@1.0.408(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mintlify/common@1.0.493(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))': dependencies: '@asyncapi/parser': 3.4.0 - '@mintlify/mdx': 1.0.2(@types/react@19.1.6)(acorn@8.14.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mintlify/models': 0.0.195 + '@mintlify/mdx': 2.0.3(@types/react@19.1.10)(acorn@8.15.0)(react-dom@19.1.1(react@18.3.1))(react@18.3.1) + '@mintlify/models': 0.0.219 '@mintlify/openapi-parser': 0.0.7 - '@mintlify/validation': 0.1.390 + '@mintlify/validation': 0.1.440 '@sindresorhus/slugify': 2.2.1 - acorn: 8.14.1 + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) estree-util-to-js: 2.0.0 estree-walker: 3.0.3 gray-matter: 4.0.3 @@ -11399,16 +12263,21 @@ snapshots: lodash: 4.17.21 mdast: 3.0.0 mdast-util-from-markdown: 2.0.2 + mdast-util-gfm: 3.1.0 mdast-util-mdx: 3.0.0 mdast-util-mdx-jsx: 3.2.0 + micromark-extension-gfm: 3.0.0 micromark-extension-mdx-jsx: 3.0.2 + micromark-extension-mdxjs: 3.0.0 openapi-types: 12.1.3 + postcss: 8.5.6 remark: 15.0.1 remark-frontmatter: 5.0.0 remark-gfm: 4.0.1 remark-math: 6.0.0 remark-mdx: 3.1.0 remark-stringify: 11.0.0 + tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) unified: 11.0.5 unist-builder: 4.0.0 unist-util-map: 4.0.0 @@ -11424,12 +12293,15 @@ snapshots: - react - react-dom - supports-color + - ts-node - '@mintlify/link-rot@3.0.525(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': + '@mintlify/link-rot@3.0.626(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2)': dependencies: - '@mintlify/common': 1.0.408(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mintlify/prebuild': 1.0.522(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) - fs-extra: 11.3.0 + '@mintlify/common': 1.0.493(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) + '@mintlify/prebuild': 1.0.615(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2) + '@mintlify/previewing': 4.0.662(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2) + '@mintlify/validation': 0.1.440 + fs-extra: 11.3.1 unist-util-visit: 4.1.2 transitivePeerDependencies: - '@types/react' @@ -11438,24 +12310,26 @@ snapshots: - debug - encoding - react + - react-devtools-core - react-dom - supports-color + - ts-node - typescript - utf-8-validate - '@mintlify/mdx@1.0.2(@types/react@19.1.6)(acorn@8.14.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mintlify/mdx@2.0.3(@types/react@19.1.10)(acorn@8.15.0)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 + '@shikijs/transformers': 3.9.2 hast-util-to-string: 3.0.1 - next-mdx-remote-client: 1.1.1(@types/react@19.1.6)(acorn@8.14.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - refractor: 4.9.0 + mdast-util-mdx-jsx: 3.2.0 + next-mdx-remote-client: 1.1.2(@types/react@19.1.10)(acorn@8.15.0)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(unified@11.0.5) + react: 18.3.1 + react-dom: 19.1.1(react@18.3.1) rehype-katex: 7.0.1 remark-gfm: 4.0.1 remark-math: 6.0.0 remark-smartypants: 3.0.2 + shiki: 3.9.2 unified: 11.0.5 unist-util-visit: 5.0.0 transitivePeerDependencies: @@ -11463,9 +12337,9 @@ snapshots: - acorn - supports-color - '@mintlify/models@0.0.195': + '@mintlify/models@0.0.219': dependencies: - axios: 1.9.0 + axios: 1.11.0 openapi-types: 12.1.3 transitivePeerDependencies: - debug @@ -11477,18 +12351,17 @@ snapshots: ajv-formats: 3.0.1(ajv@8.17.1) jsonpointer: 5.0.1 leven: 4.0.0 - yaml: 2.8.0 + yaml: 2.8.1 - '@mintlify/prebuild@1.0.522(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': + '@mintlify/prebuild@1.0.615(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2)': dependencies: - '@mintlify/common': 1.0.408(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mintlify/common': 1.0.493(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) '@mintlify/openapi-parser': 0.0.7 - '@mintlify/scraping': 4.0.264(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) - '@mintlify/validation': 0.1.390 - axios: 1.9.0 - chalk: 5.4.1 + '@mintlify/scraping': 4.0.351(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2) + '@mintlify/validation': 0.1.440 + chalk: 5.6.0 favicons: 7.2.0 - fs-extra: 11.3.0 + fs-extra: 11.3.1 gray-matter: 4.0.3 js-yaml: 4.1.0 mdast: 3.0.0 @@ -11503,26 +12376,29 @@ snapshots: - react - react-dom - supports-color + - ts-node - typescript - utf-8-validate - '@mintlify/previewing@4.0.563(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': + '@mintlify/previewing@4.0.662(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2)': dependencies: - '@mintlify/common': 1.0.408(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mintlify/prebuild': 1.0.522(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) - '@mintlify/validation': 0.1.390 + '@mintlify/common': 1.0.493(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) + '@mintlify/prebuild': 1.0.615(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2) + '@mintlify/validation': 0.1.440 better-opn: 3.0.2 - chalk: 5.4.1 + chalk: 5.6.0 chokidar: 3.6.0 express: 4.21.2 - fs-extra: 11.3.0 + fs-extra: 11.3.1 got: 13.0.0 gray-matter: 4.0.3 + ink: 5.2.1(@types/react@19.1.10)(react@18.3.1) + ink-spinner: 5.0.0(ink@5.2.1(@types/react@19.1.10)(react@18.3.1))(react@18.3.1) is-online: 10.0.0 js-yaml: 4.1.0 mdast: 3.0.0 openapi-types: 12.1.3 - ora: 6.3.1 + react: 18.3.1 socket.io: 4.8.1 tar: 6.2.1 unist-util-visit: 4.1.2 @@ -11533,22 +12409,23 @@ snapshots: - bufferutil - debug - encoding - - react + - react-devtools-core - react-dom - supports-color + - ts-node - typescript - utf-8-validate - '@mintlify/scraping@4.0.264(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': + '@mintlify/scraping@4.0.351(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2)': dependencies: - '@mintlify/common': 1.0.408(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mintlify/common': 1.0.493(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) '@mintlify/openapi-parser': 0.0.7 - fs-extra: 11.3.0 + fs-extra: 11.3.1 hast-util-to-mdast: 10.1.2 js-yaml: 4.1.0 mdast-util-mdx-jsx: 3.2.0 neotraverse: 0.6.18 - puppeteer: 22.15.0(typescript@5.8.3) + puppeteer: 22.15.0(typescript@5.9.2) rehype-parse: 9.0.1 remark-gfm: 4.0.1 remark-mdx: 3.1.0 @@ -11557,7 +12434,7 @@ snapshots: unified: 11.0.5 unist-util-visit: 5.0.0 yargs: 17.7.2 - zod: 3.25.51 + zod: 3.25.76 transitivePeerDependencies: - '@types/react' - bare-buffer @@ -11567,64 +12444,67 @@ snapshots: - react - react-dom - supports-color + - ts-node - typescript - utf-8-validate - '@mintlify/validation@0.1.390': + '@mintlify/validation@0.1.440': dependencies: - '@mintlify/models': 0.0.195 + '@mintlify/models': 0.0.219 + arktype: 2.1.20 lcm: 0.0.3 lodash: 4.17.21 openapi-types: 12.1.3 - zod: 3.25.51 - zod-to-json-schema: 3.24.5(zod@3.25.51) + zod: 3.25.76 + zod-to-json-schema: 3.24.6(zod@3.25.76) transitivePeerDependencies: - debug - '@modelcontextprotocol/sdk@1.12.1': + '@modelcontextprotocol/sdk@1.17.3': dependencies: ajv: 6.12.6 content-type: 1.0.5 cors: 2.8.5 cross-spawn: 7.0.6 eventsource: 3.0.7 + eventsource-parser: 3.0.5 express: 5.1.0 - express-rate-limit: 7.5.0(express@5.1.0) + express-rate-limit: 7.5.1(express@5.1.0) pkce-challenge: 5.0.0 raw-body: 3.0.0 - zod: 3.25.51 - zod-to-json-schema: 3.24.5(zod@3.25.51) + zod: 3.25.76 + zod-to-json-schema: 3.24.6(zod@3.25.76) transitivePeerDependencies: - supports-color - '@next/env@15.3.5': {} + '@next/env@15.4.7': {} - '@next/eslint-plugin-next@15.3.3': + '@next/eslint-plugin-next@15.4.7': dependencies: fast-glob: 3.3.1 - '@next/swc-darwin-arm64@15.3.5': + '@next/swc-darwin-arm64@15.4.7': optional: true - '@next/swc-darwin-x64@15.3.5': + '@next/swc-darwin-x64@15.4.7': optional: true - '@next/swc-linux-arm64-gnu@15.3.5': + '@next/swc-linux-arm64-gnu@15.4.7': optional: true - '@next/swc-linux-arm64-musl@15.3.5': + '@next/swc-linux-arm64-musl@15.4.7': optional: true - '@next/swc-linux-x64-gnu@15.3.5': + '@next/swc-linux-x64-gnu@15.4.7': optional: true - '@next/swc-linux-x64-musl@15.3.5': + '@next/swc-linux-x64-musl@15.4.7': optional: true - '@next/swc-win32-arm64-msvc@15.3.5': + '@next/swc-win32-arm64-msvc@15.4.7': optional: true - '@next/swc-win32-x64-msvc@15.3.5': + '@next/swc-win32-x64-msvc@15.4.7': optional: true '@nodelib/fs.scandir@2.1.5': @@ -11657,7 +12537,7 @@ snapshots: progress: 2.0.3 proxy-agent: 6.5.0 semver: 7.7.2 - tar-fs: 3.0.9 + tar-fs: 3.1.0 unbzip2-stream: 1.4.3 yargs: 17.7.2 transitivePeerDependencies: @@ -11677,74 +12557,83 @@ snapshots: optionalDependencies: '@types/react': 19.0.14 - '@react-native-async-storage/async-storage@2.1.2(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))': + '@react-native-async-storage/async-storage@2.2.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))': dependencies: merge-options: 3.0.4 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) '@react-native/assets-registry@0.79.3': {} - '@react-native/babel-plugin-codegen@0.79.3(@babel/core@7.27.4)': + '@react-native/babel-plugin-codegen@0.79.5(@babel/core@7.28.3)': dependencies: - '@babel/traverse': 7.27.4 - '@react-native/codegen': 0.79.3(@babel/core@7.27.4) + '@babel/traverse': 7.28.3 + '@react-native/codegen': 0.79.5(@babel/core@7.28.3) transitivePeerDependencies: - '@babel/core' - supports-color - '@react-native/babel-preset@0.79.3(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-async-generator-functions': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-block-scoping': 7.27.5(@babel/core@7.27.4) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-classes': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-destructuring': 7.27.3(@babel/core@7.27.4) - '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-object-rest-spread': 7.27.3(@babel/core@7.27.4) - '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-parameters': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-display-name': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-regenerator': 7.27.5(@babel/core@7.27.4) - '@babel/plugin-transform-runtime': 7.27.4(@babel/core@7.27.4) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.27.4) + '@react-native/babel-preset@0.79.5(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-classes': 7.28.3(@babel/core@7.28.3) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-object-rest-spread': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.3) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-regenerator': 7.28.3(@babel/core@7.28.3) + '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.3) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.3) '@babel/template': 7.27.2 - '@react-native/babel-plugin-codegen': 0.79.3(@babel/core@7.27.4) + '@react-native/babel-plugin-codegen': 0.79.5(@babel/core@7.28.3) babel-plugin-syntax-hermes-parser: 0.25.1 - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.27.4) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.28.3) react-refresh: 0.14.2 transitivePeerDependencies: - supports-color - '@react-native/codegen@0.79.3(@babel/core@7.27.4)': + '@react-native/codegen@0.79.3(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + glob: 7.2.3 + hermes-parser: 0.25.1 + invariant: 2.2.4 + nullthrows: 1.1.1 + yargs: 17.7.2 + + '@react-native/codegen@0.79.5(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 glob: 7.2.3 hermes-parser: 0.25.1 invariant: 2.2.4 @@ -11768,6 +12657,8 @@ snapshots: '@react-native/debugger-frontend@0.79.3': {} + '@react-native/debugger-frontend@0.79.5': {} + '@react-native/dev-middleware@0.79.3': dependencies: '@isaacs/ttlcache': 1.4.1 @@ -11786,6 +12677,24 @@ snapshots: - supports-color - utf-8-validate + '@react-native/dev-middleware@0.79.5': + dependencies: + '@isaacs/ttlcache': 1.4.1 + '@react-native/debugger-frontend': 0.79.5 + chrome-launcher: 0.15.2 + chromium-edge-launcher: 0.2.0 + connect: 3.7.0 + debug: 2.6.9 + invariant: 2.2.4 + nullthrows: 1.1.1 + open: 7.4.2 + serve-static: 1.16.2 + ws: 6.2.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + '@react-native/gradle-plugin@0.79.3': {} '@react-native/js-polyfills@0.79.3': {} @@ -11793,97 +12702,107 @@ snapshots: '@react-native/normalize-colors@0.74.89': optional: true - '@react-native/normalize-colors@0.79.2': {} - '@react-native/normalize-colors@0.79.3': {} - '@react-native/virtualized-lists@0.79.3(@types/react@19.0.14)(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': + '@react-native/normalize-colors@0.79.5': {} + + '@react-native/virtualized-lists@0.79.3(@types/react@19.0.14)(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) optionalDependencies: '@types/react': 19.0.14 - '@react-navigation/bottom-tabs@7.3.14(@react-navigation/native@7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.11.1(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': + '@react-navigation/bottom-tabs@7.4.6(@react-navigation/native@7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.14.1(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': dependencies: - '@react-navigation/elements': 2.4.3(@react-navigation/native@7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - '@react-navigation/native': 7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + '@react-navigation/elements': 2.6.3(@react-navigation/native@7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + '@react-navigation/native': 7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) color: 4.2.3 react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) - react-native-safe-area-context: 5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - react-native-screens: 4.11.1(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) + react-native-safe-area-context: 5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native-screens: 4.14.1(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) transitivePeerDependencies: - '@react-native-masked-view/masked-view' - '@react-navigation/core@7.10.0(react@19.0.0)': + '@react-navigation/core@7.12.4(react@19.0.0)': dependencies: - '@react-navigation/routers': 7.4.0 + '@react-navigation/routers': 7.5.1 escape-string-regexp: 4.0.0 nanoid: 3.3.11 query-string: 7.1.3 react: 19.0.0 - react-is: 19.1.0 - use-latest-callback: 0.2.3(react@19.0.0) + react-is: 19.1.1 + use-latest-callback: 0.2.4(react@19.0.0) use-sync-external-store: 1.5.0(react@19.0.0) - '@react-navigation/elements@2.4.3(@react-navigation/native@7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': + '@react-navigation/elements@2.6.3(@react-navigation/native@7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': dependencies: - '@react-navigation/native': 7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + '@react-navigation/native': 7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) color: 4.2.3 react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) - react-native-safe-area-context: 5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) + react-native-safe-area-context: 5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + use-latest-callback: 0.2.4(react@19.0.0) + use-sync-external-store: 1.5.0(react@19.0.0) - '@react-navigation/native-stack@7.3.14(@react-navigation/native@7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.11.1(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': + '@react-navigation/native-stack@7.3.14(@react-navigation/native@7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.14.1(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': dependencies: - '@react-navigation/elements': 2.4.3(@react-navigation/native@7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - '@react-navigation/native': 7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + '@react-navigation/elements': 2.6.3(@react-navigation/native@7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + '@react-navigation/native': 7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) - react-native-safe-area-context: 5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - react-native-screens: 4.11.1(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) + react-native-safe-area-context: 5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native-screens: 4.14.1(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) warn-once: 0.1.1 transitivePeerDependencies: - '@react-native-masked-view/masked-view' - '@react-navigation/native@7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': + '@react-navigation/native@7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': dependencies: - '@react-navigation/core': 7.10.0(react@19.0.0) + '@react-navigation/core': 7.12.4(react@19.0.0) escape-string-regexp: 4.0.0 fast-deep-equal: 3.1.3 nanoid: 3.3.11 react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) - use-latest-callback: 0.2.3(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) + use-latest-callback: 0.2.4(react@19.0.0) - '@react-navigation/routers@7.4.0': + '@react-navigation/routers@7.5.1': dependencies: nanoid: 3.3.11 '@repeaterjs/repeater@3.0.6': {} - '@rolldown/pluginutils@1.0.0-beta.9': {} + '@rolldown/pluginutils@1.0.0-beta.27': {} - '@rollup/plugin-node-resolve@16.0.1(rollup@4.46.2)': + '@rollup/plugin-node-resolve@16.0.1(rollup@4.46.3)': dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.46.2) + '@rollup/pluginutils': 5.1.4(rollup@4.46.3) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.10 optionalDependencies: - rollup: 4.46.2 + rollup: 4.46.3 - '@rollup/pluginutils@5.1.4(rollup@4.46.2)': + '@rollup/pluginutils@5.1.4(rollup@4.46.3)': dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.46.2 + rollup: 4.46.3 + + '@rollup/pluginutils@5.2.0(rollup@4.46.3)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.46.3 '@rollup/rollup-android-arm-eabi@4.40.2': optional: true @@ -11891,148 +12810,208 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.46.2': optional: true + '@rollup/rollup-android-arm-eabi@4.46.3': + optional: true + '@rollup/rollup-android-arm64@4.40.2': optional: true '@rollup/rollup-android-arm64@4.46.2': optional: true + '@rollup/rollup-android-arm64@4.46.3': + optional: true + '@rollup/rollup-darwin-arm64@4.40.2': optional: true '@rollup/rollup-darwin-arm64@4.46.2': optional: true + '@rollup/rollup-darwin-arm64@4.46.3': + optional: true + '@rollup/rollup-darwin-x64@4.40.2': optional: true '@rollup/rollup-darwin-x64@4.46.2': optional: true + '@rollup/rollup-darwin-x64@4.46.3': + optional: true + '@rollup/rollup-freebsd-arm64@4.40.2': optional: true '@rollup/rollup-freebsd-arm64@4.46.2': optional: true + '@rollup/rollup-freebsd-arm64@4.46.3': + optional: true + '@rollup/rollup-freebsd-x64@4.40.2': optional: true '@rollup/rollup-freebsd-x64@4.46.2': optional: true + '@rollup/rollup-freebsd-x64@4.46.3': + optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.40.2': optional: true '@rollup/rollup-linux-arm-gnueabihf@4.46.2': optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.46.3': + optional: true + '@rollup/rollup-linux-arm-musleabihf@4.40.2': optional: true '@rollup/rollup-linux-arm-musleabihf@4.46.2': optional: true + '@rollup/rollup-linux-arm-musleabihf@4.46.3': + optional: true + '@rollup/rollup-linux-arm64-gnu@4.40.2': optional: true '@rollup/rollup-linux-arm64-gnu@4.46.2': optional: true + '@rollup/rollup-linux-arm64-gnu@4.46.3': + optional: true + '@rollup/rollup-linux-arm64-musl@4.40.2': optional: true '@rollup/rollup-linux-arm64-musl@4.46.2': optional: true + '@rollup/rollup-linux-arm64-musl@4.46.3': + optional: true + '@rollup/rollup-linux-loongarch64-gnu@4.40.2': optional: true '@rollup/rollup-linux-loongarch64-gnu@4.46.2': optional: true + '@rollup/rollup-linux-loongarch64-gnu@4.46.3': + optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.40.2': optional: true '@rollup/rollup-linux-ppc64-gnu@4.46.2': optional: true + '@rollup/rollup-linux-ppc64-gnu@4.46.3': + optional: true + '@rollup/rollup-linux-riscv64-gnu@4.40.2': optional: true '@rollup/rollup-linux-riscv64-gnu@4.46.2': optional: true + '@rollup/rollup-linux-riscv64-gnu@4.46.3': + optional: true + '@rollup/rollup-linux-riscv64-musl@4.40.2': optional: true '@rollup/rollup-linux-riscv64-musl@4.46.2': optional: true + '@rollup/rollup-linux-riscv64-musl@4.46.3': + optional: true + '@rollup/rollup-linux-s390x-gnu@4.40.2': optional: true '@rollup/rollup-linux-s390x-gnu@4.46.2': optional: true + '@rollup/rollup-linux-s390x-gnu@4.46.3': + optional: true + '@rollup/rollup-linux-x64-gnu@4.40.2': optional: true '@rollup/rollup-linux-x64-gnu@4.46.2': optional: true + '@rollup/rollup-linux-x64-gnu@4.46.3': + optional: true + '@rollup/rollup-linux-x64-musl@4.40.2': optional: true '@rollup/rollup-linux-x64-musl@4.46.2': optional: true + '@rollup/rollup-linux-x64-musl@4.46.3': + optional: true + '@rollup/rollup-win32-arm64-msvc@4.40.2': optional: true '@rollup/rollup-win32-arm64-msvc@4.46.2': optional: true + '@rollup/rollup-win32-arm64-msvc@4.46.3': + optional: true + '@rollup/rollup-win32-ia32-msvc@4.40.2': optional: true '@rollup/rollup-win32-ia32-msvc@4.46.2': optional: true + '@rollup/rollup-win32-ia32-msvc@4.46.3': + optional: true + '@rollup/rollup-win32-x64-msvc@4.40.2': optional: true '@rollup/rollup-win32-x64-msvc@4.46.2': optional: true - '@rushstack/node-core-library@5.13.1(@types/node@22.15.29)': + '@rollup/rollup-win32-x64-msvc@4.46.3': + optional: true + + '@rushstack/node-core-library@5.14.0(@types/node@22.17.2)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) ajv-formats: 3.0.1(ajv@8.13.0) - fs-extra: 11.3.0 + fs-extra: 11.3.1 import-lazy: 4.0.0 jju: 1.4.0 resolve: 1.22.10 semver: 7.5.4 optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 22.17.2 '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.10 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.15.3(@types/node@22.15.29)': + '@rushstack/terminal@0.15.4(@types/node@22.17.2)': dependencies: - '@rushstack/node-core-library': 5.13.1(@types/node@22.15.29) + '@rushstack/node-core-library': 5.14.0(@types/node@22.17.2) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 22.17.2 - '@rushstack/ts-command-line@5.0.1(@types/node@22.15.29)': + '@rushstack/ts-command-line@5.0.2(@types/node@22.17.2)': dependencies: - '@rushstack/terminal': 0.15.3(@types/node@22.15.29) + '@rushstack/terminal': 0.15.4(@types/node@22.17.2) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -12041,27 +13020,45 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} - '@shikijs/engine-oniguruma@3.4.0': + '@shikijs/core@3.9.2': + dependencies: + '@shikijs/types': 3.9.2 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 + + '@shikijs/engine-javascript@3.9.2': dependencies: - '@shikijs/types': 3.4.0 + '@shikijs/types': 3.9.2 '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 4.3.3 + + '@shikijs/engine-oniguruma@3.9.2': + dependencies: + '@shikijs/types': 3.9.2 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/langs@3.9.2': + dependencies: + '@shikijs/types': 3.9.2 - '@shikijs/langs@3.4.0': + '@shikijs/themes@3.9.2': dependencies: - '@shikijs/types': 3.4.0 + '@shikijs/types': 3.9.2 - '@shikijs/themes@3.4.0': + '@shikijs/transformers@3.9.2': dependencies: - '@shikijs/types': 3.4.0 + '@shikijs/core': 3.9.2 + '@shikijs/types': 3.9.2 - '@shikijs/types@3.4.0': + '@shikijs/types@3.9.2': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 '@shikijs/vscode-textmate@10.0.2': {} - '@simplewebauthn/browser@13.1.0': {} + '@simplewebauthn/browser@13.1.2': {} '@sinclair/typebox@0.27.8': {} @@ -12098,7 +13095,7 @@ snapshots: '@stoplight/json-ref-readers@1.2.2': dependencies: - node-fetch: 2.7.0 + node-fetch: 2.6.7 tslib: 1.14.1 transitivePeerDependencies: - encoding @@ -12237,15 +13234,15 @@ snapshots: dependencies: acorn: 8.14.1 - '@sveltejs/adapter-auto@6.1.0(@sveltejs/kit@2.30.1(@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)))(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)))': + '@sveltejs/adapter-auto@6.1.0(@sveltejs/kit@2.33.0(@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)))': dependencies: - '@sveltejs/kit': 2.30.1(@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)))(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)) + '@sveltejs/kit': 2.33.0(@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)) - '@sveltejs/kit@2.30.1(@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)))(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0))': + '@sveltejs/kit@2.33.0(@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1))': dependencies: '@standard-schema/spec': 1.0.0 '@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.1) - '@sveltejs/vite-plugin-svelte': 6.1.2(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.2(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)) '@types/cookie': 0.6.0 acorn: 8.14.1 cookie: 1.0.2 @@ -12257,33 +13254,31 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.7.1 sirv: 3.0.1 - svelte: 5.38.1 - vite: 7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0) + svelte: 5.38.2 + vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1) - '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)))(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.1.2(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.2(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)) debug: 4.4.1 - svelte: 5.38.1 - vite: 7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0) + svelte: 5.38.2 + vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)))(svelte@5.38.1)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.2(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)) debug: 4.4.1 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 - svelte: 5.38.1 - vite: 7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0) - vitefu: 1.1.1(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)) + svelte: 5.38.2 + vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1) + vitefu: 1.1.1(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)) transitivePeerDependencies: - supports-color - '@swc/counter@0.1.3': {} - '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 @@ -12292,20 +13287,20 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tanstack/query-core@5.80.5': {} + '@tanstack/query-core@5.85.3': {} - '@tanstack/query-devtools@5.80.0': {} + '@tanstack/query-devtools@5.84.0': {} - '@tanstack/react-query-devtools@5.80.5(@tanstack/react-query@5.80.5(react@19.1.0))(react@19.1.0)': + '@tanstack/react-query-devtools@5.85.3(@tanstack/react-query@5.85.3(react@19.1.1))(react@19.1.1)': dependencies: - '@tanstack/query-devtools': 5.80.0 - '@tanstack/react-query': 5.80.5(react@19.1.0) - react: 19.1.0 + '@tanstack/query-devtools': 5.84.0 + '@tanstack/react-query': 5.85.3(react@19.1.1) + react: 19.1.1 - '@tanstack/react-query@5.80.5(react@19.1.0)': + '@tanstack/react-query@5.85.3(react@19.1.1)': dependencies: - '@tanstack/query-core': 5.80.5 - react: 19.1.0 + '@tanstack/query-core': 5.85.3 + react: 19.1.1 '@tootallnate/quickjs-emscripten@0.23.0': {} @@ -12321,43 +13316,43 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.7 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.27.6 + '@babel/types': 7.28.2 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 '@types/babel__traverse@7.20.7': dependencies: - '@babel/types': 7.27.6 + '@babel/types': 7.28.2 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.15.29 + '@types/node': 24.3.0 '@types/connect@3.4.38': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 - '@types/cookie-parser@1.4.8(@types/express@5.0.2)': + '@types/cookie-parser@1.4.9(@types/express@5.0.3)': dependencies: - '@types/express': 5.0.2 + '@types/express': 5.0.3 '@types/cookie@0.6.0': {} - '@types/cors@2.8.18': + '@types/cors@2.8.19': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 '@types/debug@4.1.12': dependencies: @@ -12365,11 +13360,11 @@ snapshots: '@types/es-aggregate-error@1.0.6': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 '@types/estree-jsx@1.0.5': dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/estree@1.0.7': {} @@ -12377,12 +13372,12 @@ snapshots: '@types/express-serve-static-core@5.0.6': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 - '@types/express@5.0.2': + '@types/express@5.0.3': dependencies: '@types/body-parser': 1.19.5 '@types/express-serve-static-core': 5.0.6 @@ -12390,14 +13385,10 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.15.29 + '@types/node': 22.17.2 '@types/hammerjs@2.0.46': {} - '@types/hast@2.3.10': - dependencies: - '@types/unist': 2.0.11 - '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 @@ -12441,25 +13432,27 @@ snapshots: dependencies: '@types/unist': 3.0.3 - '@types/node@22.15.29': + '@types/node@22.17.2': dependencies: undici-types: 6.21.0 - '@types/prismjs@1.26.5': {} + '@types/node@24.3.0': + dependencies: + undici-types: 7.10.0 '@types/qs@6.14.0': {} '@types/range-parser@1.2.7': {} - '@types/react-dom@19.1.6(@types/react@19.1.6)': + '@types/react-dom@19.1.7(@types/react@19.1.10)': dependencies: - '@types/react': 19.1.6 + '@types/react': 19.1.10 '@types/react@19.0.14': dependencies: csstype: 3.1.3 - '@types/react@19.1.6': + '@types/react@19.1.10': dependencies: csstype: 3.1.3 @@ -12472,12 +13465,12 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.15.29 + '@types/node': 24.3.0 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.15.29 + '@types/node': 24.3.0 '@types/send': 0.17.4 '@types/stack-utils@2.0.3': {} @@ -12490,7 +13483,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 '@types/yargs-parser@21.0.3': {} @@ -12500,73 +13493,102 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 optional: true - '@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.32.0 - '@typescript-eslint/type-utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.32.0 - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.26.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/eslint-plugin@8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.40.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.40.0 + '@typescript-eslint/type-utils': 8.40.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.40.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.40.0 + eslint: 9.26.0(jiti@2.5.1) + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.33.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.33.1 - '@typescript-eslint/type-utils': 8.33.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.33.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.33.1 - eslint: 9.26.0(jiti@2.4.2) + '@typescript-eslint/parser': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.40.0 + '@typescript-eslint/type-utils': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.40.0 + eslint: 9.33.0(jiti@2.5.1) graphemer: 1.4.0 - ignore: 7.0.4 + ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 8.32.0 '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.32.0 debug: 4.4.1 - eslint: 9.26.0(jiti@2.4.2) - typescript: 5.8.3 + eslint: 9.26.0(jiti@2.5.1) + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.40.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2)': + dependencies: + '@typescript-eslint/scope-manager': 8.40.0 + '@typescript-eslint/types': 8.40.0 + '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.40.0 + debug: 4.4.1 + eslint: 9.26.0(jiti@2.5.1) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@typescript-eslint/scope-manager': 8.33.1 - '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.33.1 + '@typescript-eslint/scope-manager': 8.40.0 + '@typescript-eslint/types': 8.40.0 + '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.40.0 debug: 4.4.1 - eslint: 9.26.0(jiti@2.4.2) - typescript: 5.8.3 + eslint: 9.33.0(jiti@2.5.1) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.33.1(typescript@5.8.3)': + '@typescript-eslint/project-service@8.40.0(typescript@5.9.2)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) - '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/tsconfig-utils': 8.40.0(typescript@5.9.2) + '@typescript-eslint/types': 8.40.0 debug: 4.4.1 - typescript: 5.8.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -12575,42 +13597,55 @@ snapshots: '@typescript-eslint/types': 8.32.0 '@typescript-eslint/visitor-keys': 8.32.0 - '@typescript-eslint/scope-manager@8.33.1': + '@typescript-eslint/scope-manager@8.40.0': + dependencies: + '@typescript-eslint/types': 8.40.0 + '@typescript-eslint/visitor-keys': 8.40.0 + + '@typescript-eslint/tsconfig-utils@8.40.0(typescript@5.9.2)': dependencies: - '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/visitor-keys': 8.33.1 + typescript: 5.9.2 - '@typescript-eslint/tsconfig-utils@8.33.1(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - typescript: 5.8.3 + '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2) + debug: 4.4.1 + eslint: 9.26.0(jiti@2.5.1) + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color - '@typescript-eslint/type-utils@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.40.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/types': 8.40.0 + '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.40.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2) debug: 4.4.1 - eslint: 9.26.0(jiti@2.4.2) - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + eslint: 9.26.0(jiti@2.5.1) + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.33.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.33.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/types': 8.40.0 + '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) debug: 4.4.1 - eslint: 9.26.0(jiti@2.4.2) - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + eslint: 9.33.0(jiti@2.5.1) + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color '@typescript-eslint/types@8.32.0': {} - '@typescript-eslint/types@8.33.1': {} + '@typescript-eslint/types@8.40.0': {} - '@typescript-eslint/typescript-estree@8.32.0(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.32.0(typescript@5.9.2)': dependencies: '@typescript-eslint/types': 8.32.0 '@typescript-eslint/visitor-keys': 8.32.0 @@ -12619,143 +13654,166 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.33.1(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.40.0(typescript@5.9.2)': dependencies: - '@typescript-eslint/project-service': 8.33.1(typescript@5.8.3) - '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) - '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/visitor-keys': 8.33.1 + '@typescript-eslint/project-service': 8.40.0(typescript@5.9.2) + '@typescript-eslint/tsconfig-utils': 8.40.0(typescript@5.9.2) + '@typescript-eslint/types': 8.40.0 + '@typescript-eslint/visitor-keys': 8.40.0 debug: 4.4.1 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/utils@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 8.32.0 '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) - eslint: 9.26.0(jiti@2.4.2) - typescript: 5.8.3 + '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.9.2) + eslint: 9.26.0(jiti@2.5.1) + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.40.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.5.1)) + '@typescript-eslint/scope-manager': 8.40.0 + '@typescript-eslint/types': 8.40.0 + '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) + eslint: 9.26.0(jiti@2.5.1) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.33.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/utils@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.33.1 - '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) - eslint: 9.26.0(jiti@2.4.2) - typescript: 5.8.3 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) + '@typescript-eslint/scope-manager': 8.40.0 + '@typescript-eslint/types': 8.40.0 + '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) + eslint: 9.33.0(jiti@2.5.1) + typescript: 5.9.2 transitivePeerDependencies: - supports-color '@typescript-eslint/visitor-keys@8.32.0': dependencies: '@typescript-eslint/types': 8.32.0 - eslint-visitor-keys: 4.2.0 + eslint-visitor-keys: 4.2.1 - '@typescript-eslint/visitor-keys@8.33.1': + '@typescript-eslint/visitor-keys@8.40.0': dependencies: - '@typescript-eslint/types': 8.33.1 - eslint-visitor-keys: 4.2.0 + '@typescript-eslint/types': 8.40.0 + eslint-visitor-keys: 4.2.1 '@ungap/structured-clone@1.3.0': {} - '@urql/core@5.1.1(graphql@16.11.0)': + '@urql/core@5.2.0(graphql@16.11.0)': dependencies: - '@0no-co/graphql.web': 1.1.2(graphql@16.11.0) + '@0no-co/graphql.web': 1.2.0(graphql@16.11.0) wonka: 6.3.5 transitivePeerDependencies: - graphql - '@urql/exchange-retry@1.3.1(@urql/core@5.1.1(graphql@16.11.0))': + '@urql/exchange-retry@1.3.2(@urql/core@5.2.0(graphql@16.11.0))': dependencies: - '@urql/core': 5.1.1(graphql@16.11.0) + '@urql/core': 5.2.0(graphql@16.11.0) wonka: 6.3.5 - '@vitejs/plugin-react@4.5.1(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0))': + '@vitejs/plugin-react@4.7.0(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1))': dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.27.4) - '@rolldown/pluginutils': 1.0.0-beta.9 + '@babel/core': 7.28.3 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.3) + '@rolldown/pluginutils': 1.0.0-beta.27 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0) + vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.4(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': + '@vitejs/plugin-vue@5.2.4(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))': + dependencies: + vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1) + vue: 3.5.18(typescript@5.9.2) + + '@volar/language-core@2.4.15': dependencies: - vite: 7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0) - vue: 3.5.16(typescript@5.8.3) + '@volar/source-map': 2.4.15 - '@volar/language-core@2.4.13': + '@volar/language-core@2.4.23': dependencies: - '@volar/source-map': 2.4.13 + '@volar/source-map': 2.4.23 + + '@volar/source-map@2.4.15': {} - '@volar/source-map@2.4.13': {} + '@volar/source-map@2.4.23': {} + + '@volar/typescript@2.4.15': + dependencies: + '@volar/language-core': 2.4.15 + path-browserify: 1.0.1 + vscode-uri: 3.1.0 - '@volar/typescript@2.4.13': + '@volar/typescript@2.4.23': dependencies: - '@volar/language-core': 2.4.13 + '@volar/language-core': 2.4.23 path-browserify: 1.0.1 vscode-uri: 3.1.0 '@vue/babel-helper-vue-transform-on@1.4.0': {} - '@vue/babel-plugin-jsx@1.4.0(@babel/core@7.27.4)': + '@vue/babel-plugin-jsx@1.4.0(@babel/core@7.28.3)': dependencies: '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3) '@babel/template': 7.27.2 - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 '@vue/babel-helper-vue-transform-on': 1.4.0 - '@vue/babel-plugin-resolve-type': 1.4.0(@babel/core@7.27.4) - '@vue/shared': 3.5.13 + '@vue/babel-plugin-resolve-type': 1.4.0(@babel/core@7.28.3) + '@vue/shared': 3.5.18 optionalDependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 transitivePeerDependencies: - supports-color - '@vue/babel-plugin-resolve-type@1.4.0(@babel/core@7.27.4)': + '@vue/babel-plugin-resolve-type@1.4.0(@babel/core@7.28.3)': dependencies: '@babel/code-frame': 7.27.1 - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - '@babel/parser': 7.27.5 - '@vue/compiler-sfc': 3.5.16 + '@babel/parser': 7.28.3 + '@vue/compiler-sfc': 3.5.18 transitivePeerDependencies: - supports-color '@vue/compiler-core@3.5.13': dependencies: - '@babel/parser': 7.27.5 + '@babel/parser': 7.28.3 '@vue/shared': 3.5.13 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-core@3.5.16': + '@vue/compiler-core@3.5.18': dependencies: - '@babel/parser': 7.27.5 - '@vue/shared': 3.5.16 + '@babel/parser': 7.28.3 + '@vue/shared': 3.5.18 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 @@ -12765,27 +13823,27 @@ snapshots: '@vue/compiler-core': 3.5.13 '@vue/shared': 3.5.13 - '@vue/compiler-dom@3.5.16': + '@vue/compiler-dom@3.5.18': dependencies: - '@vue/compiler-core': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/compiler-core': 3.5.18 + '@vue/shared': 3.5.18 - '@vue/compiler-sfc@3.5.16': + '@vue/compiler-sfc@3.5.18': dependencies: - '@babel/parser': 7.27.5 - '@vue/compiler-core': 3.5.16 - '@vue/compiler-dom': 3.5.16 - '@vue/compiler-ssr': 3.5.16 - '@vue/shared': 3.5.16 + '@babel/parser': 7.28.3 + '@vue/compiler-core': 3.5.18 + '@vue/compiler-dom': 3.5.18 + '@vue/compiler-ssr': 3.5.18 + '@vue/shared': 3.5.18 estree-walker: 2.0.2 magic-string: 0.30.17 - postcss: 8.5.3 + postcss: 8.5.6 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.16': + '@vue/compiler-ssr@3.5.18': dependencies: - '@vue/compiler-dom': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/compiler-dom': 3.5.18 + '@vue/shared': 3.5.18 '@vue/compiler-vue2@2.7.16': dependencies: @@ -12794,110 +13852,110 @@ snapshots: '@vue/devtools-api@6.6.4': {} - '@vue/devtools-core@7.7.6(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': + '@vue/devtools-core@7.7.7(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))': dependencies: - '@vue/devtools-kit': 7.7.6 - '@vue/devtools-shared': 7.7.6 + '@vue/devtools-kit': 7.7.7 + '@vue/devtools-shared': 7.7.7 mitt: 3.0.1 nanoid: 5.1.5 pathe: 2.0.3 - vite-hot-client: 2.0.4(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)) - vue: 3.5.16(typescript@5.8.3) + vite-hot-client: 2.1.0(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)) + vue: 3.5.18(typescript@5.9.2) transitivePeerDependencies: - vite - '@vue/devtools-kit@7.7.6': + '@vue/devtools-kit@7.7.7': dependencies: - '@vue/devtools-shared': 7.7.6 - birpc: 2.3.0 + '@vue/devtools-shared': 7.7.7 + birpc: 2.5.0 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 superjson: 2.2.2 - '@vue/devtools-shared@7.7.6': + '@vue/devtools-shared@7.7.7': dependencies: rfdc: 1.4.1 - '@vue/eslint-config-prettier@10.2.0(eslint@9.26.0(jiti@2.4.2))(prettier@3.5.3)': + '@vue/eslint-config-prettier@10.2.0(eslint@9.33.0(jiti@2.5.1))(prettier@3.6.2)': dependencies: - eslint: 9.26.0(jiti@2.4.2) - eslint-config-prettier: 10.1.5(eslint@9.26.0(jiti@2.4.2)) - eslint-plugin-prettier: 5.4.1(eslint-config-prettier@10.1.5(eslint@9.26.0(jiti@2.4.2)))(eslint@9.26.0(jiti@2.4.2))(prettier@3.5.3) - prettier: 3.5.3 + eslint: 9.33.0(jiti@2.5.1) + eslint-config-prettier: 10.1.8(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-prettier: 5.4.1(eslint-config-prettier@10.1.8(eslint@9.33.0(jiti@2.5.1)))(eslint@9.33.0(jiti@2.5.1))(prettier@3.6.2) + prettier: 3.6.2 transitivePeerDependencies: - '@types/eslint' - '@vue/eslint-config-typescript@14.5.0(eslint-plugin-vue@10.0.1(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@vue/eslint-config-typescript@14.6.0(eslint-plugin-vue@10.0.1(eslint@9.33.0(jiti@2.5.1))(vue-eslint-parser@10.2.0(eslint@9.33.0(jiti@2.5.1))))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@typescript-eslint/utils': 8.33.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.26.0(jiti@2.4.2) - eslint-plugin-vue: 10.0.1(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))) + '@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.33.0(jiti@2.5.1) + eslint-plugin-vue: 10.0.1(eslint@9.33.0(jiti@2.5.1))(vue-eslint-parser@10.2.0(eslint@9.33.0(jiti@2.5.1))) fast-glob: 3.3.3 - typescript-eslint: 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - vue-eslint-parser: 10.1.3(eslint@9.26.0(jiti@2.4.2)) + typescript-eslint: 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + vue-eslint-parser: 10.2.0(eslint@9.33.0(jiti@2.5.1)) optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@vue/language-core@2.2.0(typescript@5.8.3)': + '@vue/language-core@2.2.0(typescript@5.9.2)': dependencies: - '@volar/language-core': 2.4.13 - '@vue/compiler-dom': 3.5.13 + '@volar/language-core': 2.4.23 + '@vue/compiler-dom': 3.5.18 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.13 + '@vue/shared': 3.5.18 alien-signals: 0.4.14 minimatch: 9.0.5 muggle-string: 0.4.1 path-browserify: 1.0.1 optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 - '@vue/language-core@2.2.10(typescript@5.8.3)': + '@vue/language-core@2.2.12(typescript@5.9.2)': dependencies: - '@volar/language-core': 2.4.13 - '@vue/compiler-dom': 3.5.13 + '@volar/language-core': 2.4.15 + '@vue/compiler-dom': 3.5.18 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.13 + '@vue/shared': 3.5.18 alien-signals: 1.0.13 minimatch: 9.0.5 muggle-string: 0.4.1 path-browserify: 1.0.1 optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 - '@vue/reactivity@3.5.16': + '@vue/reactivity@3.5.18': dependencies: - '@vue/shared': 3.5.16 + '@vue/shared': 3.5.18 - '@vue/runtime-core@3.5.16': + '@vue/runtime-core@3.5.18': dependencies: - '@vue/reactivity': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/reactivity': 3.5.18 + '@vue/shared': 3.5.18 - '@vue/runtime-dom@3.5.16': + '@vue/runtime-dom@3.5.18': dependencies: - '@vue/reactivity': 3.5.16 - '@vue/runtime-core': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/reactivity': 3.5.18 + '@vue/runtime-core': 3.5.18 + '@vue/shared': 3.5.18 csstype: 3.1.3 - '@vue/server-renderer@3.5.16(vue@3.5.16(typescript@5.8.3))': + '@vue/server-renderer@3.5.18(vue@3.5.18(typescript@5.9.2))': dependencies: - '@vue/compiler-ssr': 3.5.16 - '@vue/shared': 3.5.16 - vue: 3.5.16(typescript@5.8.3) + '@vue/compiler-ssr': 3.5.18 + '@vue/shared': 3.5.18 + vue: 3.5.18(typescript@5.9.2) '@vue/shared@3.5.13': {} - '@vue/shared@3.5.16': {} + '@vue/shared@3.5.18': {} - '@vue/tsconfig@0.7.0(typescript@5.8.3)(vue@3.5.16(typescript@5.8.3))': + '@vue/tsconfig@0.7.0(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))': optionalDependencies: - typescript: 5.8.3 - vue: 3.5.16(typescript@5.8.3) + typescript: 5.9.2 + vue: 3.5.18(typescript@5.9.2) '@whatwg-node/disposablestack@0.0.6': dependencies: @@ -12936,7 +13994,7 @@ snapshots: dependencies: tslib: 2.8.1 - '@xmldom/xmldom@0.8.10': {} + '@xmldom/xmldom@0.8.11': {} abort-controller@3.0.0: dependencies: @@ -12952,9 +14010,9 @@ snapshots: mime-types: 3.0.1 negotiator: 1.0.0 - acorn-jsx@5.3.2(acorn@8.14.1): + acorn-jsx@5.3.2(acorn@8.15.0): dependencies: - acorn: 8.14.1 + acorn: 8.15.0 acorn-walk@8.3.4: dependencies: @@ -12962,10 +14020,14 @@ snapshots: acorn@8.14.1: {} + acorn@8.15.0: {} + address@1.2.2: {} agent-base@7.1.3: {} + agent-base@7.1.4: {} + aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 @@ -13043,11 +14105,15 @@ snapshots: dependencies: type-fest: 0.21.3 + ansi-escapes@7.0.0: + dependencies: + environment: 1.1.0 + ansi-regex@4.1.1: {} ansi-regex@5.0.1: {} - ansi-regex@6.1.0: {} + ansi-regex@6.2.0: {} ansi-styles@3.2.1: dependencies: @@ -13080,6 +14146,11 @@ snapshots: aria-query@5.3.2: {} + arktype@2.1.20: + dependencies: + '@ark/schema': 0.46.0 + '@ark/util': 0.46.0 + array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 @@ -13087,14 +14158,16 @@ snapshots: array-flatten@1.1.1: {} - array-includes@3.1.8: + array-includes@3.1.9: dependencies: call-bind: 1.0.8 + call-bound: 1.0.4 define-properties: 1.2.1 es-abstract: 1.24.0 es-object-atoms: 1.1.1 get-intrinsic: 1.3.0 is-string: 1.1.1 + math-intrinsics: 1.1.0 array-iterate@2.0.1: {} @@ -13155,21 +14228,21 @@ snapshots: async-limiter@1.0.1: {} - async@3.2.6: {} - asynckit@0.4.0: {} auto-bind@4.0.0: {} + auto-bind@5.0.1: {} + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 - avsc@5.7.7: {} + avsc@5.7.9: {} - axios@1.9.0: + axios@1.11.0: dependencies: - follow-redirects: 1.15.9 + follow-redirects: 1.15.11 form-data: 4.0.4 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -13179,13 +14252,13 @@ snapshots: b4a@1.6.7: {} - babel-jest@29.7.0(@babel/core@7.27.4): + babel-jest@29.7.0(@babel/core@7.28.3): dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.27.4) + babel-preset-jest: 29.6.3(@babel/core@7.28.3) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -13205,31 +14278,31 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.27.6 + '@babel/types': 7.28.2 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.7 - babel-plugin-polyfill-corejs2@0.4.13(@babel/core@7.27.4): + babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.3): dependencies: - '@babel/compat-data': 7.27.5 - '@babel/core': 7.27.4 - '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.27.4) + '@babel/compat-data': 7.28.0 + '@babel/core': 7.28.3 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.27.4): + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.3): dependencies: - '@babel/core': 7.27.4 - '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.27.4) - core-js-compat: 3.42.0 + '@babel/core': 7.28.3 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3) + core-js-compat: 3.45.0 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.4(@babel/core@7.27.4): + babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.3): dependencies: - '@babel/core': 7.27.4 - '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.27.4) + '@babel/core': 7.28.3 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3) transitivePeerDependencies: - supports-color @@ -13241,51 +14314,70 @@ snapshots: babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: {} - babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.27.4): + babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.28.3): dependencies: - '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.3) transitivePeerDependencies: - '@babel/core' - babel-preset-current-node-syntax@1.1.0(@babel/core@7.27.4): - dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.27.4) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.27.4) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.27.4) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.27.4) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.27.4) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.27.4) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.27.4) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.27.4) - - babel-preset-expo@13.2.0(@babel/core@7.27.4): + babel-preset-current-node-syntax@1.1.0(@babel/core@7.28.3): + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.3) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.3) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.3) + + babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.3): + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.3) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.3) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.3) + + babel-preset-expo@13.2.3(@babel/core@7.28.3): dependencies: '@babel/helper-module-imports': 7.27.1 - '@babel/plugin-proposal-decorators': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-object-rest-spread': 7.27.3(@babel/core@7.27.4) - '@babel/plugin-transform-parameters': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-runtime': 7.27.4(@babel/core@7.27.4) - '@babel/preset-react': 7.27.1(@babel/core@7.27.4) - '@babel/preset-typescript': 7.27.1(@babel/core@7.27.4) - '@react-native/babel-preset': 0.79.3(@babel/core@7.27.4) + '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-object-rest-spread': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.3) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.3) + '@babel/preset-react': 7.27.1(@babel/core@7.28.3) + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.3) + '@react-native/babel-preset': 0.79.5(@babel/core@7.28.3) babel-plugin-react-native-web: 0.19.13 babel-plugin-syntax-hermes-parser: 0.25.1 - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.27.4) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.28.3) debug: 4.4.1 react-refresh: 0.14.2 resolve-from: 5.0.0 @@ -13293,57 +14385,57 @@ snapshots: - '@babel/core' - supports-color - babel-preset-fbjs@3.4.0(@babel/core@7.27.4): - dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.4) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.27.4) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.27.4) - '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-block-scoping': 7.27.5(@babel/core@7.27.4) - '@babel/plugin-transform-classes': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-destructuring': 7.27.3(@babel/core@7.27.4) - '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-parameters': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-display-name': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.4) + babel-preset-fbjs@3.4.0(@babel/core@7.28.3): + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.3) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.28.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.3) + '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-transform-classes': 7.28.3(@babel/core@7.28.3) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.3) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.3) babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 transitivePeerDependencies: - supports-color - babel-preset-jest@29.6.3(@babel/core@7.27.4): + babel-preset-jest@29.6.3(@babel/core@7.28.3): dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.27.4) + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.28.3) bail@2.0.2: {} balanced-match@1.0.2: {} - bare-events@2.5.4: + bare-events@2.6.1: optional: true - bare-fs@4.1.5: + bare-fs@4.2.0: dependencies: - bare-events: 2.5.4 + bare-events: 2.6.1 bare-path: 3.0.0 - bare-stream: 2.6.5(bare-events@2.5.4) + bare-stream: 2.7.0(bare-events@2.6.1) optional: true bare-os@3.6.1: @@ -13354,11 +14446,11 @@ snapshots: bare-os: 3.6.1 optional: true - bare-stream@2.6.5(bare-events@2.5.4): + bare-stream@2.7.0(bare-events@2.6.1): dependencies: streamx: 2.22.1 optionalDependencies: - bare-events: 2.5.4 + bare-events: 2.6.1 optional: true base64-js@1.5.1: {} @@ -13375,7 +14467,7 @@ snapshots: binary-extensions@2.3.0: {} - birpc@2.3.0: {} + birpc@2.5.0: {} bl@4.1.0: dependencies: @@ -13383,12 +14475,6 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - bl@5.1.0: - dependencies: - buffer: 6.0.3 - inherits: 2.0.4 - readable-stream: 3.6.2 - body-parser@1.20.3: dependencies: bytes: 3.1.2 @@ -13454,6 +14540,13 @@ snapshots: node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.25.0) + browserslist@4.25.3: + dependencies: + caniuse-lite: 1.0.30001735 + electron-to-chromium: 1.5.206 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.25.3) + bs-logger@0.2.6: dependencies: fast-json-stable-stringify: 2.1.0 @@ -13471,19 +14564,10 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - buffer@6.0.3: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - bundle-name@4.1.0: dependencies: run-applescript: 7.0.0 - busboy@1.6.0: - dependencies: - streamsearch: 1.1.0 - bytes@3.1.2: {} cacheable-lookup@7.0.0: {} @@ -13495,7 +14579,7 @@ snapshots: http-cache-semantics: 4.2.0 keyv: 4.5.4 mimic-response: 4.0.0 - normalize-url: 8.0.1 + normalize-url: 8.0.2 responselike: 3.0.0 call-bind-apply-helpers@1.0.2: @@ -13532,12 +14616,16 @@ snapshots: pascal-case: 3.1.2 tslib: 2.8.1 + camelcase-css@2.0.1: {} + camelcase@5.3.1: {} camelcase@6.3.0: {} caniuse-lite@1.0.30001721: {} + caniuse-lite@1.0.30001735: {} + capital-case@1.0.4: dependencies: no-case: 3.0.4 @@ -13557,7 +14645,7 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.4.1: {} + chalk@5.6.0: {} change-case-all@1.0.15: dependencies: @@ -13599,6 +14687,8 @@ snapshots: chardet@0.7.0: {} + chardet@2.1.0: {} + chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -13621,7 +14711,7 @@ snapshots: chrome-launcher@0.15.2: dependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -13637,7 +14727,7 @@ snapshots: chromium-edge-launcher@0.2.0: dependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -13658,6 +14748,8 @@ snapshots: dependencies: escape-string-regexp: 5.0.0 + cli-boxes@3.0.0: {} + cli-cursor@2.1.0: dependencies: restore-cursor: 2.0.0 @@ -13677,6 +14769,11 @@ snapshots: slice-ansi: 3.0.0 string-width: 4.2.3 + cli-truncate@4.0.0: + dependencies: + slice-ansi: 5.0.0 + string-width: 7.2.0 + cli-width@3.0.0: {} cli-width@4.1.0: {} @@ -13701,6 +14798,10 @@ snapshots: co@4.6.0: {} + code-excerpt@4.0.0: + dependencies: + convert-to-spaces: 2.0.1 + collapse-white-space@2.1.0: {} collect-v8-coverage@1.0.2: {} @@ -13753,7 +14854,7 @@ snapshots: dependencies: mime-db: 1.54.0 - compression@1.8.0: + compression@1.8.1: dependencies: bytes: 3.1.2 compressible: 2.0.18 @@ -13798,6 +14899,8 @@ snapshots: convert-source-map@2.0.0: {} + convert-to-spaces@2.0.1: {} + cookie-parser@1.4.7: dependencies: cookie: 0.7.2 @@ -13817,9 +14920,9 @@ snapshots: dependencies: is-what: 4.1.16 - core-js-compat@3.42.0: + core-js-compat@3.45.0: dependencies: - browserslist: 4.25.0 + browserslist: 4.25.3 cors@2.8.5: dependencies: @@ -13833,31 +14936,31 @@ snapshots: js-yaml: 3.14.1 parse-json: 4.0.0 - cosmiconfig@8.3.6(typescript@5.8.3): + cosmiconfig@8.3.6(typescript@5.9.2): dependencies: import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 - cosmiconfig@9.0.0(typescript@5.8.3): + cosmiconfig@9.0.0(typescript@5.9.2): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 - create-jest@29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)): + create-jest@29.7.0(@types/node@22.17.2)(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.17.2)(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -13941,7 +15044,7 @@ snapshots: decamelize@1.2.0: {} - decode-named-character-reference@1.1.0: + decode-named-character-reference@1.2.0: dependencies: character-entities: 2.0.2 @@ -14027,6 +15130,8 @@ snapshots: devtools-protocol@0.0.1312386: {} + didyoumean@1.2.2: {} + diff-sequences@29.6.3: {} diff@4.0.2: {} @@ -14035,6 +15140,8 @@ snapshots: dependencies: path-type: 4.0.0 + dlv@1.1.3: {} + dns-packet@5.6.1: dependencies: '@leichtgewicht/ip-codec': 2.0.5 @@ -14054,11 +15161,11 @@ snapshots: dotenv-expand@11.0.7: dependencies: - dotenv: 16.5.0 + dotenv: 16.4.7 dotenv@16.4.7: {} - dotenv@16.5.0: {} + dotenv@16.6.1: {} dset@3.1.4: {} @@ -14072,14 +15179,14 @@ snapshots: ee-first@1.1.1: {} - ejs@3.1.10: - dependencies: - jake: 10.9.2 - electron-to-chromium@1.5.165: {} + electron-to-chromium@1.5.206: {} + emittery@0.13.1: {} + emoji-regex@10.4.0: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -14088,7 +15195,7 @@ snapshots: encodeurl@2.0.0: {} - end-of-stream@1.4.4: + end-of-stream@1.4.5: dependencies: once: 1.4.0 @@ -14096,8 +15203,8 @@ snapshots: engine.io@6.6.4: dependencies: - '@types/cors': 2.8.18 - '@types/node': 22.15.29 + '@types/cors': 2.8.19 + '@types/node': 24.3.0 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -14112,12 +15219,14 @@ snapshots: entities@4.5.0: {} - entities@6.0.0: {} + entities@6.0.1: {} env-editor@0.4.2: {} env-paths@2.2.1: {} + environment@1.1.0: {} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -14240,6 +15349,8 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 + es-toolkit@1.39.10: {} + esast-util-from-estree@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 @@ -14250,9 +15361,9 @@ snapshots: esast-util-from-js@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 - acorn: 8.14.1 + acorn: 8.15.0 esast-util-from-estree: 2.0.0 - vfile-message: 4.0.2 + vfile-message: 4.0.3 esbuild@0.25.4: optionalDependencies: @@ -14282,6 +15393,35 @@ snapshots: '@esbuild/win32-ia32': 0.25.4 '@esbuild/win32-x64': 0.25.4 + esbuild@0.25.9: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.9 + '@esbuild/android-arm': 0.25.9 + '@esbuild/android-arm64': 0.25.9 + '@esbuild/android-x64': 0.25.9 + '@esbuild/darwin-arm64': 0.25.9 + '@esbuild/darwin-x64': 0.25.9 + '@esbuild/freebsd-arm64': 0.25.9 + '@esbuild/freebsd-x64': 0.25.9 + '@esbuild/linux-arm': 0.25.9 + '@esbuild/linux-arm64': 0.25.9 + '@esbuild/linux-ia32': 0.25.9 + '@esbuild/linux-loong64': 0.25.9 + '@esbuild/linux-mips64el': 0.25.9 + '@esbuild/linux-ppc64': 0.25.9 + '@esbuild/linux-riscv64': 0.25.9 + '@esbuild/linux-s390x': 0.25.9 + '@esbuild/linux-x64': 0.25.9 + '@esbuild/netbsd-arm64': 0.25.9 + '@esbuild/netbsd-x64': 0.25.9 + '@esbuild/openbsd-arm64': 0.25.9 + '@esbuild/openbsd-x64': 0.25.9 + '@esbuild/openharmony-arm64': 0.25.9 + '@esbuild/sunos-x64': 0.25.9 + '@esbuild/win32-arm64': 0.25.9 + '@esbuild/win32-ia32': 0.25.9 + '@esbuild/win32-x64': 0.25.9 + escalade@3.2.0: {} escape-html@1.0.3: {} @@ -14302,38 +15442,38 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@10.1.5(eslint@9.26.0(jiti@2.4.2)): + eslint-config-prettier@10.1.8(eslint@9.33.0(jiti@2.5.1)): dependencies: - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) eslint-plugin-next@0.0.0: {} - eslint-plugin-prettier@5.4.1(eslint-config-prettier@10.1.5(eslint@9.26.0(jiti@2.4.2)))(eslint@9.26.0(jiti@2.4.2))(prettier@3.5.3): + eslint-plugin-prettier@5.4.1(eslint-config-prettier@10.1.8(eslint@9.33.0(jiti@2.5.1)))(eslint@9.33.0(jiti@2.5.1))(prettier@3.6.2): dependencies: - eslint: 9.26.0(jiti@2.4.2) - prettier: 3.5.3 + eslint: 9.33.0(jiti@2.5.1) + prettier: 3.6.2 prettier-linter-helpers: 1.0.0 synckit: 0.11.8 optionalDependencies: - eslint-config-prettier: 10.1.5(eslint@9.26.0(jiti@2.4.2)) + eslint-config-prettier: 10.1.8(eslint@9.33.0(jiti@2.5.1)) - eslint-plugin-react-hooks@5.2.0(eslint@9.26.0(jiti@2.4.2)): + eslint-plugin-react-hooks@5.2.0(eslint@9.26.0(jiti@2.5.1)): dependencies: - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.26.0(jiti@2.5.1) - eslint-plugin-react-refresh@0.4.20(eslint@9.26.0(jiti@2.4.2)): + eslint-plugin-react-refresh@0.4.20(eslint@9.26.0(jiti@2.5.1)): dependencies: - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.26.0(jiti@2.5.1) - eslint-plugin-react@7.37.5(eslint@9.26.0(jiti@2.4.2)): + eslint-plugin-react@7.37.5(eslint@9.26.0(jiti@2.5.1)): dependencies: - array-includes: 3.1.8 + array-includes: 3.1.9 array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.3 array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.26.0(jiti@2.5.1) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -14347,58 +15487,101 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-svelte@3.11.0(eslint@9.26.0(jiti@2.4.2))(svelte@5.38.1)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)): + eslint-plugin-svelte@3.11.0(eslint@9.33.0(jiti@2.5.1))(svelte@5.38.2)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) '@jridgewell/sourcemap-codec': 1.5.0 - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) esutils: 2.0.3 - globals: 16.2.0 + globals: 16.3.0 known-css-properties: 0.37.0 postcss: 8.5.3 - postcss-load-config: 3.1.4(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)) + postcss-load-config: 3.1.4(postcss@8.5.3)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) postcss-safe-parser: 7.0.1(postcss@8.5.3) semver: 7.7.2 - svelte-eslint-parser: 1.3.1(svelte@5.38.1) + svelte-eslint-parser: 1.3.1(svelte@5.38.2) optionalDependencies: - svelte: 5.38.1 + svelte: 5.38.2 transitivePeerDependencies: - ts-node - eslint-plugin-vue@10.0.1(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))): + eslint-plugin-vue@10.0.1(eslint@9.33.0(jiti@2.5.1))(vue-eslint-parser@10.2.0(eslint@9.33.0(jiti@2.5.1))): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) - eslint: 9.26.0(jiti@2.4.2) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) + eslint: 9.33.0(jiti@2.5.1) natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.7.2 - vue-eslint-parser: 10.1.3(eslint@9.26.0(jiti@2.4.2)) + vue-eslint-parser: 10.2.0(eslint@9.33.0(jiti@2.5.1)) xml-name-validator: 4.0.0 - eslint-scope@8.3.0: + eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.0: {} + eslint-visitor-keys@4.2.1: {} - eslint@9.26.0(jiti@2.4.2): + eslint@9.26.0(jiti@2.5.1): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.20.0 - '@eslint/config-helpers': 0.2.2 + '@eslint/config-array': 0.20.1 + '@eslint/config-helpers': 0.2.3 '@eslint/core': 0.13.0 '@eslint/eslintrc': 3.3.1 '@eslint/js': 9.26.0 - '@eslint/plugin-kit': 0.3.4 + '@eslint/plugin-kit': 0.3.5 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@modelcontextprotocol/sdk': 1.17.3 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.1 + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + zod: 3.25.76 + optionalDependencies: + jiti: 2.5.1 + transitivePeerDependencies: + - supports-color + + eslint@9.33.0(jiti@2.5.1): + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.21.0 + '@eslint/config-helpers': 0.3.1 + '@eslint/core': 0.15.2 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.33.0 + '@eslint/plugin-kit': 0.3.5 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 - '@modelcontextprotocol/sdk': 1.12.1 '@types/estree': 1.0.7 '@types/json-schema': 7.0.15 ajv: 6.12.6 @@ -14406,9 +15589,9 @@ snapshots: cross-spawn: 7.0.6 debug: 4.4.1 escape-string-regexp: 4.0.0 - eslint-scope: 8.3.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -14423,19 +15606,18 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - zod: 3.25.51 optionalDependencies: - jiti: 2.4.2 + jiti: 2.5.1 transitivePeerDependencies: - supports-color esm-env@1.2.2: {} - espree@10.3.0: + espree@10.4.0: dependencies: - acorn: 8.14.1 - acorn-jsx: 5.3.2(acorn@8.14.1) - eslint-visitor-keys: 4.2.0 + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 esprima@4.0.1: {} @@ -14455,7 +15637,7 @@ snapshots: estree-util-attach-comments@3.0.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 estree-util-build-jsx@3.0.1: dependencies: @@ -14468,14 +15650,14 @@ snapshots: estree-util-scope@1.0.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 devlop: 1.1.0 estree-util-to-js@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 astring: 1.9.0 - source-map: 0.7.4 + source-map: 0.7.6 estree-util-visit@2.0.0: dependencies: @@ -14486,7 +15668,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 esutils@2.0.3: {} @@ -14494,11 +15676,11 @@ snapshots: event-target-shim@5.0.1: {} - eventsource-parser@3.0.2: {} + eventsource-parser@3.0.5: {} eventsource@3.0.7: dependencies: - eventsource-parser: 3.0.2 + eventsource-parser: 3.0.5 exec-async@2.2.0: {} @@ -14539,90 +15721,90 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 - expo-apple-authentication@7.2.4(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)): + expo-apple-authentication@7.2.4(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)): dependencies: - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) - expo-asset@11.1.5(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + expo-asset@11.1.7(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): dependencies: - '@expo/image-utils': 0.7.4 - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - expo-constants: 17.1.6(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)) + '@expo/image-utils': 0.7.6 + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + expo-constants: 17.1.7(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)) react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) transitivePeerDependencies: - supports-color - expo-blur@14.1.5(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + expo-blur@14.1.5(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): dependencies: - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) - expo-clipboard@7.1.4(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + expo-clipboard@7.1.5(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): dependencies: - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) - expo-constants@17.1.6(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)): + expo-constants@17.1.7(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)): dependencies: - '@expo/config': 11.0.10 - '@expo/env': 1.0.5 - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + '@expo/config': 11.0.13 + '@expo/env': 1.0.7 + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) transitivePeerDependencies: - supports-color - expo-crypto@14.1.4(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): + expo-crypto@14.1.5(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): dependencies: base64-js: 1.5.1 - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - expo-document-picker@13.1.5(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): + expo-document-picker@13.1.6(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): dependencies: - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - expo-file-system@18.1.10(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)): + expo-file-system@18.1.11(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)): dependencies: - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) - expo-font@13.3.1(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0): + expo-font@13.3.2(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0): dependencies: - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) fontfaceobserver: 2.3.0 react: 19.0.0 - expo-haptics@14.1.4(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): + expo-haptics@14.1.4(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): dependencies: - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - expo-image@2.2.0(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-web@0.20.0(react-dom@19.1.0(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + expo-image@2.2.1(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-web@0.20.0(react-dom@19.1.1(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): dependencies: - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) optionalDependencies: - react-native-web: 0.20.0(react-dom@19.1.0(react@19.0.0))(react@19.0.0) + react-native-web: 0.20.0(react-dom@19.1.1(react@19.0.0))(react@19.0.0) - expo-keep-awake@14.1.4(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0): + expo-keep-awake@14.1.4(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0): dependencies: - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) react: 19.0.0 - expo-linking@7.1.5(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + expo-linking@7.1.7(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): dependencies: - expo-constants: 17.1.6(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)) + expo-constants: 17.1.7(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)) invariant: 2.2.4 react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) transitivePeerDependencies: - expo - supports-color - expo-modules-autolinking@2.1.10: + expo-modules-autolinking@2.1.14: dependencies: '@expo/spawn-async': 1.7.2 chalk: 4.1.2 @@ -14632,33 +15814,33 @@ snapshots: require-from-string: 2.0.2 resolve-from: 5.0.0 - expo-modules-core@2.4.0: + expo-modules-core@2.5.0: dependencies: invariant: 2.2.4 - expo-router@5.0.7(63020ad4e1c49dab45e675ddd8c77c8a): + expo-router@5.0.7(169290b4402a3a91ccf7fe04dbb8a7a9): dependencies: - '@expo/metro-runtime': 5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)) + '@expo/metro-runtime': 5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)) '@expo/server': 0.6.2 '@radix-ui/react-slot': 1.2.0(@types/react@19.0.14)(react@19.0.0) - '@react-navigation/bottom-tabs': 7.3.14(@react-navigation/native@7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.11.1(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - '@react-navigation/native': 7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - '@react-navigation/native-stack': 7.3.14(@react-navigation/native@7.1.10(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.11.1(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + '@react-navigation/bottom-tabs': 7.4.6(@react-navigation/native@7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.14.1(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + '@react-navigation/native': 7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + '@react-navigation/native-stack': 7.3.14(@react-navigation/native@7.1.17(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.14.1(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) client-only: 0.0.1 - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - expo-constants: 17.1.6(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)) - expo-linking: 7.1.5(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + expo-constants: 17.1.7(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)) + expo-linking: 7.1.7(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) invariant: 2.2.4 react-fast-compare: 3.2.2 - react-native-is-edge-to-edge: 1.1.7(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - react-native-safe-area-context: 5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - react-native-screens: 4.11.1(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native-is-edge-to-edge: 1.1.7(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native-safe-area-context: 5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native-screens: 4.14.1(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) schema-utils: 4.3.2 semver: 7.6.3 server-only: 0.0.1 shallowequal: 1.1.0 optionalDependencies: - react-native-reanimated: 3.17.5(@babel/core@7.27.4)(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native-reanimated: 3.17.5(@babel/core@7.28.3)(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) transitivePeerDependencies: - '@react-native-masked-view/masked-view' - '@types/react' @@ -14666,70 +15848,70 @@ snapshots: - react-native - supports-color - expo-sharing@13.1.5(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): + expo-sharing@13.1.5(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): dependencies: - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - expo-splash-screen@0.30.9(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): + expo-splash-screen@0.30.10(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): dependencies: - '@expo/prebuild-config': 9.0.6 - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + '@expo/prebuild-config': 9.0.11 + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) transitivePeerDependencies: - supports-color - expo-status-bar@2.2.3(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + expo-status-bar@2.2.3(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): dependencies: react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) - react-native-edge-to-edge: 1.6.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - react-native-is-edge-to-edge: 1.1.7(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) + react-native-edge-to-edge: 1.6.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native-is-edge-to-edge: 1.1.7(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - expo-symbols@0.4.5(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)): + expo-symbols@0.4.5(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)): dependencies: - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) sf-symbols-typescript: 2.1.0 - expo-system-ui@5.0.8(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-web@0.20.0(react-dom@19.1.0(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)): + expo-system-ui@5.0.10(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-web@0.20.0(react-dom@19.1.1(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)): dependencies: - '@react-native/normalize-colors': 0.79.3 + '@react-native/normalize-colors': 0.79.5 debug: 4.4.1 - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) optionalDependencies: - react-native-web: 0.20.0(react-dom@19.1.0(react@19.0.0))(react@19.0.0) + react-native-web: 0.20.0(react-dom@19.1.1(react@19.0.0))(react@19.0.0) transitivePeerDependencies: - supports-color - expo-web-browser@14.1.6(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)): + expo-web-browser@14.1.6(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)): dependencies: - expo: 53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + expo: 53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) - expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.27.6 - '@expo/cli': 0.24.14(graphql@16.11.0) - '@expo/config': 11.0.10 - '@expo/config-plugins': 10.0.2 - '@expo/fingerprint': 0.12.4 - '@expo/metro-config': 0.20.14 - '@expo/vector-icons': 14.1.0(expo-font@13.3.1(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - babel-preset-expo: 13.2.0(@babel/core@7.27.4) - expo-asset: 11.1.5(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) - expo-constants: 17.1.6(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)) - expo-file-system: 18.1.10(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)) - expo-font: 13.3.1(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) - expo-keep-awake: 14.1.4(expo@53.0.10(@babel/core@7.27.4)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) - expo-modules-autolinking: 2.1.10 - expo-modules-core: 2.4.0 + '@expo/cli': 0.24.20(graphql@16.11.0) + '@expo/config': 11.0.13 + '@expo/config-plugins': 10.1.2 + '@expo/fingerprint': 0.13.4 + '@expo/metro-config': 0.20.17 + '@expo/vector-icons': 14.1.0(expo-font@13.3.2(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + babel-preset-expo: 13.2.3(@babel/core@7.28.3) + expo-asset: 11.1.7(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + expo-constants: 17.1.7(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)) + expo-file-system: 18.1.11(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)) + expo-font: 13.3.2(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) + expo-keep-awake: 14.1.4(expo@53.0.20(@babel/core@7.28.3)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)))(graphql@16.11.0)(react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) + expo-modules-autolinking: 2.1.14 + expo-modules-core: 2.5.0 react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) - react-native-edge-to-edge: 1.6.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) + react-native-edge-to-edge: 1.6.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) whatwg-url-without-unicode: 8.0.0-3 optionalDependencies: - '@expo/metro-runtime': 5.0.4(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0)) - react-native-webview: 13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + '@expo/metro-runtime': 5.0.4(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0)) + react-native-webview: 13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) transitivePeerDependencies: - '@babel/core' - babel-plugin-react-compiler @@ -14740,7 +15922,7 @@ snapshots: exponential-backoff@3.1.2: {} - express-rate-limit@7.5.0(express@5.1.0): + express-rate-limit@7.5.1(express@5.1.0): dependencies: express: 5.1.0 @@ -14812,7 +15994,7 @@ snapshots: transitivePeerDependencies: - supports-color - exsolve@1.0.5: {} + exsolve@1.0.7: {} extend-shallow@2.0.1: dependencies: @@ -14902,10 +16084,6 @@ snapshots: dependencies: pend: 1.2.0 - fdir@6.4.4(picomatch@4.0.2): - optionalDependencies: - picomatch: 4.0.2 - fdir@6.4.4(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 @@ -14931,10 +16109,6 @@ snapshots: dependencies: flat-cache: 4.0.1 - filelist@1.0.4: - dependencies: - minimatch: 5.1.6 - fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -14995,7 +16169,7 @@ snapshots: flow-enums-runtime@0.0.6: {} - follow-redirects@1.15.9: {} + follow-redirects@1.15.11: {} fontfaceobserver@2.3.0: {} @@ -15038,6 +16212,12 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 + fs-extra@11.3.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + fs-minipass@2.1.0: dependencies: minipass: 3.3.6 @@ -15066,6 +16246,8 @@ snapshots: get-caller-file@2.0.5: {} + get-east-asian-width@1.3.0: {} + get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -15088,7 +16270,7 @@ snapshots: get-stream@5.2.0: dependencies: - pump: 3.0.2 + pump: 3.0.3 get-stream@6.0.1: {} @@ -15103,7 +16285,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 - get-uri@6.0.4: + get-uri@6.0.5: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 @@ -15111,8 +16293,6 @@ snapshots: transitivePeerDependencies: - supports-color - getenv@1.0.0: {} - getenv@2.0.0: {} glob-parent@5.1.2: @@ -15145,7 +16325,7 @@ snapshots: globals@14.0.0: {} - globals@16.2.0: {} + globals@16.3.0: {} globalthis@1.0.4: dependencies: @@ -15195,17 +16375,17 @@ snapshots: graphemer@1.4.0: {} - graphql-config@5.1.5(@types/node@22.15.29)(graphql@16.11.0)(typescript@5.8.3): + graphql-config@5.1.5(@types/node@24.3.0)(graphql@16.11.0)(typescript@5.9.2): dependencies: '@graphql-tools/graphql-file-loader': 8.0.20(graphql@16.11.0) '@graphql-tools/json-file-loader': 8.0.18(graphql@16.11.0) '@graphql-tools/load': 8.1.0(graphql@16.11.0) '@graphql-tools/merge': 9.0.24(graphql@16.11.0) - '@graphql-tools/url-loader': 8.0.31(@types/node@22.15.29)(graphql@16.11.0) + '@graphql-tools/url-loader': 8.0.31(@types/node@24.3.0)(graphql@16.11.0) '@graphql-tools/utils': 10.8.6(graphql@16.11.0) - cosmiconfig: 8.3.6(typescript@5.8.3) + cosmiconfig: 8.3.6(typescript@5.9.2) graphql: 16.11.0 - jiti: 2.4.2 + jiti: 2.5.1 minimatch: 9.0.5 string-env-interpolation: 1.0.1 tslib: 2.8.1 @@ -15231,11 +16411,11 @@ snapshots: graphql: 16.11.0 tslib: 2.8.1 - graphql-ws@6.0.5(graphql@16.11.0)(ws@8.18.2): + graphql-ws@6.0.5(graphql@16.11.0)(ws@8.18.3): dependencies: graphql: 16.11.0 optionalDependencies: - ws: 8.18.2 + ws: 8.18.3 graphql@16.11.0: {} @@ -15246,6 +16426,15 @@ snapshots: section-matter: 1.0.0 strip-bom-string: 1.0.0 + handlebars@4.7.8: + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.19.3 + has-bigints@1.1.0: {} has-flag@3.0.0: {} @@ -15295,7 +16484,7 @@ snapshots: hast-util-from-parse5: 8.0.3 parse5: 7.3.0 vfile: 6.0.3 - vfile-message: 4.0.2 + vfile-message: 4.0.3 hast-util-from-parse5@8.0.3: dependencies: @@ -15328,10 +16517,6 @@ snapshots: hast-util-whitespace: 3.0.0 unist-util-is: 6.0.0 - hast-util-parse-selector@3.1.1: - dependencies: - '@types/hast': 2.3.10 - hast-util-parse-selector@4.0.0: dependencies: '@types/hast': 3.0.4 @@ -15346,7 +16531,7 @@ snapshots: hast-util-to-estree@3.1.3: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 @@ -15359,7 +16544,7 @@ snapshots: mdast-util-mdxjs-esm: 2.0.1 property-information: 7.1.0 space-separated-tokens: 2.0.2 - style-to-js: 1.1.16 + style-to-js: 1.1.17 unist-util-position: 5.0.0 zwitch: 2.0.4 transitivePeerDependencies: @@ -15381,7 +16566,7 @@ snapshots: hast-util-to-jsx-runtime@2.3.6: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/hast': 3.0.4 '@types/unist': 3.0.3 comma-separated-tokens: 2.0.3 @@ -15393,9 +16578,9 @@ snapshots: mdast-util-mdxjs-esm: 2.0.1 property-information: 7.1.0 space-separated-tokens: 2.0.2 - style-to-js: 1.1.16 + style-to-js: 1.1.17 unist-util-position: 5.0.0 - vfile-message: 4.0.2 + vfile-message: 4.0.3 transitivePeerDependencies: - supports-color @@ -15431,14 +16616,6 @@ snapshots: dependencies: '@types/hast': 3.0.4 - hastscript@7.2.0: - dependencies: - '@types/hast': 2.3.10 - comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 3.1.1 - property-information: 6.5.0 - space-separated-tokens: 2.0.2 - hastscript@9.0.1: dependencies: '@types/hast': 3.0.4 @@ -15528,7 +16705,7 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.4: {} + ignore@7.0.5: {} image-size@1.2.1: dependencies: @@ -15572,6 +16749,45 @@ snapshots: ini@1.3.8: {} + ink-spinner@5.0.0(ink@5.2.1(@types/react@19.1.10)(react@18.3.1))(react@18.3.1): + dependencies: + cli-spinners: 2.9.2 + ink: 5.2.1(@types/react@19.1.10)(react@18.3.1) + react: 18.3.1 + + ink@5.2.1(@types/react@19.1.10)(react@18.3.1): + dependencies: + '@alcalzone/ansi-tokenize': 0.1.3 + ansi-escapes: 7.0.0 + ansi-styles: 6.2.1 + auto-bind: 5.0.1 + chalk: 5.6.0 + cli-boxes: 3.0.0 + cli-cursor: 4.0.0 + cli-truncate: 4.0.0 + code-excerpt: 4.0.0 + es-toolkit: 1.39.10 + indent-string: 5.0.0 + is-in-ci: 1.0.0 + patch-console: 2.0.0 + react: 18.3.1 + react-reconciler: 0.29.2(react@18.3.1) + scheduler: 0.23.2 + signal-exit: 3.0.7 + slice-ansi: 7.1.0 + stack-utils: 2.0.6 + string-width: 7.2.0 + type-fest: 4.41.0 + widest-line: 5.0.0 + wrap-ansi: 9.0.0 + ws: 8.18.3 + yoga-layout: 3.2.1 + optionalDependencies: + '@types/react': 19.1.10 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + inline-style-parser@0.2.4: {} inline-style-prefixer@7.0.1: @@ -15579,17 +16795,17 @@ snapshots: css-in-js-utils: 3.1.0 optional: true - inquirer@12.6.3(@types/node@22.15.29): + inquirer@12.9.3(@types/node@24.3.0): dependencies: - '@inquirer/core': 10.1.13(@types/node@22.15.29) - '@inquirer/prompts': 7.5.3(@types/node@22.15.29) - '@inquirer/type': 3.0.7(@types/node@22.15.29) + '@inquirer/core': 10.1.15(@types/node@24.3.0) + '@inquirer/prompts': 7.8.3(@types/node@24.3.0) + '@inquirer/type': 3.0.8(@types/node@24.3.0) ansi-escapes: 4.3.2 mute-stream: 2.0.0 - run-async: 3.0.0 + run-async: 4.0.6 rxjs: 7.8.2 optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 inquirer@8.2.6: dependencies: @@ -15619,10 +16835,7 @@ snapshots: dependencies: loose-envify: 1.4.0 - ip-address@9.0.5: - dependencies: - jsbn: 1.1.0 - sprintf-js: 1.1.3 + ip-address@10.0.1: {} ip-regex@4.3.0: {} @@ -15706,6 +16919,12 @@ snapshots: is-fullwidth-code-point@3.0.0: {} + is-fullwidth-code-point@4.0.0: {} + + is-fullwidth-code-point@5.0.0: + dependencies: + get-east-asian-width: 1.3.0 + is-generator-fn@2.1.0: {} is-generator-function@1.1.0: @@ -15721,14 +16940,14 @@ snapshots: is-hexadecimal@2.0.1: {} + is-in-ci@1.0.0: {} + is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 is-interactive@1.0.0: {} - is-interactive@2.0.0: {} - is-ip@3.1.0: dependencies: ip-regex: 4.3.0 @@ -15809,8 +17028,6 @@ snapshots: is-unicode-supported@0.1.0: {} - is-unicode-supported@1.3.0: {} - is-unicode-supported@2.1.0: {} is-upper-case@2.0.2: @@ -15846,16 +17063,16 @@ snapshots: isexe@3.1.1: {} - isomorphic-ws@5.0.0(ws@8.18.2): + isomorphic-ws@5.0.0(ws@8.18.3): dependencies: - ws: 8.18.2 + ws: 8.18.3 istanbul-lib-coverage@3.2.2: {} istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.27.4 - '@babel/parser': 7.27.5 + '@babel/core': 7.28.3 + '@babel/parser': 7.28.3 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -15864,8 +17081,8 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: - '@babel/core': 7.27.4 - '@babel/parser': 7.27.5 + '@babel/core': 7.28.3 + '@babel/parser': 7.28.3 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.7.2 @@ -15906,13 +17123,6 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jake@10.9.2: - dependencies: - async: 3.2.6 - chalk: 4.1.2 - filelist: 1.0.4 - minimatch: 3.1.2 - jest-changed-files@29.7.0: dependencies: execa: 5.1.1 @@ -15925,7 +17135,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.29 + '@types/node': 22.17.2 chalk: 4.1.2 co: 4.6.0 dedent: 1.6.0 @@ -15945,16 +17155,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)): + jest-cli@29.7.0(@types/node@22.17.2)(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)) + create-jest: 29.7.0(@types/node@22.17.2)(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.17.2)(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -15964,12 +17174,12 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@22.17.2)(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)): dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.27.4) + babel-jest: 29.7.0(@babel/core@7.28.3) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -15989,8 +17199,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.15.29 - ts-node: 10.9.2(@types/node@22.15.29)(typescript@5.8.3) + '@types/node': 22.17.2 + ts-node: 10.9.2(@types/node@22.17.2)(typescript@5.9.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -16019,7 +17229,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.29 + '@types/node': 24.3.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -16029,7 +17239,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.15.29 + '@types/node': 22.17.2 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -16068,7 +17278,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.15.29 + '@types/node': 22.17.2 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -16103,7 +17313,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.29 + '@types/node': 22.17.2 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -16131,7 +17341,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.29 + '@types/node': 22.17.2 chalk: 4.1.2 cjs-module-lexer: 1.4.3 collect-v8-coverage: 1.0.2 @@ -16151,15 +17361,15 @@ snapshots: jest-snapshot@29.7.0: dependencies: - '@babel/core': 7.27.4 - '@babel/generator': 7.27.5 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.27.4) - '@babel/types': 7.27.6 + '@babel/core': 7.28.3 + '@babel/generator': 7.28.3 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3) + '@babel/types': 7.28.2 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.27.4) + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.3) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -16177,7 +17387,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.15.29 + '@types/node': 22.17.2 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -16196,7 +17406,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.29 + '@types/node': 22.17.2 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -16205,17 +17415,17 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 22.15.29 + '@types/node': 22.17.2 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)): + jest@29.7.0(@types/node@22.17.2)(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)) + jest-cli: 29.7.0(@types/node@22.17.2)(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -16226,7 +17436,7 @@ snapshots: jiti@1.21.7: {} - jiti@2.4.2: {} + jiti@2.5.1: {} jju@1.4.0: {} @@ -16243,8 +17453,6 @@ snapshots: dependencies: argparse: 2.0.1 - jsbn@1.1.0: {} - jsc-safe-url@0.2.4: {} jsep@1.4.0: {} @@ -16282,6 +17490,12 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + jsonfile@6.2.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + jsonpath-plus@10.3.0: dependencies: '@jsep-plugin/assignment': 1.3.0(jsep@1.4.0) @@ -16292,7 +17506,7 @@ snapshots: jsx-ast-utils@3.3.5: dependencies: - array-includes: 3.1.8 + array-includes: 3.1.9 array.prototype.flat: 1.3.3 object.assign: 4.1.7 object.values: 1.2.1 @@ -16384,6 +17598,8 @@ snapshots: lilconfig@2.1.0: {} + lilconfig@3.1.3: {} + lines-and-columns@1.2.4: {} linkify-it@5.0.0: @@ -16404,8 +17620,8 @@ snapshots: local-pkg@1.1.1: dependencies: mlly: 1.7.4 - pkg-types: 2.1.0 - quansync: 0.2.10 + pkg-types: 2.2.0 + quansync: 0.2.11 locate-character@3.0.0: {} @@ -16440,11 +17656,6 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 - log-symbols@5.1.0: - dependencies: - chalk: 5.4.1 - is-unicode-supported: 1.3.0 - log-update@4.0.0: dependencies: ansi-escapes: 4.3.2 @@ -16484,7 +17695,7 @@ snapshots: magic-string@0.30.17: dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 make-dir@4.0.0: dependencies: @@ -16526,7 +17737,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 mdast-util-to-string: 4.0.0 micromark: 4.0.2 @@ -16643,7 +17854,7 @@ snapshots: parse-entities: 4.0.2 stringify-entities: 4.0.4 unist-util-stringify-position: 4.0.0 - vfile-message: 4.0.2 + vfile-message: 4.0.3 transitivePeerDependencies: - supports-color @@ -16728,15 +17939,15 @@ snapshots: merge2@1.4.1: {} - meros@1.3.0(@types/node@22.15.29): + meros@1.3.0(@types/node@24.3.0): optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 methods@1.1.2: {} metro-babel-transformer@0.82.4: dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 flow-enums-runtime: 0.0.6 hermes-parser: 0.28.1 nullthrows: 1.1.1 @@ -16794,7 +18005,7 @@ snapshots: metro-minify-terser@0.82.4: dependencies: flow-enums-runtime: 0.0.6 - terser: 5.40.0 + terser: 5.43.1 metro-resolver@0.82.4: dependencies: @@ -16807,9 +18018,9 @@ snapshots: metro-source-map@0.82.4: dependencies: - '@babel/traverse': 7.27.4 - '@babel/traverse--for-generate-function-map': '@babel/traverse@7.27.4' - '@babel/types': 7.27.6 + '@babel/traverse': 7.28.3 + '@babel/traverse--for-generate-function-map': '@babel/traverse@7.28.3' + '@babel/types': 7.28.2 flow-enums-runtime: 0.0.6 invariant: 2.2.4 metro-symbolicate: 0.82.4 @@ -16833,10 +18044,10 @@ snapshots: metro-transform-plugins@0.82.4: dependencies: - '@babel/core': 7.27.4 - '@babel/generator': 7.27.5 + '@babel/core': 7.28.3 + '@babel/generator': 7.28.3 '@babel/template': 7.27.2 - '@babel/traverse': 7.27.4 + '@babel/traverse': 7.28.3 flow-enums-runtime: 0.0.6 nullthrows: 1.1.1 transitivePeerDependencies: @@ -16844,10 +18055,10 @@ snapshots: metro-transform-worker@0.82.4: dependencies: - '@babel/core': 7.27.4 - '@babel/generator': 7.27.5 - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 + '@babel/core': 7.28.3 + '@babel/generator': 7.28.3 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 flow-enums-runtime: 0.0.6 metro: 0.82.4 metro-babel-transformer: 0.82.4 @@ -16865,12 +18076,12 @@ snapshots: metro@0.82.4: dependencies: '@babel/code-frame': 7.27.1 - '@babel/core': 7.27.4 - '@babel/generator': 7.27.5 - '@babel/parser': 7.27.5 + '@babel/core': 7.28.3 + '@babel/generator': 7.28.3 + '@babel/parser': 7.28.3 '@babel/template': 7.27.2 - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 accepts: 1.3.8 chalk: 4.1.2 ci-info: 2.0.0 @@ -16911,7 +18122,7 @@ snapshots: micromark-core-commonmark@2.0.3: dependencies: - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 micromark-factory-destination: 2.0.1 micromark-factory-label: 2.0.1 @@ -17005,7 +18216,7 @@ snapshots: micromark-extension-mdx-expression@3.0.1: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 devlop: 1.1.0 micromark-factory-mdx-expression: 2.0.3 micromark-factory-space: 2.0.1 @@ -17016,7 +18227,7 @@ snapshots: micromark-extension-mdx-jsx@3.0.2: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 micromark-factory-mdx-expression: 2.0.3 @@ -17025,7 +18236,7 @@ snapshots: micromark-util-events-to-acorn: 2.0.3 micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.2 - vfile-message: 4.0.2 + vfile-message: 4.0.3 micromark-extension-mdx-md@2.0.0: dependencies: @@ -17033,7 +18244,7 @@ snapshots: micromark-extension-mdxjs-esm@3.0.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 micromark-util-character: 2.1.1 @@ -17041,12 +18252,12 @@ snapshots: micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.2 unist-util-position-from-estree: 2.0.0 - vfile-message: 4.0.2 + vfile-message: 4.0.3 micromark-extension-mdxjs@3.0.0: dependencies: - acorn: 8.14.1 - acorn-jsx: 5.3.2(acorn@8.14.1) + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) micromark-extension-mdx-expression: 3.0.1 micromark-extension-mdx-jsx: 3.0.2 micromark-extension-mdx-md: 2.0.0 @@ -17069,7 +18280,7 @@ snapshots: micromark-factory-mdx-expression@2.0.3: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 devlop: 1.1.0 micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 @@ -17077,7 +18288,7 @@ snapshots: micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.2 unist-util-position-from-estree: 2.0.0 - vfile-message: 4.0.2 + vfile-message: 4.0.3 micromark-factory-space@2.0.1: dependencies: @@ -17124,7 +18335,7 @@ snapshots: micromark-util-decode-string@2.0.1: dependencies: - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 micromark-util-character: 2.1.1 micromark-util-decode-numeric-character-reference: 2.0.2 micromark-util-symbol: 2.0.1 @@ -17133,13 +18344,13 @@ snapshots: micromark-util-events-to-acorn@2.0.3: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/unist': 3.0.3 devlop: 1.1.0 estree-util-visit: 2.0.0 micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.2 - vfile-message: 4.0.2 + vfile-message: 4.0.3 micromark-util-html-tag-name@2.0.1: {} @@ -17172,7 +18383,7 @@ snapshots: dependencies: '@types/debug': 4.1.12 debug: 4.4.1 - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 micromark-factory-space: 2.0.1 @@ -17217,18 +18428,14 @@ snapshots: mimic-response@4.0.0: {} - minimatch@3.0.8: + minimatch@10.0.3: dependencies: - brace-expansion: 1.1.12 + '@isaacs/brace-expansion': 5.0.0 minimatch@3.1.2: dependencies: brace-expansion: 1.1.12 - minimatch@5.1.6: - dependencies: - brace-expansion: 2.0.2 - minimatch@9.0.5: dependencies: brace-expansion: 2.0.2 @@ -17252,9 +18459,9 @@ snapshots: dependencies: minipass: 7.1.2 - mintlify@4.0.574(@types/node@22.15.29)(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3): + mintlify@4.2.75(@types/node@24.3.0)(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2): dependencies: - '@mintlify/cli': 4.0.572(@types/node@22.15.29)(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + '@mintlify/cli': 4.0.679(@types/node@24.3.0)(@types/react@19.1.10)(react-dom@19.1.1(react@18.3.1))(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))(typescript@5.9.2) transitivePeerDependencies: - '@types/node' - '@types/react' @@ -17262,9 +18469,10 @@ snapshots: - bufferutil - debug - encoding - - react + - react-devtools-core - react-dom - supports-color + - ts-node - typescript - utf-8-validate @@ -17276,7 +18484,7 @@ snapshots: mlly@1.7.4: dependencies: - acorn: 8.14.1 + acorn: 8.15.0 pathe: 2.0.3 pkg-types: 1.3.1 ufo: 1.6.1 @@ -17313,20 +18521,22 @@ snapshots: negotiator@1.0.0: {} + neo-async@2.6.2: {} + neotraverse@0.6.18: {} nested-error-stacks@2.0.1: {} netmask@2.0.2: {} - next-mdx-remote-client@1.1.1(@types/react@19.1.6)(acorn@8.14.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + next-mdx-remote-client@1.1.2(@types/react@19.1.10)(acorn@8.15.0)(react-dom@19.1.1(react@18.3.1))(react@18.3.1)(unified@11.0.5): dependencies: '@babel/code-frame': 7.27.1 - '@mdx-js/mdx': 3.1.0(acorn@8.14.1) - '@mdx-js/react': 3.1.0(@types/react@19.1.6)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - remark-mdx-remove-esm: 1.1.0 + '@mdx-js/mdx': 3.1.0(acorn@8.15.0) + '@mdx-js/react': 3.1.0(@types/react@19.1.10)(react@18.3.1) + react: 18.3.1 + react-dom: 19.1.1(react@18.3.1) + remark-mdx-remove-esm: 1.2.0(unified@11.0.5) serialize-error: 12.0.0 vfile: 6.0.3 vfile-matter: 5.0.1 @@ -17334,28 +18544,27 @@ snapshots: - '@types/react' - acorn - supports-color + - unified - next@15.3.5(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + next@15.4.7(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1): dependencies: - '@next/env': 15.3.5 - '@swc/counter': 0.1.3 + '@next/env': 15.4.7 '@swc/helpers': 0.5.15 - busboy: 1.6.0 caniuse-lite: 1.0.30001721 postcss: 8.4.31 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - styled-jsx: 5.1.6(@babel/core@7.27.4)(react@19.1.0) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + styled-jsx: 5.1.6(@babel/core@7.28.3)(react@19.1.1) optionalDependencies: - '@next/swc-darwin-arm64': 15.3.5 - '@next/swc-darwin-x64': 15.3.5 - '@next/swc-linux-arm64-gnu': 15.3.5 - '@next/swc-linux-arm64-musl': 15.3.5 - '@next/swc-linux-x64-gnu': 15.3.5 - '@next/swc-linux-x64-musl': 15.3.5 - '@next/swc-win32-arm64-msvc': 15.3.5 - '@next/swc-win32-x64-msvc': 15.3.5 - sharp: 0.34.1 + '@next/swc-darwin-arm64': 15.4.7 + '@next/swc-darwin-x64': 15.4.7 + '@next/swc-linux-arm64-gnu': 15.4.7 + '@next/swc-linux-arm64-musl': 15.4.7 + '@next/swc-linux-x64-gnu': 15.4.7 + '@next/swc-linux-x64-musl': 15.4.7 + '@next/swc-win32-arm64-msvc': 15.4.7 + '@next/swc-win32-x64-msvc': 15.4.7 + sharp: 0.34.3 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -17407,7 +18616,7 @@ snapshots: normalize-path@3.0.0: {} - normalize-url@8.0.1: {} + normalize-url@8.0.2: {} npm-normalize-package-bin@4.0.0: {} @@ -17450,6 +18659,8 @@ snapshots: object-assign@4.1.1: {} + object-hash@3.0.0: {} + object-inspect@1.13.4: {} object-keys@1.1.1: {} @@ -17506,6 +18717,14 @@ snapshots: dependencies: mimic-fn: 2.1.0 + oniguruma-parser@0.12.1: {} + + oniguruma-to-es@4.3.3: + dependencies: + oniguruma-parser: 0.12.1 + regex: 6.0.1 + regex-recursion: 6.0.2 + open@10.1.2: dependencies: default-browser: 5.2.1 @@ -17526,7 +18745,7 @@ snapshots: openapi-types@12.1.3: {} - openapi3-ts@4.4.0: + openapi3-ts@4.5.0: dependencies: yaml: 2.8.0 @@ -17567,18 +18786,6 @@ snapshots: strip-ansi: 6.0.1 wcwidth: 1.0.1 - ora@6.3.1: - dependencies: - chalk: 5.4.1 - cli-cursor: 4.0.0 - cli-spinners: 2.9.2 - is-interactive: 2.0.0 - is-unicode-supported: 1.3.0 - log-symbols: 5.1.0 - stdin-discarder: 0.1.0 - strip-ansi: 7.1.0 - wcwidth: 1.0.1 - own-keys@1.0.1: dependencies: get-intrinsic: 1.3.0 @@ -17624,9 +18831,9 @@ snapshots: pac-proxy-agent@7.2.0: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 - agent-base: 7.1.3 + agent-base: 7.1.4 debug: 4.4.1 - get-uri: 6.0.4 + get-uri: 6.0.5 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 pac-resolver: 7.0.1 @@ -17655,7 +18862,7 @@ snapshots: '@types/unist': 2.0.11 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 is-alphanumerical: 2.0.1 is-decimal: 2.0.1 is-hexadecimal: 2.0.1 @@ -17695,7 +18902,7 @@ snapshots: parse5@7.3.0: dependencies: - entities: 6.0.0 + entities: 6.0.1 parseurl@1.3.3: {} @@ -17704,6 +18911,8 @@ snapshots: no-case: 3.0.4 tslib: 2.8.1 + patch-console@2.0.0: {} + path-browserify@1.0.1: {} path-case@3.0.4: @@ -17756,6 +18965,8 @@ snapshots: pidtree@0.6.0: {} + pify@2.3.0: {} + pirates@4.0.7: {} pkce-challenge@5.0.0: {} @@ -17770,15 +18981,15 @@ snapshots: mlly: 1.7.4 pathe: 2.0.3 - pkg-types@2.1.0: + pkg-types@2.2.0: dependencies: confbox: 0.2.2 - exsolve: 1.0.5 + exsolve: 1.0.7 pathe: 2.0.3 plist@3.1.0: dependencies: - '@xmldom/xmldom': 0.8.10 + '@xmldom/xmldom': 0.8.11 base64-js: 1.5.1 xmlbuilder: 15.1.1 @@ -17788,13 +18999,38 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss-load-config@3.1.4(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)): + postcss-import@15.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.10 + + postcss-js@4.0.1(postcss@8.5.6): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.5.6 + + postcss-load-config@3.1.4(postcss@8.5.3)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: postcss: 8.5.3 - ts-node: 10.9.2(@types/node@22.15.29)(typescript@5.8.3) + ts-node: 10.9.2(@types/node@24.3.0)(typescript@5.9.2) + + postcss-load-config@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)): + dependencies: + lilconfig: 3.1.3 + yaml: 2.8.1 + optionalDependencies: + postcss: 8.5.6 + ts-node: 10.9.2(@types/node@24.3.0)(typescript@5.9.2) + + postcss-nested@6.2.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 postcss-safe-parser@7.0.1(postcss@8.5.3): dependencies: @@ -17814,8 +19050,7 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-value-parser@4.2.0: - optional: true + postcss-value-parser@4.2.0: {} postcss@8.4.31: dependencies: @@ -17847,12 +19082,12 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier-plugin-svelte@3.4.0(prettier@3.5.3)(svelte@5.38.1): + prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.38.2): dependencies: - prettier: 3.5.3 - svelte: 5.38.1 + prettier: 3.6.2 + svelte: 5.38.2 - prettier@3.5.3: {} + prettier@3.6.2: {} pretty-bytes@5.6.0: {} @@ -17889,8 +19124,6 @@ snapshots: object-assign: 4.1.1 react-is: 16.13.1 - property-information@6.5.0: {} - property-information@7.1.0: {} proxy-addr@2.0.7: @@ -17900,7 +19133,7 @@ snapshots: proxy-agent@6.5.0: dependencies: - agent-base: 7.1.3 + agent-base: 7.1.4 debug: 4.4.1 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -17919,9 +19152,9 @@ snapshots: got: 12.6.1 is-ip: 3.1.0 - pump@3.0.2: + pump@3.0.3: dependencies: - end-of-stream: 1.4.4 + end-of-stream: 1.4.5 once: 1.4.0 punycode.js@2.3.1: {} @@ -17934,17 +19167,17 @@ snapshots: chromium-bidi: 0.6.3(devtools-protocol@0.0.1312386) debug: 4.4.1 devtools-protocol: 0.0.1312386 - ws: 8.18.2 + ws: 8.18.3 transitivePeerDependencies: - bare-buffer - bufferutil - supports-color - utf-8-validate - puppeteer@22.15.0(typescript@5.8.3): + puppeteer@22.15.0(typescript@5.9.2): dependencies: '@puppeteer/browsers': 2.3.0 - cosmiconfig: 9.0.0(typescript@5.8.3) + cosmiconfig: 9.0.0(typescript@5.9.2) devtools-protocol: 0.0.1312386 puppeteer-core: 22.15.0 transitivePeerDependencies: @@ -17966,7 +19199,7 @@ snapshots: dependencies: side-channel: 1.1.0 - quansync@0.2.10: {} + quansync@0.2.11: {} query-string@7.1.3: dependencies: @@ -18014,15 +19247,20 @@ snapshots: - bufferutil - utf-8-validate - react-dom@19.1.0(react@19.0.0): + react-dom@19.1.1(react@18.3.1): + dependencies: + react: 18.3.1 + scheduler: 0.26.0 + + react-dom@19.1.1(react@19.0.0): dependencies: react: 19.0.0 scheduler: 0.26.0 optional: true - react-dom@19.1.0(react@19.1.0): + react-dom@19.1.1(react@19.1.1): dependencies: - react: 19.1.0 + react: 19.1.1 scheduler: 0.26.0 react-fast-compare@3.2.2: {} @@ -18035,62 +19273,67 @@ snapshots: react-is@18.3.1: {} - react-is@19.1.0: {} + react-is@19.1.1: {} - react-native-edge-to-edge@1.6.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + react-native-edge-to-edge@1.6.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): dependencies: react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) - react-native-gesture-handler@2.24.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + react-native-gesture-handler@2.24.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): dependencies: '@egjs/hammerjs': 2.0.17 hoist-non-react-statics: 3.3.2 invariant: 2.2.4 react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) + + react-native-is-edge-to-edge@1.1.7(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + dependencies: + react: 19.0.0 + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) - react-native-is-edge-to-edge@1.1.7(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + react-native-is-edge-to-edge@1.2.1(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): dependencies: react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) - - react-native-reanimated@3.17.5(@babel/core@7.27.4)(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): - dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-classes': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.27.4) - '@babel/preset-typescript': 7.27.1(@babel/core@7.27.4) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) + + react-native-reanimated@3.17.5(@babel/core@7.28.3)(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-classes': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.3) + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.3) convert-source-map: 2.0.0 invariant: 2.2.4 react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) - react-native-is-edge-to-edge: 1.1.7(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) + react-native-is-edge-to-edge: 1.1.7(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) transitivePeerDependencies: - supports-color - react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + react-native-safe-area-context@5.4.0(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): dependencies: react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) - react-native-screens@4.11.1(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + react-native-screens@4.14.1(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): dependencies: react: 19.0.0 react-freeze: 1.0.4(react@19.0.0) - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) - react-native-is-edge-to-edge: 1.1.7(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) + react-native-is-edge-to-edge: 1.2.1(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) warn-once: 0.1.1 - react-native-web@0.20.0(react-dom@19.1.0(react@19.0.0))(react@19.0.0): + react-native-web@0.20.0(react-dom@19.1.1(react@19.0.0))(react@19.0.0): dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 '@react-native/normalize-colors': 0.74.89 fbjs: 3.0.5 inline-style-prefixer: 7.0.1 @@ -18098,33 +19341,33 @@ snapshots: nullthrows: 1.1.1 postcss-value-parser: 4.2.0 react: 19.0.0 - react-dom: 19.1.0(react@19.0.0) + react-dom: 19.1.1(react@19.0.0) styleq: 0.1.3 transitivePeerDependencies: - encoding optional: true - react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): + react-native-webview@13.13.5(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): dependencies: escape-string-regexp: 4.0.0 invariant: 2.2.4 react: 19.0.0 - react-native: 0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0) + react-native: 0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0) - react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0): + react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0): dependencies: '@jest/create-cache-key-function': 29.7.0 '@react-native/assets-registry': 0.79.3 - '@react-native/codegen': 0.79.3(@babel/core@7.27.4) + '@react-native/codegen': 0.79.3(@babel/core@7.28.3) '@react-native/community-cli-plugin': 0.79.3 '@react-native/gradle-plugin': 0.79.3 '@react-native/js-polyfills': 0.79.3 '@react-native/normalize-colors': 0.79.3 - '@react-native/virtualized-lists': 0.79.3(@types/react@19.0.14)(react-native@0.79.3(@babel/core@7.27.4)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + '@react-native/virtualized-lists': 0.79.3(@types/react@19.0.14)(react-native@0.79.3(@babel/core@7.28.3)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 - babel-jest: 29.7.0(@babel/core@7.27.4) + babel-jest: 29.7.0(@babel/core@7.28.3) babel-plugin-syntax-hermes-parser: 0.25.1 base64-js: 1.5.1 chalk: 4.1.2 @@ -18159,27 +19402,41 @@ snapshots: - supports-color - utf-8-validate + react-reconciler@0.29.2(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + react-refresh@0.14.2: {} react-refresh@0.17.0: {} - react-router-dom@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-router-dom@7.8.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1): dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-router: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + react-router: 7.8.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-router@7.8.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1): dependencies: cookie: 1.0.2 - react: 19.1.0 + react: 19.1.1 set-cookie-parser: 2.7.1 optionalDependencies: - react-dom: 19.1.0(react@19.1.0) + react-dom: 19.1.1(react@19.1.1) + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 react@19.0.0: {} - react@19.1.0: {} + react@19.1.1: {} + + read-cache@1.0.0: + dependencies: + pify: 2.3.0 read-package-json-fast@4.0.0: dependencies: @@ -18200,30 +19457,29 @@ snapshots: recma-build-jsx@1.0.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 estree-util-build-jsx: 3.0.1 vfile: 6.0.3 - recma-jsx@1.0.0(acorn@8.14.1): + recma-jsx@1.0.1(acorn@8.15.0): dependencies: - acorn-jsx: 5.3.2(acorn@8.14.1) + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) estree-util-to-js: 2.0.0 recma-parse: 1.0.0 recma-stringify: 1.0.0 unified: 11.0.5 - transitivePeerDependencies: - - acorn recma-parse@1.0.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 esast-util-from-js: 2.0.1 unified: 11.0.5 vfile: 6.0.3 recma-stringify@1.0.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 estree-util-to-js: 2.0.0 unified: 11.0.5 vfile: 6.0.3 @@ -18239,13 +19495,6 @@ snapshots: get-proto: 1.0.1 which-builtin-type: 1.2.1 - refractor@4.9.0: - dependencies: - '@types/hast': 2.3.10 - '@types/prismjs': 1.26.5 - hastscript: 7.2.0 - parse-entities: 4.0.2 - regenerate-unicode-properties@10.2.0: dependencies: regenerate: 1.4.2 @@ -18254,6 +19503,16 @@ snapshots: regenerator-runtime@0.13.11: {} + regex-recursion@6.0.2: + dependencies: + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@6.0.1: + dependencies: + regex-utilities: 2.3.0 + regexp.prototype.flags@1.5.4: dependencies: call-bind: 1.0.8 @@ -18278,10 +19537,10 @@ snapshots: dependencies: jsesc: 3.0.2 - rehackt@0.1.0(@types/react@19.1.6)(react@19.1.0): + rehackt@0.1.0(@types/react@19.1.10)(react@19.1.1): optionalDependencies: - '@types/react': 19.1.6 - react: 19.1.0 + '@types/react': 19.1.10 + react: 19.1.1 rehype-katex@7.0.1: dependencies: @@ -18306,7 +19565,7 @@ snapshots: rehype-recma@1.0.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/hast': 3.0.4 hast-util-to-estree: 3.1.3 transitivePeerDependencies: @@ -18314,7 +19573,7 @@ snapshots: relay-runtime@12.0.0: dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 fbjs: 3.0.5 invariant: 2.2.4 transitivePeerDependencies: @@ -18349,10 +19608,11 @@ snapshots: transitivePeerDependencies: - supports-color - remark-mdx-remove-esm@1.1.0: + remark-mdx-remove-esm@1.2.0(unified@11.0.5): dependencies: '@types/mdast': 4.0.4 mdast-util-mdxjs-esm: 2.0.1 + unified: 11.0.5 unist-util-remove: 4.0.0 transitivePeerDependencies: - supports-color @@ -18505,9 +19765,9 @@ snapshots: dependencies: glob: 7.2.3 - rollup-plugin-peer-deps-external@2.2.4(rollup@4.46.2): + rollup-plugin-peer-deps-external@2.2.4(rollup@4.46.3): dependencies: - rollup: 4.46.2 + rollup: 4.46.3 rollup@4.40.2: dependencies: @@ -18561,6 +19821,32 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.46.2 fsevents: 2.3.3 + rollup@4.46.3: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.46.3 + '@rollup/rollup-android-arm64': 4.46.3 + '@rollup/rollup-darwin-arm64': 4.46.3 + '@rollup/rollup-darwin-x64': 4.46.3 + '@rollup/rollup-freebsd-arm64': 4.46.3 + '@rollup/rollup-freebsd-x64': 4.46.3 + '@rollup/rollup-linux-arm-gnueabihf': 4.46.3 + '@rollup/rollup-linux-arm-musleabihf': 4.46.3 + '@rollup/rollup-linux-arm64-gnu': 4.46.3 + '@rollup/rollup-linux-arm64-musl': 4.46.3 + '@rollup/rollup-linux-loongarch64-gnu': 4.46.3 + '@rollup/rollup-linux-ppc64-gnu': 4.46.3 + '@rollup/rollup-linux-riscv64-gnu': 4.46.3 + '@rollup/rollup-linux-riscv64-musl': 4.46.3 + '@rollup/rollup-linux-s390x-gnu': 4.46.3 + '@rollup/rollup-linux-x64-gnu': 4.46.3 + '@rollup/rollup-linux-x64-musl': 4.46.3 + '@rollup/rollup-win32-arm64-msvc': 4.46.3 + '@rollup/rollup-win32-ia32-msvc': 4.46.3 + '@rollup/rollup-win32-x64-msvc': 4.46.3 + fsevents: 2.3.3 + router@2.2.0: dependencies: debug: 4.4.1 @@ -18575,7 +19861,7 @@ snapshots: run-async@2.4.1: {} - run-async@3.0.0: {} + run-async@4.0.6: {} run-parallel@1.2.0: dependencies: @@ -18616,6 +19902,10 @@ snapshots: sax@1.4.1: {} + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + scheduler@0.25.0: {} scheduler@0.26.0: {} @@ -18788,32 +20078,34 @@ snapshots: '@img/sharp-win32-ia32': 0.33.5 '@img/sharp-win32-x64': 0.33.5 - sharp@0.34.1: + sharp@0.34.3: dependencies: color: 4.2.3 detect-libc: 2.0.4 semver: 7.7.2 optionalDependencies: - '@img/sharp-darwin-arm64': 0.34.1 - '@img/sharp-darwin-x64': 0.34.1 - '@img/sharp-libvips-darwin-arm64': 1.1.0 - '@img/sharp-libvips-darwin-x64': 1.1.0 - '@img/sharp-libvips-linux-arm': 1.1.0 - '@img/sharp-libvips-linux-arm64': 1.1.0 - '@img/sharp-libvips-linux-ppc64': 1.1.0 - '@img/sharp-libvips-linux-s390x': 1.1.0 - '@img/sharp-libvips-linux-x64': 1.1.0 - '@img/sharp-libvips-linuxmusl-arm64': 1.1.0 - '@img/sharp-libvips-linuxmusl-x64': 1.1.0 - '@img/sharp-linux-arm': 0.34.1 - '@img/sharp-linux-arm64': 0.34.1 - '@img/sharp-linux-s390x': 0.34.1 - '@img/sharp-linux-x64': 0.34.1 - '@img/sharp-linuxmusl-arm64': 0.34.1 - '@img/sharp-linuxmusl-x64': 0.34.1 - '@img/sharp-wasm32': 0.34.1 - '@img/sharp-win32-ia32': 0.34.1 - '@img/sharp-win32-x64': 0.34.1 + '@img/sharp-darwin-arm64': 0.34.3 + '@img/sharp-darwin-x64': 0.34.3 + '@img/sharp-libvips-darwin-arm64': 1.2.0 + '@img/sharp-libvips-darwin-x64': 1.2.0 + '@img/sharp-libvips-linux-arm': 1.2.0 + '@img/sharp-libvips-linux-arm64': 1.2.0 + '@img/sharp-libvips-linux-ppc64': 1.2.0 + '@img/sharp-libvips-linux-s390x': 1.2.0 + '@img/sharp-libvips-linux-x64': 1.2.0 + '@img/sharp-libvips-linuxmusl-arm64': 1.2.0 + '@img/sharp-libvips-linuxmusl-x64': 1.2.0 + '@img/sharp-linux-arm': 0.34.3 + '@img/sharp-linux-arm64': 0.34.3 + '@img/sharp-linux-ppc64': 0.34.3 + '@img/sharp-linux-s390x': 0.34.3 + '@img/sharp-linux-x64': 0.34.3 + '@img/sharp-linuxmusl-arm64': 0.34.3 + '@img/sharp-linuxmusl-x64': 0.34.3 + '@img/sharp-wasm32': 0.34.3 + '@img/sharp-win32-arm64': 0.34.3 + '@img/sharp-win32-ia32': 0.34.3 + '@img/sharp-win32-x64': 0.34.3 optional: true shebang-command@2.0.0: @@ -18824,6 +20116,17 @@ snapshots: shell-quote@1.8.3: {} + shiki@3.9.2: + dependencies: + '@shikijs/core': 3.9.2 + '@shikijs/engine-javascript': 3.9.2 + '@shikijs/engine-oniguruma': 3.9.2 + '@shikijs/langs': 3.9.2 + '@shikijs/themes': 3.9.2 + '@shikijs/types': 3.9.2 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 @@ -18894,6 +20197,16 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 + slice-ansi@5.0.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + + slice-ansi@7.1.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 5.0.0 + slugify@1.6.6: {} smart-buffer@4.2.0: {} @@ -18935,15 +20248,15 @@ snapshots: socks-proxy-agent@8.0.5: dependencies: - agent-base: 7.1.3 + agent-base: 7.1.4 debug: 4.4.1 - socks: 2.8.4 + socks: 2.8.7 transitivePeerDependencies: - supports-color - socks@2.8.4: + socks@2.8.7: dependencies: - ip-address: 9.0.5 + ip-address: 10.0.1 smart-buffer: 4.2.0 source-map-js@1.2.1: {} @@ -18962,7 +20275,7 @@ snapshots: source-map@0.6.1: {} - source-map@0.7.4: {} + source-map@0.7.6: {} space-separated-tokens@2.0.2: {} @@ -18976,8 +20289,6 @@ snapshots: sprintf-js@1.0.3: {} - sprintf-js@1.1.3: {} - stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -18992,10 +20303,6 @@ snapshots: statuses@2.0.1: {} - stdin-discarder@0.1.0: - dependencies: - bl: 5.1.0 - stop-iteration-iterator@1.1.0: dependencies: es-errors: 1.3.0 @@ -19003,14 +20310,12 @@ snapshots: stream-buffers@2.2.0: {} - streamsearch@1.1.0: {} - streamx@2.22.1: dependencies: fast-fifo: 1.3.2 text-decoder: 1.2.3 optionalDependencies: - bare-events: 2.5.4 + bare-events: 2.6.1 strict-uri-encode@2.0.0: {} @@ -19035,6 +20340,12 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 + string-width@7.2.0: + dependencies: + emoji-regex: 10.4.0 + get-east-asian-width: 1.3.0 + strip-ansi: 7.1.0 + string.prototype.matchall@4.0.12: dependencies: call-bind: 1.0.8 @@ -19098,7 +20409,7 @@ snapshots: strip-ansi@7.1.0: dependencies: - ansi-regex: 6.1.0 + ansi-regex: 6.2.0 strip-bom-string@1.0.0: {} @@ -19114,27 +20425,27 @@ snapshots: structured-headers@0.4.1: {} - style-to-js@1.1.16: + style-to-js@1.1.17: dependencies: - style-to-object: 1.0.8 + style-to-object: 1.0.9 - style-to-object@1.0.8: + style-to-object@1.0.9: dependencies: inline-style-parser: 0.2.4 - styled-jsx@5.1.6(@babel/core@7.27.4)(react@19.1.0): + styled-jsx@5.1.6(@babel/core@7.28.3)(react@19.1.1): dependencies: client-only: 0.0.1 - react: 19.1.0 + react: 19.1.1 optionalDependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 styleq@0.1.3: optional: true sucrase@3.35.0: dependencies: - '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/gen-mapping': 0.3.13 commander: 4.1.1 glob: 10.4.5 lines-and-columns: 1.2.4 @@ -19165,30 +20476,30 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.3.1(picomatch@4.0.3)(svelte@5.38.1)(typescript@5.8.3): + svelte-check@4.3.1(picomatch@4.0.3)(svelte@5.38.2)(typescript@5.9.2): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 4.0.3 fdir: 6.4.4(picomatch@4.0.3) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.38.1 - typescript: 5.8.3 + svelte: 5.38.2 + typescript: 5.9.2 transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.3.1(svelte@5.38.1): + svelte-eslint-parser@1.3.1(svelte@5.38.2): dependencies: - eslint-scope: 8.3.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 postcss: 8.5.3 postcss-scss: 4.0.9(postcss@8.5.3) postcss-selector-parser: 7.1.0 optionalDependencies: - svelte: 5.38.1 + svelte: 5.38.2 - svelte@5.38.1: + svelte@5.38.2: dependencies: '@jridgewell/remapping': 2.3.5 '@jridgewell/sourcemap-codec': 1.5.0 @@ -19221,12 +20532,39 @@ snapshots: dependencies: '@pkgr/core': 0.2.7 - tar-fs@3.0.9: + tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)): + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.3 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.7 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-import: 15.1.0(postcss@8.5.6) + postcss-js: 4.0.1(postcss@8.5.6) + postcss-load-config: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) + postcss-nested: 6.2.0(postcss@8.5.6) + postcss-selector-parser: 6.1.2 + resolve: 1.22.10 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + + tar-fs@3.1.0: dependencies: - pump: 3.0.2 + pump: 3.0.3 tar-stream: 3.1.7 optionalDependencies: - bare-fs: 4.1.5 + bare-fs: 4.2.0 bare-path: 3.0.0 transitivePeerDependencies: - bare-buffer @@ -19262,7 +20600,7 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - terser@5.40.0: + terser@5.43.1: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.14.1 @@ -19293,11 +20631,6 @@ snapshots: timeout-signal@2.0.0: {} - tinyglobby@0.2.13: - dependencies: - fdir: 6.4.4(picomatch@4.0.2) - picomatch: 4.0.2 - tinyglobby@0.2.14: dependencies: fdir: 6.5.0(picomatch@4.0.3) @@ -19327,9 +20660,9 @@ snapshots: trough@2.2.0: {} - ts-api-utils@2.1.0(typescript@5.8.3): + ts-api-utils@2.1.0(typescript@5.9.2): dependencies: - typescript: 5.8.3 + typescript: 5.9.2 ts-interface-checker@0.1.13: {} @@ -19337,43 +20670,62 @@ snapshots: dependencies: tslib: 2.8.1 - ts-jest@29.3.4(@babel/core@7.27.4)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.4))(jest@29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.4.1(@babel/core@7.28.3)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.3))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.17.2)(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)))(typescript@5.9.2): dependencies: bs-logger: 0.2.6 - ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3)) - jest-util: 29.7.0 + handlebars: 4.7.8 + jest: 29.7.0(@types/node@22.17.2)(ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2)) json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.7.2 type-fest: 4.41.0 - typescript: 5.8.3 + typescript: 5.9.2 yargs-parser: 21.1.1 optionalDependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.27.4) + babel-jest: 29.7.0(@babel/core@7.28.3) + jest-util: 29.7.0 ts-log@2.2.7: {} - ts-node@10.9.2(@types/node@22.15.29)(typescript@5.8.3): + ts-node@10.9.2(@types/node@22.17.2)(typescript@5.9.2): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 22.17.2 + acorn: 8.14.1 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.9.2 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optional: true + + ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.15.29 + '@types/node': 24.3.0 acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.8.3 + typescript: 5.9.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -19441,32 +20793,43 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typedoc-plugin-markdown@4.6.4(typedoc@0.28.5(typescript@5.8.3)): + typedoc-plugin-markdown@4.8.1(typedoc@0.28.10(typescript@5.9.2)): dependencies: - typedoc: 0.28.5(typescript@5.8.3) + typedoc: 0.28.10(typescript@5.9.2) - typedoc@0.28.5(typescript@5.8.3): + typedoc@0.28.10(typescript@5.9.2): dependencies: - '@gerrit0/mini-shiki': 3.4.0 + '@gerrit0/mini-shiki': 3.9.2 lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 - typescript: 5.8.3 + typescript: 5.9.2 yaml: 2.8.0 - typescript-eslint@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3): + typescript-eslint@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.26.0(jiti@2.4.2) - typescript: 5.8.3 + '@typescript-eslint/eslint-plugin': 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.26.0(jiti@2.5.1) + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color + + typescript-eslint@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): + dependencies: + '@typescript-eslint/eslint-plugin': 8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.33.0(jiti@2.5.1) + typescript: 5.9.2 transitivePeerDependencies: - supports-color typescript@5.8.2: {} - typescript@5.8.3: {} + typescript@5.9.2: {} ua-parser-js@1.0.40: {} @@ -19474,6 +20837,9 @@ snapshots: ufo@1.6.1: {} + uglify-js@3.19.3: + optional: true + unbox-primitive@1.1.0: dependencies: call-bound: 1.0.4 @@ -19490,6 +20856,8 @@ snapshots: undici-types@6.21.0: {} + undici-types@7.10.0: {} + undici@6.21.3: {} undici@7.10.0: {} @@ -19610,6 +20978,12 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + update-browserslist-db@1.1.3(browserslist@4.25.3): + dependencies: + browserslist: 4.25.3 + escalade: 3.2.0 + picocolors: 1.1.1 + upper-case-first@2.0.2: dependencies: tslib: 2.8.1 @@ -19626,7 +21000,7 @@ snapshots: urlpattern-polyfill@10.0.0: {} - use-latest-callback@0.2.3(react@19.0.0): + use-latest-callback@0.2.4(react@19.0.0): dependencies: react: 19.0.0 @@ -19662,9 +21036,9 @@ snapshots: vfile-matter@5.0.1: dependencies: vfile: 6.0.3 - yaml: 2.8.0 + yaml: 2.8.1 - vfile-message@4.0.2: + vfile-message@4.0.3: dependencies: '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 @@ -19672,35 +21046,35 @@ snapshots: vfile@6.0.3: dependencies: '@types/unist': 3.0.3 - vfile-message: 4.0.2 + vfile-message: 4.0.3 - vite-hot-client@2.0.4(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)): + vite-hot-client@2.1.0(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)): dependencies: - vite: 7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0) + vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1) - vite-plugin-dts@4.5.4(@types/node@22.15.29)(rollup@4.46.2)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)): + vite-plugin-dts@4.5.4(@types/node@22.17.2)(rollup@4.46.3)(typescript@5.9.2)(vite@6.3.5(@types/node@22.17.2)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)): dependencies: - '@microsoft/api-extractor': 7.52.7(@types/node@22.15.29) - '@rollup/pluginutils': 5.1.4(rollup@4.46.2) - '@volar/typescript': 2.4.13 - '@vue/language-core': 2.2.0(typescript@5.8.3) + '@microsoft/api-extractor': 7.52.10(@types/node@22.17.2) + '@rollup/pluginutils': 5.2.0(rollup@4.46.3) + '@volar/typescript': 2.4.23 + '@vue/language-core': 2.2.0(typescript@5.9.2) compare-versions: 6.1.1 debug: 4.4.1 kolorist: 1.8.0 local-pkg: 1.1.1 magic-string: 0.30.17 - typescript: 5.8.3 + typescript: 5.9.2 optionalDependencies: - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.17.2)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-inspect@0.8.9(rollup@4.46.2)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)): + vite-plugin-inspect@0.8.9(rollup@4.46.3)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)): dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.4(rollup@4.46.2) + '@rollup/pluginutils': 5.2.0(rollup@4.46.3) debug: 4.4.1 error-stack-parser-es: 0.1.5 fs-extra: 11.3.0 @@ -19708,59 +21082,59 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.1 sirv: 3.0.1 - vite: 7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0) + vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1) transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-devtools@7.7.6(rollup@4.46.2)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)): + vite-plugin-vue-devtools@7.7.7(rollup@4.46.3)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2)): dependencies: - '@vue/devtools-core': 7.7.6(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) - '@vue/devtools-kit': 7.7.6 - '@vue/devtools-shared': 7.7.6 + '@vue/devtools-core': 7.7.7(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2)) + '@vue/devtools-kit': 7.7.7 + '@vue/devtools-shared': 7.7.7 execa: 9.6.0 sirv: 3.0.1 - vite: 7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0) - vite-plugin-inspect: 0.8.9(rollup@4.46.2)(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)) - vite-plugin-vue-inspector: 5.3.1(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)) + vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1) + vite-plugin-inspect: 0.8.9(rollup@4.46.3)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)) + vite-plugin-vue-inspector: 5.3.1(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)) transitivePeerDependencies: - '@nuxt/kit' - rollup - supports-color - vue - vite-plugin-vue-inspector@5.3.1(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)): + vite-plugin-vue-inspector@5.3.1(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)): dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-proposal-decorators': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.27.4) - '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.4) - '@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.27.4) + '@babel/core': 7.28.3 + '@babel/plugin-proposal-decorators': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.28.3) + '@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.28.3) '@vue/compiler-dom': 3.5.13 kolorist: 1.8.0 magic-string: 0.30.17 - vite: 7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0) + vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1) transitivePeerDependencies: - supports-color - vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0): + vite@6.3.5(@types/node@22.17.2)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1): dependencies: - esbuild: 0.25.4 - fdir: 6.4.4(picomatch@4.0.2) - picomatch: 4.0.2 - postcss: 8.5.3 - rollup: 4.40.2 - tinyglobby: 0.2.13 + esbuild: 0.25.9 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.46.3 + tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 22.17.2 fsevents: 2.3.3 - jiti: 2.4.2 + jiti: 2.5.1 lightningcss: 1.27.0 - terser: 5.40.0 - yaml: 2.8.0 + terser: 5.43.1 + yaml: 2.8.1 - vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0): + vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1): dependencies: esbuild: 0.25.4 fdir: 6.5.0(picomatch@4.0.3) @@ -19769,54 +21143,53 @@ snapshots: rollup: 4.46.2 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.3.0 fsevents: 2.3.3 - jiti: 2.4.2 + jiti: 2.5.1 lightningcss: 1.27.0 - terser: 5.40.0 - yaml: 2.8.0 + terser: 5.43.1 + yaml: 2.8.1 - vitefu@1.1.1(vite@7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0)): + vitefu@1.1.1(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1)): optionalDependencies: - vite: 7.1.2(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.27.0)(terser@5.40.0)(yaml@2.8.0) + vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.43.1)(yaml@2.8.1) vlq@1.0.1: {} vscode-uri@3.1.0: {} - vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2)): + vue-eslint-parser@10.2.0(eslint@9.33.0(jiti@2.5.1)): dependencies: debug: 4.4.1 - eslint: 9.26.0(jiti@2.4.2) - eslint-scope: 8.3.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 + eslint: 9.33.0(jiti@2.5.1) + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 esquery: 1.6.0 - lodash: 4.17.21 semver: 7.7.2 transitivePeerDependencies: - supports-color - vue-router@4.5.1(vue@3.5.16(typescript@5.8.3)): + vue-router@4.5.1(vue@3.5.18(typescript@5.9.2)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.16(typescript@5.8.3) + vue: 3.5.18(typescript@5.9.2) - vue-tsc@2.2.10(typescript@5.8.3): + vue-tsc@2.2.12(typescript@5.9.2): dependencies: - '@volar/typescript': 2.4.13 - '@vue/language-core': 2.2.10(typescript@5.8.3) - typescript: 5.8.3 + '@volar/typescript': 2.4.15 + '@vue/language-core': 2.2.12(typescript@5.9.2) + typescript: 5.9.2 - vue@3.5.16(typescript@5.8.3): + vue@3.5.18(typescript@5.9.2): dependencies: - '@vue/compiler-dom': 3.5.16 - '@vue/compiler-sfc': 3.5.16 - '@vue/runtime-dom': 3.5.16 - '@vue/server-renderer': 3.5.16(vue@3.5.16(typescript@5.8.3)) - '@vue/shared': 3.5.16 + '@vue/compiler-dom': 3.5.18 + '@vue/compiler-sfc': 3.5.18 + '@vue/runtime-dom': 3.5.18 + '@vue/server-renderer': 3.5.18(vue@3.5.18(typescript@5.9.2)) + '@vue/shared': 3.5.18 optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 walker@1.0.8: dependencies: @@ -19902,10 +21275,16 @@ snapshots: dependencies: isexe: 3.1.1 + widest-line@5.0.0: + dependencies: + string-width: 7.2.0 + wonka@6.3.5: {} word-wrap@1.2.5: {} + wordwrap@1.0.0: {} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 @@ -19924,6 +21303,12 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 + wrap-ansi@9.0.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 7.2.0 + strip-ansi: 7.1.0 + wrappy@1.0.2: {} write-file-atomic@4.0.2: @@ -19939,7 +21324,7 @@ snapshots: ws@8.17.1: {} - ws@8.18.2: {} + ws@8.18.3: {} xcode@3.0.1: dependencies: @@ -19978,6 +21363,8 @@ snapshots: yaml@2.8.0: {} + yaml@2.8.1: {} + yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 @@ -20022,6 +21409,8 @@ snapshots: yoctocolors@2.1.1: {} + yoga-layout@3.2.1: {} + zen-observable-ts@1.2.5: dependencies: zen-observable: 0.8.15 @@ -20030,12 +21419,12 @@ snapshots: zimmerframe@1.1.2: {} - zod-to-json-schema@3.24.5(zod@3.25.51): + zod-to-json-schema@3.24.6(zod@3.25.76): dependencies: - zod: 3.25.51 + zod: 3.25.76 zod@3.23.8: {} - zod@3.25.51: {} + zod@3.25.76: {} zwitch@2.0.4: {} diff --git a/tools/codegen/cmd/gen/gen.go b/tools/codegen/cmd/gen/gen.go index cca99d2e..e049660e 100644 --- a/tools/codegen/cmd/gen/gen.go +++ b/tools/codegen/cmd/gen/gen.go @@ -7,6 +7,7 @@ import ( "github.com/nhost/sdk-experiment/tools/codegen/processor" "github.com/nhost/sdk-experiment/tools/codegen/processor/typescript" + "github.com/nhost/sdk-experiment/tools/codegen/processor/purescript" "github.com/pb33f/libopenapi" "github.com/urfave/cli/v3" ) @@ -37,7 +38,7 @@ func Command() *cli.Command { }, &cli.StringFlag{ //nolint:exhaustruct Name: flagPlugin, - Usage: "Plugin to use. Supported: typescript", + Usage: "Plugin to use. Supported: typescript, purescript", Required: true, Sources: cli.EnvVars("PLUGIN"), }, @@ -53,6 +54,8 @@ func action(_ context.Context, c *cli.Command) error { switch c.String(flagPlugin) { case "typescript": p = &typescript.Typescript{} + case "purescript": + p = &purescript.Purescript{} default: return cli.Exit("unsupported plugin: %s"+c.String(flagPlugin), 1) } diff --git a/tools/codegen/gen.sh b/tools/codegen/gen.sh index 2b0d8cb9..92559c36 100755 --- a/tools/codegen/gen.sh +++ b/tools/codegen/gen.sh @@ -1,14 +1,50 @@ #!/bin/sh - set -e -go run main.go gen \ - --openapi-file ../../packages/nhost-js/api/auth.yaml \ - --output-file ../../packages/nhost-js/src/auth/client.ts \ - --plugin typescript +# find script dir and project root +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" + +# ensure output directories exist +mkdir -p "$ROOT/packages/nhost-js/src/auth" +mkdir -p "$ROOT/packages/nhost-js/src/storage" +mkdir -p "$ROOT/packages/purescript-nhost/src/Nhost/Auth" +mkdir -p "$ROOT/packages/purescript-nhost/src/Nhost/Storage" + +# run generators +# go run "$SCRIPT_DIR/main.go" gen \ +# --openapi-file "$ROOT/packages/nhost-js/api/auth.yaml" \ +# --output-file "$ROOT/packages/nhost-js/src/auth/client.ts" \ +# --plugin typescript +# +# go run "$SCRIPT_DIR/main.go" gen \ +# --openapi-file "$ROOT/packages/nhost-js/api/storage.yaml" \ +# --output-file "$ROOT/packages/nhost-js/src/storage/client.ts" \ +# --plugin typescript + +go run "$SCRIPT_DIR/main.go" gen \ + --openapi-file "$ROOT/packages/nhost-js/api/auth.yaml" \ + --output-file "$ROOT/packages/purescript-nhost/src/Nhost/Auth/Client.purs" \ + --plugin purescript + +go run "$SCRIPT_DIR/main.go" gen \ + --openapi-file "$ROOT/packages/nhost-js/api/storage.yaml" \ + --output-file "$ROOT/packages/purescript-nhost/src/Nhost/Storage/Client.purs" \ + --plugin purescript + +sed -i'' -e '/import Web.File.Blob/d' \ + "$ROOT/packages/purescript-nhost/src/Nhost/Auth/Client.purs" + +# format PureScript output +( + cd "$ROOT/packages/purescript-nhost" + purs-tidy format-in-place src + purs-module-tidy src test + # Remove trailing whitespaces from all .purs files in src and test directories + # The -i '' is for macOS/BSD compatibility; for GNU/Linux, -i is sufficient. + find src test -name "*.purs" -exec sed -i'' -e 's/[ \t]*$//' {} + +) -go run main.go gen \ - --openapi-file ../../packages/nhost-js/api/storage.yaml \ - --output-file ../../packages/nhost-js/src/storage/client.ts \ - --plugin typescript +# run make with project root +make ROOT="$ROOT" diff --git a/tools/codegen/processor/purescript/purescript.go b/tools/codegen/processor/purescript/purescript.go new file mode 100644 index 00000000..737a1824 --- /dev/null +++ b/tools/codegen/processor/purescript/purescript.go @@ -0,0 +1,129 @@ +package purescript + +import ( + "embed" + "fmt" + "io/fs" + "strings" + + "github.com/nhost/sdk-experiment/tools/codegen/format" + "github.com/nhost/sdk-experiment/tools/codegen/processor" +) + +const extCustomType = "x-ps-type" + +//go:embed templates/*.tmpl +var templatesFS embed.FS + +type Purescript struct{} + +func (p *Purescript) GetTemplates() fs.FS { + return templatesFS +} + +func (p *Purescript) GetFuncMap() map[string]any { + return map[string]any{ + "dashesAndOtherSeparatorsToKebabAndAddUnderscoreIfPurescriptKeyword": dashesAndOtherSeparatorsToKebabAndAddUnderscoreIfPurescriptKeyword, + "methodPathFunc": methodPathFunc, + "anyPropertyIsBlob": anyPropertyIsBlob, + "ToCamelCase": format.ToCamelCase, + "lowerFirst": lowerFirst, + "containsSpaceInside": containsSpaceInside, + "hasValidDescription": hasValidDescription, + "HasPrefix": strings.HasPrefix, + "splitLines": splitLines, + } +} + +func (p *Purescript) TypeObjectName(name string) string { + return format.ToCamelCase(name) +} + +func (p *Purescript) TypeScalarName(scalar *processor.TypeScalar) string { + switch scalar.Schema().Schema().Type[0] { + case "integer": + return "Int" + case "number": + return "Number" + case "string": + if scalar.Schema().Schema().Format == "binary" { + return "Blob" + } + return "String" + case "boolean": + return "Boolean" + case "null": + return "Unit" + case "void": + return "Unit" + } + return "String" +} + +func (p *Purescript) TypeArrayName(array *processor.TypeArray) string { + return "Array " + array.Item.Name() +} + +func (p *Purescript) TypeEnumName(name string) string { + return format.ToCamelCase(name) +} + +func (p *Purescript) TypeEnumValues(values []any) []string { + enumValues := make([]string, len(values)) + if len(values) == 0 { + return enumValues + } + + for i, v := range values { + if s, ok := v.(string); ok { + enumValues[i] = s + } else { + enumValues[i] = fmt.Sprintf("Value%v", v) + } + } + + return enumValues +} + +func (p *Purescript) TypeMapName(schema *processor.TypeMap) string { + if v, ok := schema.Schema().Schema().Extensions.Get(extCustomType); ok { + return v.Value + } + return "J.JObject" +} + +func (p *Purescript) MethodName(name string) string { + return format.ToCamelCase(name) // Preserve proper camelCase +} + +func (p *Purescript) MethodPath(name string) string { + return name +} + +func (p *Purescript) ParameterName(name string) string { + return name +} + +func (p *Purescript) BinaryType() string { + return "Blob" +} + +func (p *Purescript) PropertyName(name string) string { + return name +} + +// // Modified property name to handle array fields correctly +// func (p *Purescript) PropertyName(name string) string { +// // Handle array notation like "metadata[]" and "file[]" +// if strings.HasSuffix(name, "[]") { +// baseName := strings.TrimSuffix(name, "[]") +// return dashesAndOtherSeparatorsToKebabAndAddUnderscoreIfPurescriptKeyword(baseName) + "Array" +// } +// +// // Handle kebab-case from multipart field names +// if strings.Contains(name, "-") { +// return dashesAndOtherSeparatorsToKebabAndAddUnderscoreIfPurescriptKeyword(name) +// } +// +// return dashesAndOtherSeparatorsToKebabAndAddUnderscoreIfPurescriptKeyword(name) +// } diff --git a/tools/codegen/processor/purescript/purescript_helpers.go b/tools/codegen/processor/purescript/purescript_helpers.go new file mode 100644 index 00000000..99cb7d46 --- /dev/null +++ b/tools/codegen/processor/purescript/purescript_helpers.go @@ -0,0 +1,85 @@ +package purescript + +import ( + // "fmt" + "strings" + "unicode" + + "github.com/nhost/sdk-experiment/tools/codegen/format" + "github.com/nhost/sdk-experiment/tools/codegen/processor" +) + +func isPurescriptKeyword(name string) bool { + reserved := map[string]struct{}{ + "type": {}, "module": {}, "case": {}, "class": {}, + "data": {}, "newtype": {}, "instance": {}, "let": {}, + "in": {}, "where": {}, "do": {}, "if": {}, "then": {}, + "else": {}, "foreign": {}, "import": {}, "as": {}, + "infix": {}, "infixl": {}, "infixr": {}, + } + _, ok := reserved[name] + return ok +} + +func addUnderscoreIfPurescriptKeyword(name string) string { + if isPurescriptKeyword(name) { + return name + "_" + } + return name +} + +// Examples: +// dashesAndOtherSeparatorsToKebabAndAddUnderscoreIfPurescriptKeyword("user_id") // => "userId" +// dashesAndOtherSeparatorsToKebabAndAddUnderscoreIfPurescriptKeyword("user-name") // => "userName" +// dashesAndOtherSeparatorsToKebabAndAddUnderscoreIfPurescriptKeyword("User_Name") // => "userName" +// dashesAndOtherSeparatorsToKebabAndAddUnderscoreIfPurescriptKeyword("type") // => "type_" +// dashesAndOtherSeparatorsToKebabAndAddUnderscoreIfPurescriptKeyword("content-length") // => "contentLength" +// dashesAndOtherSeparatorsToKebabAndAddUnderscoreIfPurescriptKeyword("X-API_KEY") // => "xApiKey" +// dashesAndOtherSeparatorsToKebabAndAddUnderscoreIfPurescriptKeyword("") // => "" (fallback to input) +func dashesAndOtherSeparatorsToKebabAndAddUnderscoreIfPurescriptKeyword(name string) string { + return addUnderscoreIfPurescriptKeyword(format.ToCamelCase(name)) +} + +func lowerFirst(s string) string { + if len(s) == 0 { + return s + } + r := []rune(s) + r[0] = unicode.ToLower(r[0]) + return string(r) +} + +func containsSpaceInside(typeName string) bool { + return strings.Contains(typeName, " ") +} + +// Helper to check if comment/description is empty or meaningless +func hasValidDescription(description string) bool { + trimmed := strings.TrimSpace(description) + return trimmed != "" && trimmed != "-" && trimmed != "nil" +} + +func splitLines(s string) []string { + return strings.Split(s, "\n") +} + +func anyPropertyIsBlob(props []*processor.Property) bool { + for _, p := range props { + if p.Type.Name() == "Blob" || p.Type.Name() == "Array Blob" { + return true + } + } + return false +} + +func methodPathFunc(path string) map[string]string { + start := strings.Index(path, "{") + end := strings.Index(path, "}") + if start != -1 && end != -1 && end > start { + return map[string]string{ + "param": path[start+1 : end], + "cleaned": path[:start], + } + } + return map[string]string{"param": "", "cleaned": path} +} diff --git a/tools/codegen/processor/purescript/templates/client.tmpl b/tools/codegen/processor/purescript/templates/client.tmpl new file mode 100644 index 00000000..90db231a --- /dev/null +++ b/tools/codegen/processor/purescript/templates/client.tmpl @@ -0,0 +1,104 @@ +{{- define "apiMethodType" -}} +-- | {{ .Name }} +{{- if .Operation.Summary }} +-- | +-- | Summary: {{ .Operation.Summary }} +{{- end }} +{{- if .Operation.Description }} +-- | +{{- range $line := splitLines .Operation.Description }} +-- | {{ $line }} +{{- end }} +{{- end }} +-- | +-- | Possible responses: +{{- range $code, $codeMap := .Responses }} + {{- if $codeMap }} + {{- range $media, $type := $codeMap }} +-- | - {{ $code }}: {{ if $type }}{{ $type.Name }}{{ else }}Unit{{ end }} + {{- end }} + {{- else }} +-- | - {{ $code }}: Unit + {{- end }} +{{- end }} +{{- if .IsRedirect }} +type {{ .Name }}Fn mkUrlOutput = {{ template "apiMethodSignature" . }} +{{- else }} +type {{ .Name }}Fn fetchResponse = {{ template "apiMethodSignature" . }} +{{- end }} +{{- end }} + +{{- define "apiPaths" -}} +{{- range .Methods }} +{{ $res := methodPathFunc .Path }} +{{ if $res.param }} +{{ lowerFirst .Name }}Path :: String -> String +{{ lowerFirst .Name }}Path {{ $res.param }} = "{{ $res.cleaned }}" <> {{ $res.param }} +{{ else }} +{{ lowerFirst .Name }}Path :: String +{{ lowerFirst .Name }}Path = "{{ $res.cleaned }}" +{{ end }} +{{- end }} +{{- end }} + +{{- define "client_interface" -}} +-- | API Client type +type APIClient :: (Type -> Type) -> (Type -> Type) -> (Type -> Type) -> Type -> Type -> Type -> Type +type APIClient fetchResponseGET fetchResponsePOST fetchResponsePUT fetchResponseDELETE fetchResponseHEAD mkUrlOutput = + { {{- range $i, $method := .Methods }} + {{- if ne $i 0 }}, {{ end }} + {{- if .IsRedirect }} + {{ lowerFirst $method.Name }} :: {{ .Name }}Fn mkUrlOutput + {{- else }} + {{ lowerFirst $method.Name }} :: {{ .Name }}Fn fetchResponse{{ $method.Method }} + {{- end }} + {{- end }} + } +{{- end }} + +{{- define "apiMethodComment" -}} +-- | {{ .Name }} +{{- if .Operation.Summary }} +-- | +-- | Summary: {{ .Operation.Summary }} +{{- end }} +{{- if .Operation.Description }} +-- | +{{- range $line := splitLines .Operation.Description }} +-- | {{ $line }} +{{- end }} +{{- end }} +{{- if .IsRedirect }} +-- | +-- | This method is a redirect, it returns a URL `String` instead of an `Aff`. +{{- else }} +-- | +-- | Possible responses: +{{- range $code, $codeMap := .Responses }} + {{- if $codeMap }} + {{- range $media, $type := $codeMap }} +-- | - {{ $code }}: {{ if $type }}{{ $type.Name }}{{ else }}Unit{{ end }} + {{- end }} + {{- else }} +-- | - {{ $code }}: Unit + {{- end }} +{{- end }} +{{- end }} +{{- end }} + +{{- define "apiMethodSignature" -}} +{{- range .PathParameters -}}{{ .Type.Name }} -> {{- end -}} +{{- range $code, $type := .Bodies -}} +{{- if not $.BodyRequired -}}Maybe {{ $type.Name }} -> {{- else -}}{{ $type.Name }} -> {{- end -}} +{{- end -}} +{{- if .HasQueryParameters -}}Maybe {{ ToCamelCase .Name }}Params -> {{- end -}} +{{- if .IsRedirect -}} +mkUrlOutput +{{- else if eq .Method "HEAD" -}} +Aff fetchResponse +{{- else if eq .ReturnType "void" -}} +Aff fetchResponse +{{- else -}} +Aff (fetchResponse {{ .ReturnType }}) +{{- end -}} +{{- end -}} diff --git a/tools/codegen/processor/purescript/templates/main.tmpl b/tools/codegen/processor/purescript/templates/main.tmpl new file mode 100644 index 00000000..a20d6b88 --- /dev/null +++ b/tools/codegen/processor/purescript/templates/main.tmpl @@ -0,0 +1,54 @@ +-- | This file is auto-generated. Do not edit manually. +module GeneratedAPI where + +import Prelude + +import Data.Generic.Rep (class Generic) +import Data.Show.Generic (genericShow) +import Data.Maybe (Maybe(..)) +import Effect.Aff (Aff) +import Web.File.Blob (Blob) +import JSON as J +import Data.Codec.JSON.Common as CJ +import Data.Codec.JSON.Record as CJR +import Data.Newtype (class Newtype, unwrap, wrap) +import Data.Profunctor (dimap) + +{{- range .Types }} +{{- if eq .Kind "object" }} +{{ template "renderObject" . }} +{{- else if eq .Kind "enum" }} +{{ template "renderEnum" . }} +{{- else if eq .Kind "alias" }} +{{ template "renderAlias" . }} +{{- end }} +{{- end }} + +{{- range .Methods }} +{{- if .HasQueryParameters }} +-- | Parameters for the {{ .Name }} method. +type {{ ToCamelCase .Name }}Params = + { {{- range $i, $param := .QueryParameters }}{{ if ne $i 0 }} + , {{ end }}"{{ .Name }}" :: {{ if not .Required }}Maybe {{ if containsSpaceInside .Type.Name }}({{ .Type.Name }}){{ else }}{{ .Type.Name }}{{ end }}{{ else }}{{ .Type.Name }}{{ end }} {{- if hasValidDescription .Parameter.Description }} -- {{ .Parameter.Description }}{{ end }} + {{- end }} + } + +{{ lowerFirst .Name }}ParamsCodec :: CJ.Codec {{ ToCamelCase .Name }}Params +{{ lowerFirst .Name }}ParamsCodec = + CJR.objectStrict + { {{- range $i, $param := .QueryParameters }}{{ if ne $i 0 }} + , {{ end }}"{{ .Name }}": {{ if not .Required }}CJ.maybe {{ end }}{{ template "codecForType" .Type }} + {{- end }} + } + +{{- end }} +{{- end }} + +{{- range .Methods }} + +{{ template "apiMethodType" . }} +{{- end }} + +{{ template "apiPaths" . }} + +{{ template "client_interface" . }} diff --git a/tools/codegen/processor/purescript/templates/types.tmpl b/tools/codegen/processor/purescript/templates/types.tmpl new file mode 100644 index 00000000..8fe6c6a3 --- /dev/null +++ b/tools/codegen/processor/purescript/templates/types.tmpl @@ -0,0 +1,147 @@ +{{- define "renderObjectComment" -}} +{{- if .Schema.Schema.Description }} +-- | {{ .Schema.Schema.Description }} +{{- end }} +{{- if .Schema.Schema.Example }} +-- | Example: `{{ example .}}` +{{- end }} +{{- if .Schema.Schema.Pattern }} +-- | Pattern: {{ pattern . }} +{{- end }} +{{- if .Schema.Schema.Format }} +-- | Format: {{ format . }} +{{- end }} +{{- if .Schema.Schema.MinLength }} +-- | MinLength: {{ .Schema.Schema.MinLength }} +{{- end }} +{{- if .Schema.Schema.MaxLength }} +-- | MaxLength: {{ .Schema.Schema.MaxLength }} +{{- end }} +{{- end -}} + +{{- define "renderParamComment" -}} +{{- if .Description -}} +{{ .Description }} +{{- end -}} +{{- if and .Schema .Schema.Schema .Schema.Schema.Description -}} +{{ .Schema.Schema.Description }} +{{- end -}} +{{- end -}} + +{{- define "renderObject" -}} +{{- $type := . }} +{{- if hasValidDescription .Schema.Schema.Description }} +-- | {{ .Schema.Schema.Description }} +{{- end }} +{{- if gt (len .Properties) 0 }} +-- | +{{- range .Properties }} +-- | * `{{ dashesAndOtherSeparatorsToKebabAndAddUnderscoreIfPurescriptKeyword .Name }}`{{ if not .Required }} (Optional){{ end }}: `{{ if not .Required }}Maybe {{ if containsSpaceInside .Type.Name }}({{ .Type.Name }}){{ else }}{{ .Type.Name }}{{ end }}{{ else }}{{ .Type.Name }}{{ end }}`{{ if hasValidDescription .Type.Schema.Schema.Description }} - {{ .Type.Schema.Schema.Description }}{{ end }} +{{- end }} +{{- end }} +type {{ .Name }} = + { {{- range $i, $prop := .Properties }}{{ if ne $i 0 }} + , {{ end }}"{{ .Name }}" :: {{ if not .Required }}Maybe {{ if containsSpaceInside .Type.Name }}({{ .Type.Name }}){{ else }}{{ .Type.Name }}{{ end }}{{ else }}{{ .Type.Name }}{{ end }}{{ if hasValidDescription .Type.Schema.Schema.Description }} -- {{ .Type.Schema.Schema.Description }}{{ end }} + {{- end }} + } + +{{- if not (anyPropertyIsBlob .Properties) }} +{{ lowerFirst .Name }}Codec :: CJ.Codec {{ .Name }} +{{ lowerFirst .Name }}Codec = + CJR.objectStrict + { {{- range $i, $prop := .Properties }}{{ if ne $i 0 }} + , {{ end }}"{{ .Name }}": {{ if not .Required }}CJR.optional {{ else }}{{ end }}{{ template "codecForType" .Type }} + {{- end }} + } +{{- else }} +-- Codec not generated because this type contains Blob fields +{{- end }} +{{- end }} + +{{- define "renderEnum" -}} +{{- $type := . }} +{{- if hasValidDescription .Schema.Schema.Description }} +-- | {{ .Schema.Schema.Description }} +{{- end }} +data {{ $type.Name }} +{{- range $i, $value := $type.Values }} + {{- if eq $i 0 }} + = {{ if eq $value "" }}{{ $type.Name }}_Empty{{ else }}{{ $type.Name }}_{{ ToCamelCase $value }}{{ end }} + {{- else }} + | {{ if eq $value "" }}{{ $type.Name }}_Empty{{ else }}{{ $type.Name }}_{{ ToCamelCase $value }}{{ end }} + {{- end }} +{{- end }} + +derive instance generic{{ .Name }} :: Generic {{ .Name }} _ +derive instance eq{{ .Name }} :: Eq {{ .Name }} +derive instance ord{{ .Name }} :: Ord {{ .Name }} + +instance show{{ .Name }} :: Show {{ .Name }} where + show = genericShow + +-- Extract dec / enc to top-level +{{ lowerFirst .Name }}_dec :: String -> Maybe {{ .Name }} +{{ lowerFirst .Name }}_dec = case _ of +{{- range $value := .Values }} + {{- if eq $value "" }} + "" -> Just {{ $type.Name }}_Empty + {{- else }} + "{{ $value }}" -> Just {{ $type.Name }}_{{ ToCamelCase $value }} + {{- end }} +{{- end }} + _ -> Nothing + +{{ lowerFirst .Name }}_enc :: {{ .Name }} -> String +{{ lowerFirst .Name }}_enc = case _ of +{{- range $value := .Values }} + {{- if eq $value "" }} + {{ $type.Name }}_Empty -> "" + {{- else }} + {{ $type.Name }}_{{ ToCamelCase $value }} -> "{{ $value }}" + {{- end }} +{{- end }} + +{{ lowerFirst .Name }}Codec :: CJ.Codec {{ .Name }} +{{ lowerFirst .Name }}Codec = CJ.prismaticCodec "{{ .Name }}" {{ lowerFirst .Name }}_dec {{ lowerFirst .Name }}_enc CJ.string +{{- end }} + +{{- define "renderAlias" -}} +{{- if hasValidDescription .Alias.Schema.Schema.Description }} +-- | {{ .Alias.Schema.Schema.Description }} +{{- end }} +newtype {{ .Name }} = {{ .Name }} {{ .Alias.Name }} + +derive instance Newtype {{ .Name }} _ +derive instance Generic {{ .Name }} _ +derive instance Eq {{ .Name }} + +instance Show {{ .Name }} where + show x = genericShow x + +{{ lowerFirst .Name }}Codec :: CJ.Codec {{ .Name }} +{{ lowerFirst .Name }}Codec = dimap unwrap wrap {{ template "codecForType" .Alias }} +{{- end }} + +{{- define "codecForType" -}} +{{- if eq .Name "String" -}} +CJ.string +{{- else if eq .Name "Int" -}} +CJ.int +{{- else if eq .Name "Number" -}} +CJ.number +{{- else if eq .Name "Boolean" -}} +CJ.boolean +{{- else if eq .Name "Blob" -}} +CJ.string -- Blob as base64 string +{{- else if eq .Name "Array Blob" -}} +(CJ.array CJ.string) -- Blob as base64 string +{{- else if HasPrefix .Name "Array " -}} +(CJ.array {{ template "codecForType" .Item }}) +{{- else if eq .Name "Unit" -}} +CJ.null +{{- else if eq .Name "J.JObject" -}} +CJ.jobject +{{- else -}} +{{ lowerFirst .Name }}Codec +{{- end -}} +{{- end }}