diff --git a/apps/recorder/src/auth/middleware.rs b/apps/recorder/src/auth/middleware.rs index 3b12b0e..540f49e 100644 --- a/apps/recorder/src/auth/middleware.rs +++ b/apps/recorder/src/auth/middleware.rs @@ -9,7 +9,7 @@ use axum::{ use crate::{app::AppContextTrait, auth::AuthServiceTrait}; -pub async fn header_www_authenticate_middleware( +pub async fn auth_middleware( State(ctx): State>, request: Request, next: Next, diff --git a/apps/recorder/src/auth/mod.rs b/apps/recorder/src/auth/mod.rs index ce464e7..b431b37 100644 --- a/apps/recorder/src/auth/mod.rs +++ b/apps/recorder/src/auth/mod.rs @@ -7,5 +7,5 @@ pub mod service; pub use config::{AuthConfig, BasicAuthConfig, OidcAuthConfig}; pub use errors::AuthError; -pub use middleware::header_www_authenticate_middleware; +pub use middleware::auth_middleware; pub use service::{AuthService, AuthServiceTrait, AuthUserInfo}; diff --git a/apps/recorder/src/web/controller/graphql/mod.rs b/apps/recorder/src/web/controller/graphql/mod.rs index c068fd3..dc501c6 100644 --- a/apps/recorder/src/web/controller/graphql/mod.rs +++ b/apps/recorder/src/web/controller/graphql/mod.rs @@ -5,8 +5,8 @@ use axum::{Extension, Router, extract::State, middleware::from_fn_with_state, ro use super::core::Controller; use crate::{ - app::AppContextTrait, - auth::{AuthUserInfo, header_www_authenticate_middleware}, + app::{AppContextTrait, Environment}, + auth::{AuthUserInfo, auth_middleware}, errors::RecorderResult, }; @@ -25,9 +25,51 @@ async fn graphql_handler( graphql_service.schema.execute(req).await.into() } +// 检查是否是 introspection 查询 +fn is_introspection_query(req: &async_graphql::Request) -> bool { + if let Some(operation) = &req.operation_name { + if operation.starts_with("__") { + return true; + } + } + + // 检查查询内容是否包含 introspection 字段 + let query = req.query.as_str(); + query.contains("__schema") || query.contains("__type") || query.contains("__typename") +} + +async fn graphql_introspection_handler( + State(ctx): State>, + req: GraphQLRequest, +) -> GraphQLResponse { + let graphql_service = ctx.graphql(); + let req = req.into_inner(); + + if !is_introspection_query(&req) { + return GraphQLResponse::from(async_graphql::Response::from_errors(vec![ + async_graphql::ServerError::new( + "Only introspection queries are allowed on this endpoint", + None, + ), + ])); + } + + graphql_service.schema.execute(req).await.into() +} + pub async fn create(ctx: Arc) -> RecorderResult { + let mut introspection_handler = post(graphql_introspection_handler); + + if !matches!(ctx.environment(), Environment::Development) { + introspection_handler = + introspection_handler.layer(from_fn_with_state(ctx.clone(), auth_middleware)); + } + let router = Router::>::new() - .route("/", post(graphql_handler)) - .layer(from_fn_with_state(ctx, header_www_authenticate_middleware)); + .route( + "/", + post(graphql_handler).layer(from_fn_with_state(ctx, auth_middleware)), + ) + .route("/introspection", introspection_handler); Ok(Controller::from_prefix(CONTROLLER_PREFIX, router)) } diff --git a/apps/webui/graphql-codegen.ts b/apps/webui/graphql-codegen.ts new file mode 100644 index 0000000..f0112eb --- /dev/null +++ b/apps/webui/graphql-codegen.ts @@ -0,0 +1,17 @@ +import type { CodegenConfig } from '@graphql-codegen/cli'; + +const config: CodegenConfig = { + schema: 'http://127.0.0.1:5001/api/graphql/introspection', + documents: ['src/**/*.{ts,tsx}'], + generates: { + './src/infra/graphql/gql/': { + plugins: [], + preset: 'client', + presetConfig: { + gqlTagName: 'gql', + }, + }, + }, +}; + +export default config; diff --git a/apps/webui/package.json b/apps/webui/package.json index eee895f..8679bb9 100644 --- a/apps/webui/package.json +++ b/apps/webui/package.json @@ -6,7 +6,9 @@ "scripts": { "build": "rsbuild build", "dev": "rsbuild dev", - "preview": "rsbuild preview" + "preview": "rsbuild preview", + "codegen": "graphql-codegen --config graphql-codegen.ts", + "codegen-watch": "graphql-codegen --config graphql-codegen.ts --watch" }, "dependencies": { "@abraham/reflection": "^0.13.0", @@ -45,6 +47,7 @@ "@radix-ui/react-toggle-group": "^1.1.9", "@radix-ui/react-tooltip": "^1.2.6", "@rsbuild/plugin-react": "^1.2.0", + "@tanstack/react-query": "^5.75.6", "@tanstack/react-router": "^1.112.13", "@tanstack/router-devtools": "^1.112.13", "arktype": "^2.1.6", @@ -59,11 +62,10 @@ "input-otp": "^1.4.2", "jotai": "^2.12.3", "jotai-signal": "^0.9.0", - "lucide-react": "^0.508.0", - "next-themes": "^0.4.6", + "lucide-react": "^0.509.0", "oidc-client-rx": "0.1.0-alpha.9", "react": "^19.1.0", - "react-day-picker": "8.10.1", + "react-day-picker": "9.6.0", "react-dom": "^19.1.0", "react-hook-form": "^7.56.3", "react-resizable-panels": "^3.0.1", @@ -78,6 +80,10 @@ "zod": "^3.24.4" }, "devDependencies": { + "@graphql-codegen/cli": "^5.0.6", + "@graphql-codegen/client-preset": "^4.8.1", + "@graphql-codegen/typescript": "^4.1.6", + "@graphql-typed-document-node/core": "^3.2.0", "@rsbuild/core": "^1.2.15", "@tailwindcss/postcss": "^4.0.9", "@tanstack/react-router": "^1.112.0", diff --git a/apps/webui/src/infra/graphql/gql/fragment-masking.ts b/apps/webui/src/infra/graphql/gql/fragment-masking.ts new file mode 100644 index 0000000..16e441b --- /dev/null +++ b/apps/webui/src/infra/graphql/gql/fragment-masking.ts @@ -0,0 +1,110 @@ +/* eslint-disable */ +import type { + DocumentTypeDecoration, + ResultOf, + TypedDocumentNode, +} from '@graphql-typed-document-node/core'; +import type { FragmentDefinitionNode } from 'graphql'; +import type { Incremental } from './graphql'; + +export type FragmentType< + TDocumentType extends DocumentTypeDecoration, +> = TDocumentType extends DocumentTypeDecoration + ? [TType] extends [{ ' $fragmentName'?: infer TKey }] + ? TKey extends string + ? { ' $fragmentRefs'?: { [key in TKey]: TType } } + : never + : never + : never; + +// return non-nullable if `fragmentType` is non-nullable +export function useFragment( + _documentNode: DocumentTypeDecoration, + fragmentType: FragmentType> +): TType; +// return nullable if `fragmentType` is undefined +export function useFragment( + _documentNode: DocumentTypeDecoration, + fragmentType: FragmentType> | undefined +): TType | undefined; +// return nullable if `fragmentType` is nullable +export function useFragment( + _documentNode: DocumentTypeDecoration, + fragmentType: FragmentType> | null +): TType | null; +// return nullable if `fragmentType` is nullable or undefined +export function useFragment( + _documentNode: DocumentTypeDecoration, + fragmentType: + | FragmentType> + | null + | undefined +): TType | null | undefined; +// return array of non-nullable if `fragmentType` is array of non-nullable +export function useFragment( + _documentNode: DocumentTypeDecoration, + fragmentType: Array>> +): Array; +// return array of nullable if `fragmentType` is array of nullable +export function useFragment( + _documentNode: DocumentTypeDecoration, + fragmentType: + | Array>> + | null + | undefined +): Array | null | undefined; +// return readonly array of non-nullable if `fragmentType` is array of non-nullable +export function useFragment( + _documentNode: DocumentTypeDecoration, + fragmentType: ReadonlyArray>> +): ReadonlyArray; +// return readonly array of nullable if `fragmentType` is array of nullable +export function useFragment( + _documentNode: DocumentTypeDecoration, + fragmentType: + | ReadonlyArray>> + | null + | undefined +): ReadonlyArray | null | undefined; +export function useFragment( + _documentNode: DocumentTypeDecoration, + fragmentType: + | FragmentType> + | Array>> + | ReadonlyArray>> + | null + | undefined +): TType | Array | ReadonlyArray | null | undefined { + return fragmentType as any; +} + +export function makeFragmentData< + F extends DocumentTypeDecoration, + FT extends ResultOf, +>(data: FT, _fragment: F): FragmentType { + return data as FragmentType; +} +export function isFragmentReady( + queryNode: DocumentTypeDecoration, + fragmentNode: TypedDocumentNode, + data: + | FragmentType, any>> + | null + | undefined +): data is FragmentType { + const deferredFields = ( + queryNode as { + __meta__?: { deferredFields: Record }; + } + ).__meta__?.deferredFields; + + if (!deferredFields) return true; + + const fragDef = fragmentNode.definitions[0] as + | FragmentDefinitionNode + | undefined; + const fragName = fragDef?.name?.value; + + const fields = (fragName && deferredFields[fragName]) || []; + return fields.length > 0 && fields.every((field) => data && field in data); +} diff --git a/apps/webui/src/infra/graphql/gql/gql.ts b/apps/webui/src/infra/graphql/gql/gql.ts new file mode 100644 index 0000000..a9291bb --- /dev/null +++ b/apps/webui/src/infra/graphql/gql/gql.ts @@ -0,0 +1,59 @@ +import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; +/* eslint-disable */ +import * as types from './graphql'; + +/** + * Map of all GraphQL operations in the project. + * + * This map has several performance disadvantages: + * 1. It is not tree-shakeable, so it will include all operations in the project. + * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle. + * 3. It does not support dead code elimination, so it will add unused operations. + * + * Therefore it is highly recommended to use the babel or swc plugin for production. + * Learn more about it here: https://the-guild.dev/graphql/codegen/plugins/presets/preset-client#reducing-bundle-size + */ +type Documents = { + '\n mutation CreateSubscription($input: SubscriptionsInsertInput!) {\n subscriptionsCreateOne(data: $input) {\n id\n displayName\n sourceUrl\n enabled\n category\n subscriberId\n }\n }\n': typeof types.CreateSubscriptionDocument; + '\n query GetSubscriptions($page: Int!, $pageSize: Int!) {\n subscriptions(\n pagination: {\n page: {\n page: $page,\n limit: $pageSize\n }\n }\n ) {\n nodes {\n id\n displayName\n category\n enabled\n bangumi {\n nodes {\n id\n displayName\n posterLink\n season\n fansub\n homepage\n }\n }\n }\n }\n }\n': typeof types.GetSubscriptionsDocument; +}; +const documents: Documents = { + '\n mutation CreateSubscription($input: SubscriptionsInsertInput!) {\n subscriptionsCreateOne(data: $input) {\n id\n displayName\n sourceUrl\n enabled\n category\n subscriberId\n }\n }\n': + types.CreateSubscriptionDocument, + '\n query GetSubscriptions($page: Int!, $pageSize: Int!) {\n subscriptions(\n pagination: {\n page: {\n page: $page,\n limit: $pageSize\n }\n }\n ) {\n nodes {\n id\n displayName\n category\n enabled\n bangumi {\n nodes {\n id\n displayName\n posterLink\n season\n fansub\n homepage\n }\n }\n }\n }\n }\n': + types.GetSubscriptionsDocument, +}; + +/** + * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + * + * + * @example + * ```ts + * const query = gql(`query GetUser($id: ID!) { user(id: $id) { name } }`); + * ``` + * + * The query argument is unknown! + * Please regenerate the types. + */ +export function gql(source: string): unknown; + +/** + * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function gql( + source: '\n mutation CreateSubscription($input: SubscriptionsInsertInput!) {\n subscriptionsCreateOne(data: $input) {\n id\n displayName\n sourceUrl\n enabled\n category\n subscriberId\n }\n }\n' +): (typeof documents)['\n mutation CreateSubscription($input: SubscriptionsInsertInput!) {\n subscriptionsCreateOne(data: $input) {\n id\n displayName\n sourceUrl\n enabled\n category\n subscriberId\n }\n }\n']; +/** + * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function gql( + source: '\n query GetSubscriptions($page: Int!, $pageSize: Int!) {\n subscriptions(\n pagination: {\n page: {\n page: $page,\n limit: $pageSize\n }\n }\n ) {\n nodes {\n id\n displayName\n category\n enabled\n bangumi {\n nodes {\n id\n displayName\n posterLink\n season\n fansub\n homepage\n }\n }\n }\n }\n }\n' +): (typeof documents)['\n query GetSubscriptions($page: Int!, $pageSize: Int!) {\n subscriptions(\n pagination: {\n page: {\n page: $page,\n limit: $pageSize\n }\n }\n ) {\n nodes {\n id\n displayName\n category\n enabled\n bangumi {\n nodes {\n id\n displayName\n posterLink\n season\n fansub\n homepage\n }\n }\n }\n }\n }\n']; + +export function gql(source: string) { + return (documents as any)[source] ?? {}; +} + +export type DocumentType> = + TDocumentNode extends DocumentNode ? TType : never; diff --git a/apps/webui/src/infra/graphql/gql/graphql.ts b/apps/webui/src/infra/graphql/gql/graphql.ts new file mode 100644 index 0000000..c3e83b8 --- /dev/null +++ b/apps/webui/src/infra/graphql/gql/graphql.ts @@ -0,0 +1,1538 @@ +/* eslint-disable */ +import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; +export type Maybe = T | null; +export type InputMaybe = Maybe; +export type Exact = { + [K in keyof T]: T[K]; +}; +export type MakeOptional = Omit & { + [SubKey in K]?: Maybe; +}; +export type MakeMaybe = Omit & { + [SubKey in K]: Maybe; +}; +export type MakeEmpty< + T extends { [key: string]: unknown }, + K extends keyof T, +> = { [_ in K]?: never }; +export type Incremental = + | T + | { + [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never; + }; +/** All built-in and custom scalars, mapped to their actual values */ +export type Scalars = { + ID: { input: string; output: string }; + String: { input: string; output: string }; + Boolean: { input: boolean; output: boolean }; + Int: { input: number; output: number }; + Float: { input: number; output: number }; +}; + +export type Bangumi = { + __typename?: 'Bangumi'; + createdAt: Scalars['String']['output']; + deleted: Scalars['Boolean']['output']; + displayName: Scalars['String']['output']; + episode: EpisodesConnection; + fansub?: Maybe; + homepage?: Maybe; + id: Scalars['Int']['output']; + mikanBangumiId?: Maybe; + mikanFansubId?: Maybe; + posterLink?: Maybe; + rawName: Scalars['String']['output']; + rssLink?: Maybe; + savePath?: Maybe; + season: Scalars['Int']['output']; + seasonRaw?: Maybe; + subscriber?: Maybe; + subscriberId: Scalars['Int']['output']; + subscription: SubscriptionsConnection; + subscriptionBangumi: SubscriptionBangumiConnection; + updatedAt: Scalars['String']['output']; +}; + +export type BangumiEpisodeArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type BangumiSubscriptionArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type BangumiSubscriptionBangumiArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type BangumiBasic = { + __typename?: 'BangumiBasic'; + createdAt: Scalars['String']['output']; + deleted: Scalars['Boolean']['output']; + displayName: Scalars['String']['output']; + fansub?: Maybe; + homepage?: Maybe; + id: Scalars['Int']['output']; + mikanBangumiId?: Maybe; + mikanFansubId?: Maybe; + posterLink?: Maybe; + rawName: Scalars['String']['output']; + rssLink?: Maybe; + savePath?: Maybe; + season: Scalars['Int']['output']; + seasonRaw?: Maybe; + subscriberId: Scalars['Int']['output']; + updatedAt: Scalars['String']['output']; +}; + +export type BangumiConnection = { + __typename?: 'BangumiConnection'; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + paginationInfo?: Maybe; +}; + +export type BangumiEdge = { + __typename?: 'BangumiEdge'; + cursor: Scalars['String']['output']; + node: Bangumi; +}; + +export type BangumiFilterInput = { + and?: InputMaybe>; + createdAt?: InputMaybe; + deleted?: InputMaybe; + displayName?: InputMaybe; + fansub?: InputMaybe; + homepage?: InputMaybe; + id?: InputMaybe; + mikanBangumiId?: InputMaybe; + mikanFansubId?: InputMaybe; + or?: InputMaybe>; + posterLink?: InputMaybe; + rawName?: InputMaybe; + rssLink?: InputMaybe; + savePath?: InputMaybe; + season?: InputMaybe; + seasonRaw?: InputMaybe; + subscriberId?: InputMaybe; + updatedAt?: InputMaybe; +}; + +export type BangumiInsertInput = { + createdAt?: InputMaybe; + deleted: Scalars['Boolean']['input']; + displayName: Scalars['String']['input']; + fansub?: InputMaybe; + homepage?: InputMaybe; + id?: InputMaybe; + mikanBangumiId?: InputMaybe; + mikanFansubId?: InputMaybe; + posterLink?: InputMaybe; + rawName: Scalars['String']['input']; + rssLink?: InputMaybe; + savePath?: InputMaybe; + season: Scalars['Int']['input']; + seasonRaw?: InputMaybe; + updatedAt?: InputMaybe; +}; + +export type BangumiOrderInput = { + createdAt?: InputMaybe; + deleted?: InputMaybe; + displayName?: InputMaybe; + extra?: InputMaybe; + fansub?: InputMaybe; + filter?: InputMaybe; + homepage?: InputMaybe; + id?: InputMaybe; + mikanBangumiId?: InputMaybe; + mikanFansubId?: InputMaybe; + posterLink?: InputMaybe; + rawName?: InputMaybe; + rssLink?: InputMaybe; + savePath?: InputMaybe; + season?: InputMaybe; + seasonRaw?: InputMaybe; + subscriberId?: InputMaybe; + updatedAt?: InputMaybe; +}; + +export type BangumiUpdateInput = { + createdAt?: InputMaybe; + deleted?: InputMaybe; + displayName?: InputMaybe; + fansub?: InputMaybe; + homepage?: InputMaybe; + id?: InputMaybe; + mikanBangumiId?: InputMaybe; + mikanFansubId?: InputMaybe; + posterLink?: InputMaybe; + rawName?: InputMaybe; + rssLink?: InputMaybe; + savePath?: InputMaybe; + season?: InputMaybe; + seasonRaw?: InputMaybe; + updatedAt?: InputMaybe; +}; + +export type BooleanFilterInput = { + eq?: InputMaybe; + gt?: InputMaybe; + gte?: InputMaybe; + is_in?: InputMaybe>; + is_not_in?: InputMaybe>; + is_not_null?: InputMaybe; + is_null?: InputMaybe; + lt?: InputMaybe; + lte?: InputMaybe; + ne?: InputMaybe; +}; + +export type CursorInput = { + cursor?: InputMaybe; + limit: Scalars['Int']['input']; +}; + +export enum DownloadMimeEnum { + Applicationoctetstream = 'applicationoctetstream', + Applicationxbittorrent = 'applicationxbittorrent', +} + +export type DownloadMimeEnumFilterInput = { + eq?: InputMaybe; + gt?: InputMaybe; + gte?: InputMaybe; + is_in?: InputMaybe>; + is_not_in?: InputMaybe>; + is_not_null?: InputMaybe; + is_null?: InputMaybe; + lt?: InputMaybe; + lte?: InputMaybe; + ne?: InputMaybe; +}; + +export enum DownloadStatusEnum { + Completed = 'completed', + Deleted = 'deleted', + Downloading = 'downloading', + Failed = 'failed', + Paused = 'paused', + Pending = 'pending', +} + +export type DownloadStatusEnumFilterInput = { + eq?: InputMaybe; + gt?: InputMaybe; + gte?: InputMaybe; + is_in?: InputMaybe>; + is_not_in?: InputMaybe>; + is_not_null?: InputMaybe; + is_null?: InputMaybe; + lt?: InputMaybe; + lte?: InputMaybe; + ne?: InputMaybe; +}; + +export enum DownloaderCategoryEnum { + Dandanplay = 'dandanplay', + Qbittorrent = 'qbittorrent', +} + +export type DownloaderCategoryEnumFilterInput = { + eq?: InputMaybe; + gt?: InputMaybe; + gte?: InputMaybe; + is_in?: InputMaybe>; + is_not_in?: InputMaybe>; + is_not_null?: InputMaybe; + is_null?: InputMaybe; + lt?: InputMaybe; + lte?: InputMaybe; + ne?: InputMaybe; +}; + +export type Downloaders = { + __typename?: 'Downloaders'; + category: DownloaderCategoryEnum; + createdAt: Scalars['String']['output']; + download: DownloadsConnection; + endpoint: Scalars['String']['output']; + id: Scalars['Int']['output']; + password: Scalars['String']['output']; + savePath: Scalars['String']['output']; + subscriber?: Maybe; + subscriberId: Scalars['Int']['output']; + updatedAt: Scalars['String']['output']; + username: Scalars['String']['output']; +}; + +export type DownloadersDownloadArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type DownloadersBasic = { + __typename?: 'DownloadersBasic'; + category: DownloaderCategoryEnum; + createdAt: Scalars['String']['output']; + endpoint: Scalars['String']['output']; + id: Scalars['Int']['output']; + password: Scalars['String']['output']; + savePath: Scalars['String']['output']; + subscriberId: Scalars['Int']['output']; + updatedAt: Scalars['String']['output']; + username: Scalars['String']['output']; +}; + +export type DownloadersConnection = { + __typename?: 'DownloadersConnection'; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + paginationInfo?: Maybe; +}; + +export type DownloadersEdge = { + __typename?: 'DownloadersEdge'; + cursor: Scalars['String']['output']; + node: Downloaders; +}; + +export type DownloadersFilterInput = { + and?: InputMaybe>; + category?: InputMaybe; + createdAt?: InputMaybe; + endpoint?: InputMaybe; + id?: InputMaybe; + or?: InputMaybe>; + password?: InputMaybe; + savePath?: InputMaybe; + subscriberId?: InputMaybe; + updatedAt?: InputMaybe; + username?: InputMaybe; +}; + +export type DownloadersInsertInput = { + category: DownloaderCategoryEnum; + createdAt?: InputMaybe; + endpoint: Scalars['String']['input']; + id?: InputMaybe; + password: Scalars['String']['input']; + savePath: Scalars['String']['input']; + updatedAt?: InputMaybe; + username: Scalars['String']['input']; +}; + +export type DownloadersOrderInput = { + category?: InputMaybe; + createdAt?: InputMaybe; + endpoint?: InputMaybe; + id?: InputMaybe; + password?: InputMaybe; + savePath?: InputMaybe; + subscriberId?: InputMaybe; + updatedAt?: InputMaybe; + username?: InputMaybe; +}; + +export type DownloadersUpdateInput = { + category?: InputMaybe; + createdAt?: InputMaybe; + endpoint?: InputMaybe; + id?: InputMaybe; + password?: InputMaybe; + savePath?: InputMaybe; + updatedAt?: InputMaybe; + username?: InputMaybe; +}; + +export type Downloads = { + __typename?: 'Downloads'; + allSize?: Maybe; + createdAt: Scalars['String']['output']; + currSize?: Maybe; + displayName: Scalars['String']['output']; + downloader?: Maybe; + downloaderId: Scalars['Int']['output']; + episode?: Maybe; + episodeId: Scalars['Int']['output']; + homepage?: Maybe; + id: Scalars['Int']['output']; + mime: DownloadMimeEnum; + rawName: Scalars['String']['output']; + savePath?: Maybe; + status: DownloadStatusEnum; + subscriber?: Maybe; + subscriberId: Scalars['Int']['output']; + updatedAt: Scalars['String']['output']; + url: Scalars['String']['output']; +}; + +export type DownloadsBasic = { + __typename?: 'DownloadsBasic'; + allSize?: Maybe; + createdAt: Scalars['String']['output']; + currSize?: Maybe; + displayName: Scalars['String']['output']; + downloaderId: Scalars['Int']['output']; + episodeId: Scalars['Int']['output']; + homepage?: Maybe; + id: Scalars['Int']['output']; + mime: DownloadMimeEnum; + rawName: Scalars['String']['output']; + savePath?: Maybe; + status: DownloadStatusEnum; + subscriberId: Scalars['Int']['output']; + updatedAt: Scalars['String']['output']; + url: Scalars['String']['output']; +}; + +export type DownloadsConnection = { + __typename?: 'DownloadsConnection'; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + paginationInfo?: Maybe; +}; + +export type DownloadsEdge = { + __typename?: 'DownloadsEdge'; + cursor: Scalars['String']['output']; + node: Downloads; +}; + +export type DownloadsFilterInput = { + allSize?: InputMaybe; + and?: InputMaybe>; + createdAt?: InputMaybe; + currSize?: InputMaybe; + displayName?: InputMaybe; + downloaderId?: InputMaybe; + episodeId?: InputMaybe; + homepage?: InputMaybe; + id?: InputMaybe; + mime?: InputMaybe; + or?: InputMaybe>; + rawName?: InputMaybe; + savePath?: InputMaybe; + status?: InputMaybe; + subscriberId?: InputMaybe; + updatedAt?: InputMaybe; + url?: InputMaybe; +}; + +export type DownloadsInsertInput = { + allSize?: InputMaybe; + createdAt?: InputMaybe; + currSize?: InputMaybe; + displayName: Scalars['String']['input']; + downloaderId: Scalars['Int']['input']; + episodeId: Scalars['Int']['input']; + homepage?: InputMaybe; + id?: InputMaybe; + mime: DownloadMimeEnum; + rawName: Scalars['String']['input']; + savePath?: InputMaybe; + status: DownloadStatusEnum; + updatedAt?: InputMaybe; + url: Scalars['String']['input']; +}; + +export type DownloadsOrderInput = { + allSize?: InputMaybe; + createdAt?: InputMaybe; + currSize?: InputMaybe; + displayName?: InputMaybe; + downloaderId?: InputMaybe; + episodeId?: InputMaybe; + homepage?: InputMaybe; + id?: InputMaybe; + mime?: InputMaybe; + rawName?: InputMaybe; + savePath?: InputMaybe; + status?: InputMaybe; + subscriberId?: InputMaybe; + updatedAt?: InputMaybe; + url?: InputMaybe; +}; + +export type DownloadsUpdateInput = { + allSize?: InputMaybe; + createdAt?: InputMaybe; + currSize?: InputMaybe; + displayName?: InputMaybe; + downloaderId?: InputMaybe; + episodeId?: InputMaybe; + homepage?: InputMaybe; + id?: InputMaybe; + mime?: InputMaybe; + rawName?: InputMaybe; + savePath?: InputMaybe; + status?: InputMaybe; + updatedAt?: InputMaybe; + url?: InputMaybe; +}; + +export type Episodes = { + __typename?: 'Episodes'; + bangumi?: Maybe; + bangumiId: Scalars['Int']['output']; + createdAt: Scalars['String']['output']; + deleted: Scalars['Boolean']['output']; + displayName: Scalars['String']['output']; + download: SubscriptionsConnection; + episodeIndex: Scalars['Int']['output']; + fansub?: Maybe; + homepage?: Maybe; + id: Scalars['Int']['output']; + mikanEpisodeId?: Maybe; + posterLink?: Maybe; + rawName: Scalars['String']['output']; + resolution?: Maybe; + savePath?: Maybe; + season: Scalars['Int']['output']; + seasonRaw?: Maybe; + source?: Maybe; + subscriber?: Maybe; + subscriberId: Scalars['Int']['output']; + subscription: DownloadsConnection; + subscriptionEpisode: SubscriptionEpisodeConnection; + subtitle?: Maybe; + updatedAt: Scalars['String']['output']; +}; + +export type EpisodesDownloadArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type EpisodesSubscriptionArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type EpisodesSubscriptionEpisodeArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type EpisodesBasic = { + __typename?: 'EpisodesBasic'; + bangumiId: Scalars['Int']['output']; + createdAt: Scalars['String']['output']; + deleted: Scalars['Boolean']['output']; + displayName: Scalars['String']['output']; + episodeIndex: Scalars['Int']['output']; + fansub?: Maybe; + homepage?: Maybe; + id: Scalars['Int']['output']; + mikanEpisodeId?: Maybe; + posterLink?: Maybe; + rawName: Scalars['String']['output']; + resolution?: Maybe; + savePath?: Maybe; + season: Scalars['Int']['output']; + seasonRaw?: Maybe; + source?: Maybe; + subscriberId: Scalars['Int']['output']; + subtitle?: Maybe; + updatedAt: Scalars['String']['output']; +}; + +export type EpisodesConnection = { + __typename?: 'EpisodesConnection'; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + paginationInfo?: Maybe; +}; + +export type EpisodesEdge = { + __typename?: 'EpisodesEdge'; + cursor: Scalars['String']['output']; + node: Episodes; +}; + +export type EpisodesFilterInput = { + and?: InputMaybe>; + bangumiId?: InputMaybe; + createdAt?: InputMaybe; + deleted?: InputMaybe; + displayName?: InputMaybe; + episodeIndex?: InputMaybe; + fansub?: InputMaybe; + homepage?: InputMaybe; + id?: InputMaybe; + mikanEpisodeId?: InputMaybe; + or?: InputMaybe>; + posterLink?: InputMaybe; + rawName?: InputMaybe; + resolution?: InputMaybe; + savePath?: InputMaybe; + season?: InputMaybe; + seasonRaw?: InputMaybe; + source?: InputMaybe; + subscriberId?: InputMaybe; + subtitle?: InputMaybe; + updatedAt?: InputMaybe; +}; + +export type EpisodesInsertInput = { + bangumiId: Scalars['Int']['input']; + createdAt?: InputMaybe; + deleted: Scalars['Boolean']['input']; + displayName: Scalars['String']['input']; + episodeIndex: Scalars['Int']['input']; + fansub?: InputMaybe; + homepage?: InputMaybe; + id?: InputMaybe; + mikanEpisodeId?: InputMaybe; + posterLink?: InputMaybe; + rawName: Scalars['String']['input']; + resolution?: InputMaybe; + savePath?: InputMaybe; + season: Scalars['Int']['input']; + seasonRaw?: InputMaybe; + source?: InputMaybe; + subtitle?: InputMaybe; + updatedAt?: InputMaybe; +}; + +export type EpisodesOrderInput = { + bangumiId?: InputMaybe; + createdAt?: InputMaybe; + deleted?: InputMaybe; + displayName?: InputMaybe; + episodeIndex?: InputMaybe; + extra?: InputMaybe; + fansub?: InputMaybe; + homepage?: InputMaybe; + id?: InputMaybe; + mikanEpisodeId?: InputMaybe; + posterLink?: InputMaybe; + rawName?: InputMaybe; + resolution?: InputMaybe; + savePath?: InputMaybe; + season?: InputMaybe; + seasonRaw?: InputMaybe; + source?: InputMaybe; + subscriberId?: InputMaybe; + subtitle?: InputMaybe; + updatedAt?: InputMaybe; +}; + +export type EpisodesUpdateInput = { + bangumiId?: InputMaybe; + createdAt?: InputMaybe; + deleted?: InputMaybe; + displayName?: InputMaybe; + episodeIndex?: InputMaybe; + fansub?: InputMaybe; + homepage?: InputMaybe; + id?: InputMaybe; + mikanEpisodeId?: InputMaybe; + posterLink?: InputMaybe; + rawName?: InputMaybe; + resolution?: InputMaybe; + savePath?: InputMaybe; + season?: InputMaybe; + seasonRaw?: InputMaybe; + source?: InputMaybe; + subtitle?: InputMaybe; + updatedAt?: InputMaybe; +}; + +export type IntegerFilterInput = { + between?: InputMaybe>; + eq?: InputMaybe; + gt?: InputMaybe; + gte?: InputMaybe; + is_in?: InputMaybe>; + is_not_in?: InputMaybe>; + is_not_null?: InputMaybe; + is_null?: InputMaybe; + lt?: InputMaybe; + lte?: InputMaybe; + ne?: InputMaybe; + not_between?: InputMaybe>; +}; + +export type Mutation = { + __typename?: 'Mutation'; + _ping?: Maybe; + bangumiCreateBatch: Array; + bangumiCreateOne: BangumiBasic; + bangumiDelete: Scalars['Int']['output']; + bangumiUpdate: Array; + downloadersCreateBatch: Array; + downloadersCreateOne: DownloadersBasic; + downloadersDelete: Scalars['Int']['output']; + downloadersUpdate: Array; + downloadsCreateBatch: Array; + downloadsCreateOne: DownloadsBasic; + downloadsDelete: Scalars['Int']['output']; + downloadsUpdate: Array; + episodesCreateBatch: Array; + episodesCreateOne: EpisodesBasic; + episodesDelete: Scalars['Int']['output']; + episodesUpdate: Array; + subscriptionBangumiCreateBatch: Array; + subscriptionBangumiCreateOne: SubscriptionBangumiBasic; + subscriptionBangumiDelete: Scalars['Int']['output']; + subscriptionBangumiUpdate: Array; + subscriptionEpisodeCreateBatch: Array; + subscriptionEpisodeCreateOne: SubscriptionEpisodeBasic; + subscriptionEpisodeDelete: Scalars['Int']['output']; + subscriptionEpisodeUpdate: Array; + subscriptionsCreateBatch: Array; + subscriptionsCreateOne: SubscriptionsBasic; + subscriptionsDelete: Scalars['Int']['output']; + subscriptionsUpdate: Array; +}; + +export type MutationBangumiCreateBatchArgs = { + data: Array; +}; + +export type MutationBangumiCreateOneArgs = { + data: BangumiInsertInput; +}; + +export type MutationBangumiDeleteArgs = { + filter?: InputMaybe; +}; + +export type MutationBangumiUpdateArgs = { + data: BangumiUpdateInput; + filter?: InputMaybe; +}; + +export type MutationDownloadersCreateBatchArgs = { + data: Array; +}; + +export type MutationDownloadersCreateOneArgs = { + data: DownloadersInsertInput; +}; + +export type MutationDownloadersDeleteArgs = { + filter?: InputMaybe; +}; + +export type MutationDownloadersUpdateArgs = { + data: DownloadersUpdateInput; + filter?: InputMaybe; +}; + +export type MutationDownloadsCreateBatchArgs = { + data: Array; +}; + +export type MutationDownloadsCreateOneArgs = { + data: DownloadsInsertInput; +}; + +export type MutationDownloadsDeleteArgs = { + filter?: InputMaybe; +}; + +export type MutationDownloadsUpdateArgs = { + data: DownloadsUpdateInput; + filter?: InputMaybe; +}; + +export type MutationEpisodesCreateBatchArgs = { + data: Array; +}; + +export type MutationEpisodesCreateOneArgs = { + data: EpisodesInsertInput; +}; + +export type MutationEpisodesDeleteArgs = { + filter?: InputMaybe; +}; + +export type MutationEpisodesUpdateArgs = { + data: EpisodesUpdateInput; + filter?: InputMaybe; +}; + +export type MutationSubscriptionBangumiCreateBatchArgs = { + data: Array; +}; + +export type MutationSubscriptionBangumiCreateOneArgs = { + data: SubscriptionBangumiInsertInput; +}; + +export type MutationSubscriptionBangumiDeleteArgs = { + filter?: InputMaybe; +}; + +export type MutationSubscriptionBangumiUpdateArgs = { + data: SubscriptionBangumiUpdateInput; + filter?: InputMaybe; +}; + +export type MutationSubscriptionEpisodeCreateBatchArgs = { + data: Array; +}; + +export type MutationSubscriptionEpisodeCreateOneArgs = { + data: SubscriptionEpisodeInsertInput; +}; + +export type MutationSubscriptionEpisodeDeleteArgs = { + filter?: InputMaybe; +}; + +export type MutationSubscriptionEpisodeUpdateArgs = { + data: SubscriptionEpisodeUpdateInput; + filter?: InputMaybe; +}; + +export type MutationSubscriptionsCreateBatchArgs = { + data: Array; +}; + +export type MutationSubscriptionsCreateOneArgs = { + data: SubscriptionsInsertInput; +}; + +export type MutationSubscriptionsDeleteArgs = { + filter?: InputMaybe; +}; + +export type MutationSubscriptionsUpdateArgs = { + data: SubscriptionsUpdateInput; + filter?: InputMaybe; +}; + +export type OffsetInput = { + limit: Scalars['Int']['input']; + offset: Scalars['Int']['input']; +}; + +export enum OrderByEnum { + Asc = 'ASC', + Desc = 'DESC', +} + +export type PageInfo = { + __typename?: 'PageInfo'; + endCursor?: Maybe; + hasNextPage: Scalars['Boolean']['output']; + hasPreviousPage: Scalars['Boolean']['output']; + startCursor?: Maybe; +}; + +export type PageInput = { + limit: Scalars['Int']['input']; + page: Scalars['Int']['input']; +}; + +export type PaginationInfo = { + __typename?: 'PaginationInfo'; + current: Scalars['Int']['output']; + offset: Scalars['Int']['output']; + pages: Scalars['Int']['output']; + total: Scalars['Int']['output']; +}; + +export type PaginationInput = { + cursor?: InputMaybe; + offset?: InputMaybe; + page?: InputMaybe; +}; + +export type Query = { + __typename?: 'Query'; + _sea_orm_entity_metadata?: Maybe; + bangumi: BangumiConnection; + downloaders: DownloadersConnection; + downloads: DownloadsConnection; + episodes: EpisodesConnection; + subscribers: SubscribersConnection; + subscriptionBangumi: SubscriptionBangumiConnection; + subscriptionEpisode: SubscriptionEpisodeConnection; + subscriptions: SubscriptionsConnection; +}; + +export type Query_Sea_Orm_Entity_MetadataArgs = { + table_name: Scalars['String']['input']; +}; + +export type QueryBangumiArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type QueryDownloadersArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type QueryDownloadsArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type QueryEpisodesArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type QuerySubscribersArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type QuerySubscriptionBangumiArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type QuerySubscriptionEpisodeArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type QuerySubscriptionsArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type StringFilterInput = { + between?: InputMaybe>; + contains?: InputMaybe; + ends_with?: InputMaybe; + eq?: InputMaybe; + gt?: InputMaybe; + gte?: InputMaybe; + is_in?: InputMaybe>; + is_not_in?: InputMaybe>; + is_not_null?: InputMaybe; + is_null?: InputMaybe; + like?: InputMaybe; + lt?: InputMaybe; + lte?: InputMaybe; + ne?: InputMaybe; + not_between?: InputMaybe>; + not_like?: InputMaybe; + starts_with?: InputMaybe; +}; + +export type SubscriberIdFilterInput = { + eq?: InputMaybe; +}; + +export type Subscribers = { + __typename?: 'Subscribers'; + bangumi: BangumiConnection; + createdAt: Scalars['String']['output']; + displayName: Scalars['String']['output']; + downloader: DownloadersConnection; + episode: EpisodesConnection; + id: Scalars['Int']['output']; + subscription: SubscriptionsConnection; + updatedAt: Scalars['String']['output']; +}; + +export type SubscribersBangumiArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type SubscribersDownloaderArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type SubscribersEpisodeArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type SubscribersSubscriptionArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type SubscribersConnection = { + __typename?: 'SubscribersConnection'; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + paginationInfo?: Maybe; +}; + +export type SubscribersEdge = { + __typename?: 'SubscribersEdge'; + cursor: Scalars['String']['output']; + node: Subscribers; +}; + +export type SubscribersFilterInput = { + and?: InputMaybe>; + id?: InputMaybe; + or?: InputMaybe>; +}; + +export type SubscribersOrderInput = { + bangumiConf?: InputMaybe; + createdAt?: InputMaybe; + displayName?: InputMaybe; + id?: InputMaybe; + updatedAt?: InputMaybe; +}; + +export type SubscriptionBangumi = { + __typename?: 'SubscriptionBangumi'; + bangumi?: Maybe; + bangumiId: Scalars['Int']['output']; + id: Scalars['Int']['output']; + subscriberId: Scalars['Int']['output']; + subscription?: Maybe; + subscriptionId: Scalars['Int']['output']; +}; + +export type SubscriptionBangumiBasic = { + __typename?: 'SubscriptionBangumiBasic'; + bangumiId: Scalars['Int']['output']; + id: Scalars['Int']['output']; + subscriberId: Scalars['Int']['output']; + subscriptionId: Scalars['Int']['output']; +}; + +export type SubscriptionBangumiConnection = { + __typename?: 'SubscriptionBangumiConnection'; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + paginationInfo?: Maybe; +}; + +export type SubscriptionBangumiEdge = { + __typename?: 'SubscriptionBangumiEdge'; + cursor: Scalars['String']['output']; + node: SubscriptionBangumi; +}; + +export type SubscriptionBangumiFilterInput = { + and?: InputMaybe>; + bangumiId?: InputMaybe; + id?: InputMaybe; + or?: InputMaybe>; + subscriberId?: InputMaybe; + subscriptionId?: InputMaybe; +}; + +export type SubscriptionBangumiInsertInput = { + bangumiId: Scalars['Int']['input']; + id?: InputMaybe; + subscriptionId: Scalars['Int']['input']; +}; + +export type SubscriptionBangumiOrderInput = { + bangumiId?: InputMaybe; + id?: InputMaybe; + subscriberId?: InputMaybe; + subscriptionId?: InputMaybe; +}; + +export type SubscriptionBangumiUpdateInput = { + bangumiId?: InputMaybe; + id?: InputMaybe; + subscriptionId?: InputMaybe; +}; + +export enum SubscriptionCategoryEnum { + Manual = 'manual', + Mikan = 'mikan', +} + +export type SubscriptionCategoryEnumFilterInput = { + eq?: InputMaybe; + gt?: InputMaybe; + gte?: InputMaybe; + is_in?: InputMaybe>; + is_not_in?: InputMaybe>; + is_not_null?: InputMaybe; + is_null?: InputMaybe; + lt?: InputMaybe; + lte?: InputMaybe; + ne?: InputMaybe; +}; + +export type SubscriptionEpisode = { + __typename?: 'SubscriptionEpisode'; + episode?: Maybe; + episodeId: Scalars['Int']['output']; + id: Scalars['Int']['output']; + subscriberId: Scalars['Int']['output']; + subscription?: Maybe; + subscriptionId: Scalars['Int']['output']; +}; + +export type SubscriptionEpisodeBasic = { + __typename?: 'SubscriptionEpisodeBasic'; + episodeId: Scalars['Int']['output']; + id: Scalars['Int']['output']; + subscriberId: Scalars['Int']['output']; + subscriptionId: Scalars['Int']['output']; +}; + +export type SubscriptionEpisodeConnection = { + __typename?: 'SubscriptionEpisodeConnection'; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + paginationInfo?: Maybe; +}; + +export type SubscriptionEpisodeEdge = { + __typename?: 'SubscriptionEpisodeEdge'; + cursor: Scalars['String']['output']; + node: SubscriptionEpisode; +}; + +export type SubscriptionEpisodeFilterInput = { + and?: InputMaybe>; + episodeId?: InputMaybe; + id?: InputMaybe; + or?: InputMaybe>; + subscriberId?: InputMaybe; + subscriptionId?: InputMaybe; +}; + +export type SubscriptionEpisodeInsertInput = { + episodeId: Scalars['Int']['input']; + id?: InputMaybe; + subscriptionId: Scalars['Int']['input']; +}; + +export type SubscriptionEpisodeOrderInput = { + episodeId?: InputMaybe; + id?: InputMaybe; + subscriberId?: InputMaybe; + subscriptionId?: InputMaybe; +}; + +export type SubscriptionEpisodeUpdateInput = { + episodeId?: InputMaybe; + id?: InputMaybe; + subscriptionId?: InputMaybe; +}; + +export type Subscriptions = { + __typename?: 'Subscriptions'; + bangumi: BangumiConnection; + category: SubscriptionCategoryEnum; + createdAt: Scalars['String']['output']; + displayName: Scalars['String']['output']; + enabled: Scalars['Boolean']['output']; + episode: EpisodesConnection; + id: Scalars['Int']['output']; + sourceUrl: Scalars['String']['output']; + subscriber?: Maybe; + subscriberId: Scalars['Int']['output']; + subscriptionBangumi: SubscriptionBangumiConnection; + subscriptionEpisode: SubscriptionEpisodeConnection; + updatedAt: Scalars['String']['output']; +}; + +export type SubscriptionsBangumiArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type SubscriptionsEpisodeArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type SubscriptionsSubscriptionBangumiArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type SubscriptionsSubscriptionEpisodeArgs = { + filters?: InputMaybe; + orderBy?: InputMaybe; + pagination?: InputMaybe; +}; + +export type SubscriptionsBasic = { + __typename?: 'SubscriptionsBasic'; + category: SubscriptionCategoryEnum; + createdAt: Scalars['String']['output']; + displayName: Scalars['String']['output']; + enabled: Scalars['Boolean']['output']; + id: Scalars['Int']['output']; + sourceUrl: Scalars['String']['output']; + subscriberId: Scalars['Int']['output']; + updatedAt: Scalars['String']['output']; +}; + +export type SubscriptionsConnection = { + __typename?: 'SubscriptionsConnection'; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + paginationInfo?: Maybe; +}; + +export type SubscriptionsEdge = { + __typename?: 'SubscriptionsEdge'; + cursor: Scalars['String']['output']; + node: Subscriptions; +}; + +export type SubscriptionsFilterInput = { + and?: InputMaybe>; + category?: InputMaybe; + createdAt?: InputMaybe; + displayName?: InputMaybe; + enabled?: InputMaybe; + id?: InputMaybe; + or?: InputMaybe>; + sourceUrl?: InputMaybe; + subscriberId?: InputMaybe; + updatedAt?: InputMaybe; +}; + +export type SubscriptionsInsertInput = { + category: SubscriptionCategoryEnum; + createdAt?: InputMaybe; + displayName: Scalars['String']['input']; + enabled: Scalars['Boolean']['input']; + id?: InputMaybe; + sourceUrl: Scalars['String']['input']; + updatedAt?: InputMaybe; +}; + +export type SubscriptionsOrderInput = { + category?: InputMaybe; + createdAt?: InputMaybe; + displayName?: InputMaybe; + enabled?: InputMaybe; + id?: InputMaybe; + sourceUrl?: InputMaybe; + subscriberId?: InputMaybe; + updatedAt?: InputMaybe; +}; + +export type SubscriptionsUpdateInput = { + category?: InputMaybe; + createdAt?: InputMaybe; + displayName?: InputMaybe; + enabled?: InputMaybe; + id?: InputMaybe; + sourceUrl?: InputMaybe; + updatedAt?: InputMaybe; +}; + +export type TextFilterInput = { + between?: InputMaybe>; + eq?: InputMaybe; + gt?: InputMaybe; + gte?: InputMaybe; + is_in?: InputMaybe>; + is_not_in?: InputMaybe>; + is_not_null?: InputMaybe; + is_null?: InputMaybe; + lt?: InputMaybe; + lte?: InputMaybe; + ne?: InputMaybe; + not_between?: InputMaybe>; +}; + +export type CreateSubscriptionMutationVariables = Exact<{ + input: SubscriptionsInsertInput; +}>; + +export type CreateSubscriptionMutation = { + __typename?: 'Mutation'; + subscriptionsCreateOne: { + __typename?: 'SubscriptionsBasic'; + id: number; + displayName: string; + sourceUrl: string; + enabled: boolean; + category: SubscriptionCategoryEnum; + subscriberId: number; + }; +}; + +export type GetSubscriptionsQueryVariables = Exact<{ + page: Scalars['Int']['input']; + pageSize: Scalars['Int']['input']; +}>; + +export type GetSubscriptionsQuery = { + __typename?: 'Query'; + subscriptions: { + __typename?: 'SubscriptionsConnection'; + nodes: Array<{ + __typename?: 'Subscriptions'; + id: number; + displayName: string; + category: SubscriptionCategoryEnum; + enabled: boolean; + bangumi: { + __typename?: 'BangumiConnection'; + nodes: Array<{ + __typename?: 'Bangumi'; + id: number; + displayName: string; + posterLink?: string | null; + season: number; + fansub?: string | null; + homepage?: string | null; + }>; + }; + }>; + }; +}; + +export const CreateSubscriptionDocument = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'mutation', + name: { kind: 'Name', value: 'CreateSubscription' }, + variableDefinitions: [ + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'input' }, + }, + type: { + kind: 'NonNullType', + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'SubscriptionsInsertInput' }, + }, + }, + }, + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'subscriptionsCreateOne' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'data' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'input' }, + }, + }, + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } }, + { kind: 'Field', name: { kind: 'Name', value: 'displayName' } }, + { kind: 'Field', name: { kind: 'Name', value: 'sourceUrl' } }, + { kind: 'Field', name: { kind: 'Name', value: 'enabled' } }, + { kind: 'Field', name: { kind: 'Name', value: 'category' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'subscriberId' }, + }, + ], + }, + }, + ], + }, + }, + ], +} as unknown as DocumentNode< + CreateSubscriptionMutation, + CreateSubscriptionMutationVariables +>; +export const GetSubscriptionsDocument = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'query', + name: { kind: 'Name', value: 'GetSubscriptions' }, + variableDefinitions: [ + { + kind: 'VariableDefinition', + variable: { kind: 'Variable', name: { kind: 'Name', value: 'page' } }, + type: { + kind: 'NonNullType', + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } }, + }, + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'pageSize' }, + }, + type: { + kind: 'NonNullType', + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } }, + }, + }, + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'subscriptions' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'pagination' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'page' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'page' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'page' }, + }, + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'limit' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'pageSize' }, + }, + }, + ], + }, + }, + ], + }, + }, + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'nodes' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'displayName' }, + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'category' }, + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'enabled' }, + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'bangumi' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'nodes' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'id' }, + }, + { + kind: 'Field', + name: { + kind: 'Name', + value: 'displayName', + }, + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'posterLink' }, + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'season' }, + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'fansub' }, + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'homepage' }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + ], +} as unknown as DocumentNode< + GetSubscriptionsQuery, + GetSubscriptionsQueryVariables +>; diff --git a/apps/webui/src/infra/graphql/gql/index.ts b/apps/webui/src/infra/graphql/gql/index.ts new file mode 100644 index 0000000..c682b1e --- /dev/null +++ b/apps/webui/src/infra/graphql/gql/index.ts @@ -0,0 +1,2 @@ +export * from './fragment-masking'; +export * from './gql'; diff --git a/apps/webui/src/infra/styles/context.ts b/apps/webui/src/infra/styles/context.ts index f8c236a..9c8bdb9 100644 --- a/apps/webui/src/infra/styles/context.ts +++ b/apps/webui/src/infra/styles/context.ts @@ -1,3 +1,7 @@ +import type { Injector } from '@outposts/injection-js'; +import { atomWithObservable } from 'jotai/utils'; +import { useInjector } from 'oidc-client-rx/adapters/react'; +import { useMemo } from 'react'; import { ThemeService } from './theme.service'; export function provideStyles() { @@ -8,3 +12,37 @@ export function provideStyles() { }, ]; } + +export function themeContextFromInjector(injector: Injector) { + const themeService = injector.get(ThemeService); + const systemColorSchema$ = atomWithObservable( + () => themeService.systemColorSchema$ + ); + return { + themeService, + systemColorSchema$, + }; +} + +export function setupThemeContext(injector: Injector) { + const { themeService } = themeContextFromInjector(injector); + themeService.setup(); +} + +export function useTheme() { + const injector = useInjector(); + + const { themeService } = useMemo(() => { + return themeContextFromInjector(injector); + }, [injector]); + + const colorTheme = useMemo( + () => atomWithObservable(() => themeService.colorSchema$), + [themeService] + ); + + return { + themeService, + colorTheme, + }; +} diff --git a/apps/webui/src/infra/styles/theme.service.ts b/apps/webui/src/infra/styles/theme.service.ts index 713eb61..8d3810e 100644 --- a/apps/webui/src/infra/styles/theme.service.ts +++ b/apps/webui/src/infra/styles/theme.service.ts @@ -1,7 +1,17 @@ import { DOCUMENT } from '@/infra/platform/injection'; import { LocalStorageService } from '@/infra/storage/web-storage.service'; import { Injectable, inject } from '@outposts/injection-js'; - +import { + BehaviorSubject, + ReplaySubject, + combineLatest, + distinctUntilChanged, + filter, + fromEvent, + map, + shareReplay, + startWith, +} from 'rxjs'; export type PreferColorSchemaType = 'dark' | 'light' | 'system'; export type PreferColorSchemaClass = 'dark' | 'light'; @@ -9,6 +19,71 @@ export type PreferColorSchemaClass = 'dark' | 'light'; export class ThemeService { document = inject(DOCUMENT); localStorage = inject(LocalStorageService); + systemColorSchema$ = new BehaviorSubject(this.systemColorSchema); + storageColorSchema$ = new BehaviorSubject( + this.getColorSchemaType(this.localStorage.getItem('prefers-color-scheme')) + ); + colorSchema$ = new BehaviorSubject( + this.getColorSchemaByType( + this.storageColorSchema$.value, + this.systemColorSchema$.value + ) + ); + + setup() { + const mediaQuery = this.document.defaultView?.matchMedia( + '(prefers-color-scheme: dark)' + ); + + if (mediaQuery) { + fromEvent(mediaQuery, 'change') + .pipe( + map(() => (mediaQuery.matches ? 'dark' : 'light')), + startWith(this.systemColorSchema), + distinctUntilChanged() + ) + .subscribe(this.systemColorSchema$); + } + + if (this.document.defaultView?.localStorage) { + fromEvent(this.document.defaultView, 'storage') + .pipe( + filter( + (e): e is StorageEvent => + (e as StorageEvent)?.key === 'prefers-color-scheme' + ), + map((event) => this.getColorSchemaType(event.newValue)), + distinctUntilChanged() + ) + .subscribe(this.storageColorSchema$); + } + + combineLatest({ + system: this.systemColorSchema$, + storage: this.storageColorSchema$, + }) + .pipe( + map(({ system, storage }) => this.getColorSchemaByType(storage, system)) + ) + .subscribe(this.colorSchema$); + } + + private getColorSchemaType(themeType: string | null): PreferColorSchemaType { + if (themeType === 'dark' || themeType === 'light') { + return themeType as PreferColorSchemaType; + } + return 'system'; + } + + private getColorSchemaByType( + themeType: PreferColorSchemaType, + systemColorSchema: PreferColorSchemaClass + ): PreferColorSchemaClass { + if (themeType === 'dark' || themeType === 'light') { + return themeType; + } + return systemColorSchema; + } get systemColorSchema(): PreferColorSchemaClass { return this.document.defaultView?.matchMedia('(prefers-color-scheme: dark)') @@ -17,24 +92,16 @@ export class ThemeService { : 'light'; } - private getColorSchemaByType( - themeType: PreferColorSchemaType - ): PreferColorSchemaClass { - this.document.documentElement.classList.remove('dark', 'light'); - if (themeType === 'dark' || themeType === 'light') { - return themeType; - } - return this.systemColorSchema; - } - get colorSchema() { - const theme = this.localStorage.getItem('prefers-color-scheme'); - return this.getColorSchemaByType(theme as PreferColorSchemaType); + return this.colorSchema$.value; } set colorSchema(themeType: PreferColorSchemaType) { this.localStorage.setItem('prefers-color-scheme', themeType); - const themeClass = this.getColorSchemaByType(themeType); + const themeClass = this.getColorSchemaByType( + themeType, + this.systemColorSchema + ); this.document.documentElement.classList.remove('dark', 'light'); this.document.documentElement.classList.add(themeClass); } diff --git a/apps/webui/src/views/components/ui/sonner.tsx b/apps/webui/src/views/components/ui/sonner.tsx index cd62aff..6e258e5 100644 --- a/apps/webui/src/views/components/ui/sonner.tsx +++ b/apps/webui/src/views/components/ui/sonner.tsx @@ -1,23 +1,24 @@ -import { useTheme } from "next-themes" -import { Toaster as Sonner, ToasterProps } from "sonner" +import { useTheme } from "@/infra/styles/context"; +import { CSSProperties } from "react"; +import { Toaster as Sonner, ToasterProps } from "sonner"; const Toaster = ({ ...props }: ToasterProps) => { - const { theme = "system" } = useTheme() + const { colorTheme = "system" } = useTheme(); return ( - ) -} + ); +}; -export { Toaster } +export { Toaster }; diff --git a/apps/webui/src/views/routes/_app/subscriptions/create.tsx b/apps/webui/src/views/routes/_app/subscriptions/create.tsx index 2859f8e..07c0d31 100644 --- a/apps/webui/src/views/routes/_app/subscriptions/create.tsx +++ b/apps/webui/src/views/routes/_app/subscriptions/create.tsx @@ -56,7 +56,6 @@ const CREATE_SUBSCRIPTION_MUTATION = gql` sourceUrl enabled category - subscriberId } } `; diff --git a/apps/webui/src/views/routes/_app/subscriptions/manage.tsx b/apps/webui/src/views/routes/_app/subscriptions/manage.tsx index 5ca5080..2fe6912 100644 --- a/apps/webui/src/views/routes/_app/subscriptions/manage.tsx +++ b/apps/webui/src/views/routes/_app/subscriptions/manage.tsx @@ -1,13 +1,218 @@ +import type { GetSubscriptionsQuery } from '@/infra/graphql/gql/graphql'; import type { RouteStateDataOption } from '@/infra/routes/traits'; +import { Badge } from '@/views/components/ui/badge'; +import { Button } from '@/views/components/ui/button'; +import { + Card, + CardFooter, + CardHeader, + CardTitle, +} from '@/views/components/ui/card'; +import { + HoverCard, + HoverCardContent, + HoverCardTrigger, +} from '@/views/components/ui/hover-card'; +import { Image } from '@/views/components/ui/image'; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from '@/views/components/ui/select'; +import { useQuery } from '@apollo/client'; +import { gql } from '@apollo/client'; import { createFileRoute } from '@tanstack/react-router'; +import { useNavigate } from '@tanstack/react-router'; +import { useState } from 'react'; export const Route = createFileRoute('/_app/subscriptions/manage')({ - component: SubscriptionManage, + component: SubscriptionManageRouteComponent, staticData: { breadcrumb: { label: 'Manage' }, } satisfies RouteStateDataOption, }); -function SubscriptionManage() { - return
Hello "/subscriptions/manage"!
; +// GraphQL query +const GET_SUBSCRIPTIONS = gql` + query GetSubscriptions($page: Int!, $pageSize: Int!) { + subscriptions( + pagination: { + page: { + page: $page, + limit: $pageSize + } + } + ) { + nodes { + id + displayName + category + enabled + bangumi { + nodes { + id + displayName + posterLink + season + fansub + homepage + } + } + } + } + } +`; + +function SubscriptionManageRouteComponent() { + const navigate = useNavigate(); + const [page, setPage] = useState(1); + const [pageSize, setPageSize] = useState(10); + const [sortBy, setSortBy] = useState('createdAt'); + const [sortOrder, setSortOrder] = useState('desc'); + + const { loading, error, data } = useQuery( + GET_SUBSCRIPTIONS, + { + variables: { + page, + pageSize, + sortBy, + sortOrder, + }, + } + ); + + if (loading) { + return
Loading...
; + } + if (error) { + return
Error: {error.message}
; + } + + const { nodes: items } = data?.subscriptions ?? {}; + const totalPages = Math.ceil(total / pageSize); + + return ( +
+ {/* Filters and sorting controls */} +
+ + + + + +
+ + {/* Subscription list */} +
+ {items.map((subscription) => ( + + + +
+ {subscription.bangumi.displayName} +
+
+ + {subscription.bangumi.displayName} + +
+ + + + {subscription.bangumi.extra?.nameZh || + subscription.bangumi.displayName} + +
+ + {subscription.enabled ? 'Enabled' : 'Disabled'} + + + {subscription.bangumi.fansub || 'Unknown Group'} + +
+
+ + + + + +
+ ))} +
+ + {/* Pagination controls */} +
+ + + Page {page} of {totalPages} + + +
+
+ ); } diff --git a/justfile b/justfile index 573c2a2..591d146 100644 --- a/justfile +++ b/justfile @@ -21,5 +21,8 @@ dev-deps: dev-deps-clean: docker compose -f devdeps.compose.yaml down -v +dev-codegen: + pnpm run --filter=webui codegen + dev-all: zellij --layout dev.kdl \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d2c2754..32fb997 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -167,6 +167,9 @@ importers: '@rsbuild/plugin-react': specifier: ^1.2.0 version: 1.3.1(@rsbuild/core@1.3.17) + '@tanstack/react-query': + specifier: ^5.75.6 + version: 5.75.6(react@19.1.0) '@tanstack/react-router': specifier: ^1.112.13 version: 1.120.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -210,11 +213,8 @@ importers: specifier: ^0.9.0 version: 0.9.0(jotai@2.12.4(@types/react@19.1.3)(react@19.1.0))(react@19.1.0) lucide-react: - specifier: ^0.508.0 - version: 0.508.0(react@19.1.0) - next-themes: - specifier: ^0.4.6 - version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^0.509.0 + version: 0.509.0(react@19.1.0) oidc-client-rx: specifier: 0.1.0-alpha.9 version: 0.1.0-alpha.9(@tanstack/react-router@1.120.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/solid-router@1.112.12(solid-js@1.9.6))(react@19.1.0)(rxjs@7.8.2)(solid-js@1.9.6) @@ -222,8 +222,8 @@ importers: specifier: ^19.1.0 version: 19.1.0 react-day-picker: - specifier: 8.10.1 - version: 8.10.1(date-fns@4.1.0)(react@19.1.0) + specifier: 9.6.0 + version: 9.6.0(react@19.1.0) react-dom: specifier: ^19.1.0 version: 19.1.0(react@19.1.0) @@ -261,6 +261,18 @@ importers: specifier: ^3.24.4 version: 3.24.4 devDependencies: + '@graphql-codegen/cli': + specifier: ^5.0.6 + version: 5.0.6(@types/node@22.15.16)(bufferutil@4.0.9)(encoding@0.1.13)(enquirer@2.4.1)(graphql@16.11.0)(typescript@5.8.3)(utf-8-validate@6.0.5) + '@graphql-codegen/client-preset': + specifier: ^4.8.1 + version: 4.8.1(encoding@0.1.13)(graphql@16.11.0) + '@graphql-codegen/typescript': + specifier: ^4.1.6 + version: 4.1.6(encoding@0.1.13)(graphql@16.11.0) + '@graphql-typed-document-node/core': + specifier: ^3.2.0 + version: 3.2.0(graphql@16.11.0) '@rsbuild/core': specifier: ^1.2.15 version: 1.3.17 @@ -379,6 +391,12 @@ packages: subscriptions-transport-ws: optional: true + '@ardatan/relay-compiler@12.0.3': + resolution: {integrity: sha512-mBDFOGvAoVlWaWqs3hm1AciGHSQE1rqFc/liZTyYz/Oek9yZdT5H26pH2zAFuEiTiBVPPyMuqf5VjOFPI2DGsQ==} + hasBin: true + peerDependencies: + graphql: '*' + '@ark/schema@0.46.0': resolution: {integrity: sha512-c2UQdKgP2eqqDArfBqQIJppxJHvNNXuQPeuSPlDML4rjw+f1cu0qAlzOG4b8ujgm9ctIDWwhpyw6gjG5ledIVQ==} @@ -491,6 +509,10 @@ packages: resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.25.9': resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} @@ -547,6 +569,12 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/plugin-syntax-import-assertions@7.27.1': + resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-jsx@7.25.9': resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} engines: {node: '>=6.9.0'} @@ -739,6 +767,9 @@ packages: resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==} engines: {node: '>=18'} + '@date-fns/tz@1.2.0': + resolution: {integrity: sha512-LBrd7MiJZ9McsOgxqWX7AaxrDjcFVjWH/tIKJd7pnR7McaslGYOP1QmmiBXdJH/H/yLCT+rcQ7FaPBUxRGUtrg==} + '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} @@ -757,6 +788,18 @@ packages: peerDependencies: cosmiconfig: '>=6' + '@envelop/core@5.2.3': + resolution: {integrity: sha512-KfoGlYD/XXQSc3BkM1/k15+JQbkQ4ateHazeZoWl9P71FsLTDXSjGy6j7QqfhpIDSbxNISqhPMfZHYSbDFOofQ==} + engines: {node: '>=18.0.0'} + + '@envelop/instrumentation@1.0.0': + resolution: {integrity: sha512-cxgkB66RQB95H3X27jlnxCRNTmPuSTgmBAq6/4n2Dtv4hsk4yz8FadA1ggmd0uZzvKqWD6CR+WFgTjhDqg7eyw==} + engines: {node: '>=18.0.0'} + + '@envelop/types@5.2.1': + resolution: {integrity: sha512-CsFmA3u3c2QoLDTfEpGr4t25fjMU31nyvse7IzWTvb0ZycuPjMjb0fjlheh+PbhBYb9YLugnT2uY6Mwcg1o+Zg==} + engines: {node: '>=18.0.0'} + '@esbuild/aix-ppc64@0.19.11': resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} engines: {node: '>=12'} @@ -1183,6 +1226,9 @@ packages: cpu: [x64] os: [win32] + '@fastify/busboy@3.1.1': + resolution: {integrity: sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==} + '@floating-ui/core@1.6.9': resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} @@ -1248,6 +1294,236 @@ packages: graphql-ws: optional: true + '@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==} + engines: {node: '>=16'} + hasBin: true + peerDependencies: + '@parcel/watcher': ^2.1.0 + 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 + peerDependenciesMeta: + '@parcel/watcher': + optional: true + + '@graphql-codegen/client-preset@4.8.1': + resolution: {integrity: sha512-XLF2V7WKLnepvrGE44JP+AvjS+Oz9AT0oYgTl/6d9btQ+2VYFcmwQPjNAuMVHipqE9I6h8hSEfH9hUrzUptB1g==} + 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-sock: ^1.0.0 + peerDependenciesMeta: + graphql-sock: + optional: true + + '@graphql-codegen/core@4.0.2': + resolution: {integrity: sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==} + 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/gql-tag-operations@4.0.17': + resolution: {integrity: sha512-2pnvPdIG6W9OuxkrEZ6hvZd142+O3B13lvhrZ48yyEBh2ujtmKokw0eTwDHtlXUqjVS0I3q7+HB2y12G/m69CA==} + 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/plugin-helpers@5.1.0': + resolution: {integrity: sha512-Y7cwEAkprbTKzVIe436TIw4w03jorsMruvCvu0HJkavaKMQbWY+lQ1RIuROgszDbxAyM35twB5/sUvYG5oW+yg==} + 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==} + 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/typescript-operations@4.6.1': + resolution: {integrity: sha512-k92laxhih7s0WZ8j5WMIbgKwhe64C0As6x+PdcvgZFMudDJ7rPJ/hFqJ9DCRxNjXoHmSjnr6VUuQZq4lT1RzCA==} + 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-sock: ^1.0.0 + peerDependenciesMeta: + graphql-sock: + optional: true + + '@graphql-codegen/typescript@4.1.6': + resolution: {integrity: sha512-vpw3sfwf9A7S+kIUjyFxuvrywGxd4lmwmyYnnDVjVE4kSQ6Td3DpqaPTy8aNQ6O96vFoi/bxbZS2BW49PwSUUA==} + engines: {node: '>=16'} + peerDependencies: + graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + '@graphql-codegen/visitor-plugin-common@5.8.0': + resolution: {integrity: sha512-lC1E1Kmuzi3WZUlYlqB4fP6+CvbKH9J+haU1iWmgsBx5/sO2ROeXJG4Dmt8gP03bI2BwjiwV5WxCEMlyeuzLnA==} + 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-hive/signal@1.0.0': + resolution: {integrity: sha512-RiwLMc89lTjvyLEivZ/qxAC5nBHoS2CtsWFSOsN35sxG9zoo5Z+JsFHM8MlvmO9yt+MJNIyC5MLE1rsbOphlag==} + engines: {node: '>=18.0.0'} + + '@graphql-tools/apollo-engine-loader@8.0.20': + resolution: {integrity: sha512-m5k9nXSyjq31yNsEqDXLyykEjjn3K3Mo73oOKI+Xjy8cpnsgbT4myeUJIYYQdLrp7fr9Y9p7ZgwT5YcnwmnAbA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/batch-execute@9.0.15': + resolution: {integrity: sha512-qlWUl6yi87FU5WvyJ0uD81R4Y30oQIuW3mJCjOrEvifyT+f/rEqSZFOhYrofYoZAoTcwqOhy6WgH+b9+AtRYjA==} + engines: {node: '>=18.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/code-file-loader@8.1.20': + resolution: {integrity: sha512-GzIbjjWJIc04KWnEr8VKuPe0FA2vDTlkaeub5p4lLimljnJ6C0QSkOyCUnFmsB9jetQcHm0Wfmn/akMnFUG+wA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/delegate@10.2.17': + resolution: {integrity: sha512-z+LpZrTQCEXA4fbdJcSsvhaMqT4xi/O8B0mP30ENGyTbSfa20QamOQx9jgCiw2ii/ucwxfGMhygwlpZG36EU4w==} + engines: {node: '>=18.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/documents@1.0.1': + resolution: {integrity: sha512-aweoMH15wNJ8g7b2r4C4WRuJxZ0ca8HtNO54rkye/3duxTkW4fGBEutCx03jCIr5+a1l+4vFJNP859QnAVBVCA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/executor-common@0.0.4': + resolution: {integrity: sha512-SEH/OWR+sHbknqZyROCFHcRrbZeUAyjCsgpVWCRjqjqRbiJiXq6TxNIIOmpXgkrXWW/2Ev4Wms6YSGJXjdCs6Q==} + engines: {node: '>=18.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/executor-graphql-ws@2.0.5': + resolution: {integrity: sha512-gI/D9VUzI1Jt1G28GYpvm5ckupgJ5O8mi5Y657UyuUozX34ErfVdZ81g6oVcKFQZ60LhCzk7jJeykK48gaLhDw==} + engines: {node: '>=18.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/executor-http@1.3.3': + resolution: {integrity: sha512-LIy+l08/Ivl8f8sMiHW2ebyck59JzyzO/yF9SFS4NH6MJZUezA1xThUXCDIKhHiD56h/gPojbkpcFvM2CbNE7A==} + engines: {node: '>=18.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/executor-legacy-ws@1.1.17': + resolution: {integrity: sha512-TvltY6eL4DY1Vt66Z8kt9jVmNcI+WkvVPQZrPbMCM3rv2Jw/sWvSwzUBezRuWX0sIckMifYVh23VPcGBUKX/wg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/executor@1.4.7': + resolution: {integrity: sha512-U0nK9jzJRP9/9Izf1+0Gggd6K6RNRsheFo1gC/VWzfnsr0qjcOSS9qTjY0OTC5iTPt4tQ+W5Zpw/uc7mebI6aA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/git-loader@8.0.24': + resolution: {integrity: sha512-ypLC9N2bKNC0QNbrEBTbWKwbV607f7vK2rSGi9uFeGr8E29tWplo6or9V/+TM0ZfIkUsNp/4QX/zKTgo8SbwQg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/github-loader@8.0.20': + resolution: {integrity: sha512-Icch8bKZ1iP3zXCB9I0ded1hda9NPskSSalw7ZM21kXvLiOR5nZhdqPF65gCFkIKo+O4NR4Bp51MkKj+wl+vpg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/graphql-file-loader@8.0.19': + resolution: {integrity: sha512-kyEZL4rRJ5LelfCXL3GLgbMiu5Zd7memZaL8ZxPXGI7DA8On1e5IVBH3zZJwf7LzhjSVnPaHM7O/bRzGvTbXzQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/graphql-tag-pluck@8.3.19': + resolution: {integrity: sha512-LEw/6IYOUz48HjbWntZXDCzSXsOIM1AyWZrlLoJOrA8QAlhFd8h5Tny7opCypj8FO9VvpPFugWoNDh5InPOEQA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/import@7.0.18': + resolution: {integrity: sha512-1tw1/1QLB0n5bPWfIrhCRnrHIlbMvbwuifDc98g4FPhJ7OXD+iUQe+IpmD5KHVwYWXWhZOuJuq45DfV/WLNq3A==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/json-file-loader@8.0.18': + resolution: {integrity: sha512-JjjIxxewgk8HeMR3npR3YbOkB7fxmdgmqB9kZLWdkRKBxrRXVzhryyq+mhmI0Evzt6pNoHIc3vqwmSctG2sddg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/load@8.1.0': + resolution: {integrity: sha512-OGfOm09VyXdNGJS/rLqZ6ztCiG2g6AMxhwtET8GZXTbnjptFc17GtKwJ3Jv5w7mjJ8dn0BHydvIuEKEUK4ciYw==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/merge@9.0.24': + resolution: {integrity: sha512-NzWx/Afl/1qHT3Nm1bghGG2l4jub28AdvtG11PoUlmjcIjnFBJMv4vqL0qnxWe8A82peWo4/TkVdjJRLXwgGEw==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/optimize@2.0.0': + resolution: {integrity: sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/prisma-loader@8.0.17': + resolution: {integrity: sha512-fnuTLeQhqRbA156pAyzJYN0KxCjKYRU5bz1q/SKOwElSnAU4k7/G1kyVsWLh7fneY78LoMNH5n+KlFV8iQlnyg==} + engines: {node: '>=16.0.0'} + 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==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/schema@10.0.23': + resolution: {integrity: sha512-aEGVpd1PCuGEwqTXCStpEkmheTHNdMayiIKH1xDWqYp9i8yKv9FRDgkGrY4RD8TNxnf7iII+6KOBGaJ3ygH95A==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/url-loader@8.0.31': + resolution: {integrity: sha512-QGP3py6DAdKERHO5D38Oi+6j+v0O3rkBbnLpyOo87rmIRbwE6sOkL5JeHegHs7EEJ279fBX6lMt8ry0wBMGtyA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/utils@10.8.6': + resolution: {integrity: sha512-Alc9Vyg0oOsGhRapfL3xvqh1zV8nKoFUdtLhXX7Ki4nClaIJXckrA86j+uxEuG3ic6j4jlM1nvcWXRn/71AVLQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/wrap@10.0.35': + resolution: {integrity: sha512-qBga3wo7+GqY+ClGexiyRz9xgy1RWozZryTuGX8usGWPa4wKi/tJS4rKWQQesgB3Fh//SZUCRA5u2nwZaZQw1Q==} + engines: {node: '>=18.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-typed-document-node/core@3.2.0': resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: @@ -2530,6 +2806,9 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@repeaterjs/repeater@3.0.6': + resolution: {integrity: sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==} + '@rollup/rollup-android-arm-eabi@4.29.1': resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==} cpu: [arm] @@ -2907,6 +3186,14 @@ packages: resolution: {integrity: sha512-K7JJNrRVvyjAVnbXOH2XLRhFXDkeP54Kt2P4FR1Kl2KDGlIbkua5VqZQD2rot3qaDrpufyUa63nuLai1kOLTsQ==} engines: {node: '>=12'} + '@tanstack/query-core@5.75.6': + resolution: {integrity: sha512-r+WQ/z30KZF0TFkzCT7C8gWgrLuv7/t+gEjqeEp69JAIUS/omuieaHeIkoscjEcT6yaWebXGTyjdiIxJkYzEXg==} + + '@tanstack/react-query@5.75.6': + resolution: {integrity: sha512-0d97uvpeHUNN5eTEsJzYgxLgAEyUM+XaJAWFFAaXH+dQgDN//TTDNbei/YVzN5BUJcWcnQ7YaQDtLLzSe+IvTg==} + peerDependencies: + react: ^18 || ^19 + '@tanstack/react-router-devtools@1.120.2': resolution: {integrity: sha512-89qY5pKdIN6r5G0pHP92mLvorzd7rUlHjvCkjNYOyYduxGQ8a703Y7Fp/RqXibwhjvZcet6BR2IrEhIqg9Yjhw==} engines: {node: '>=12'} @@ -3096,6 +3383,9 @@ packages: '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + '@types/js-yaml@4.0.9': + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -3128,6 +3418,9 @@ packages: '@types/tern@0.23.9': resolution: {integrity: sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==} + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + '@vitejs/plugin-react@4.4.1': resolution: {integrity: sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w==} engines: {node: ^14.18.0 || >=16.0.0} @@ -3208,6 +3501,22 @@ packages: '@webassemblyjs/wast-printer@1.14.1': resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + '@whatwg-node/disposablestack@0.0.6': + resolution: {integrity: sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==} + engines: {node: '>=18.0.0'} + + '@whatwg-node/fetch@0.10.6': + resolution: {integrity: sha512-6uzhO2aQ757p3bSHcemA8C4pqEXuyBqyGAM7cYpO0c6/igRMV9As9XL0W12h5EPYMclgr7FgjmbVQBoWEdJ/yA==} + engines: {node: '>=18.0.0'} + + '@whatwg-node/node-fetch@0.7.18': + resolution: {integrity: sha512-IxKdVWfZYasGiyxBcsROxq6FmDQu3MNNiOYJ/yqLKhe+Qq27IIWsK7ItbjS2M9L5aM5JxjWkIS7JDh7wnsn+CQ==} + engines: {node: '>=18.0.0'} + + '@whatwg-node/promise-helpers@1.3.1': + resolution: {integrity: sha512-D+OwTEunoQhVHVToD80dPhfz9xgPLqJyEA3F5jCRM14A2u8tBBQVdZekqfqx6ZAfZ+POT4Hb0dn601UKMsvADw==} + engines: {node: '>=16.0.0'} + '@wry/caches@1.0.1': resolution: {integrity: sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA==} engines: {node: '>=8'} @@ -3255,6 +3564,10 @@ packages: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: @@ -3343,6 +3656,10 @@ packages: array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + array.prototype.flatmap@1.3.3: resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} engines: {node: '>= 0.4'} @@ -3351,10 +3668,17 @@ packages: resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + async-function@1.0.0: resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} engines: {node: '>= 0.4'} @@ -3372,6 +3696,10 @@ packages: resolution: {integrity: sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==} engines: {node: '>=0.8'} + auto-bind@4.0.0: + resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} + engines: {node: '>=8'} + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -3432,6 +3760,9 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -3470,6 +3801,9 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -3483,6 +3817,9 @@ packages: caniuse-lite@1.0.30001717: resolution: {integrity: sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==} + capital-case@1.0.4: + resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} + chai@5.1.2: resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} engines: {node: '>=12'} @@ -3499,6 +3836,12 @@ packages: resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + change-case-all@1.0.15: + resolution: {integrity: sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==} + + change-case@4.1.2: + resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} + chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} @@ -3525,6 +3868,10 @@ packages: class-variance-authority@0.7.1: resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -3533,6 +3880,10 @@ packages: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} + cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + cli-width@3.0.0: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} @@ -3543,6 +3894,10 @@ packages: cliui@6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} @@ -3591,6 +3946,9 @@ packages: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + colors@1.1.2: resolution: {integrity: sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==} engines: {node: '>=0.1.90'} @@ -3618,10 +3976,17 @@ packages: resolution: {integrity: sha512-5qK/Wsc2fnRCiizV1JlHavWrSGAXQI7AusK423F8zJLwIGq8lmtO5GmO8PVMrtDUJMwTXOFBzSN6OCRD8CEMWw==} engines: {node: '>= 0.6.x'} + common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + concat-stream@1.6.2: resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} engines: {'0': node >= 0.8} + constant-case@3.0.4: + resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} + content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -3661,6 +4026,15 @@ packages: resolution: {integrity: sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==} engines: {node: '>=10'} + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + create-react-signals@0.8.0: resolution: {integrity: sha512-BMenSpH81lr/eRQp5ABPIfmBL1wqcIfM3iPnbPROtHn79KwtR9KVnQnFN/skTN/YLJPXJmXDM/R1CGhAWnEg1w==} peerDependencies: @@ -3674,6 +4048,13 @@ packages: engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} hasBin: true + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + + cross-inspect@1.0.1: + resolution: {integrity: sha512-Pcw1JTvZLSJH83iiGWt6fRcT+BjZlCDRVwYLbUcHzv/CRpB7r0MlSrGbIyQvVSNyGnbt7G4AXuyCiDR3POvZ1A==} + engines: {node: '>=16.0.0'} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -3729,6 +4110,10 @@ packages: resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} engines: {node: '>=12'} + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + data-urls@5.0.0: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} @@ -3745,12 +4130,21 @@ packages: resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} engines: {node: '>= 0.4'} + dataloader@2.2.3: + resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==} + + date-fns-jalali@4.1.0-0: + resolution: {integrity: sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg==} + date-fns@4.1.0: resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} debounce-promise@3.1.2: resolution: {integrity: sha512-rZHcgBkbYavBeD9ej6sP56XfG53d51CD4dnaw989YX/nZ/ZJfgRx/9ePKmTNiUiyQvh4mtrMoS3OAWW+yoYtpg==} + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + debounce@2.0.0: resolution: {integrity: sha512-xRetU6gL1VJbs85Mc4FoEGSjQxzpdxRyFhe3lmWFyy2EzydIcD4xzUvRJMD+NPDfMwKNhxa3PvsIOU32luIWeA==} engines: {node: '>=18'} @@ -3825,6 +4219,10 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + dependency-graph@0.11.0: + resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} + engines: {node: '>= 0.6.0'} + deprecation@2.3.1: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} @@ -3832,6 +4230,10 @@ packages: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + detect-libc@2.0.3: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} @@ -3854,6 +4256,10 @@ packages: resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} engines: {node: '>=0.3.1'} + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} @@ -3870,10 +4276,21 @@ packages: domutils@3.2.1: resolution: {integrity: sha512-xWXmuRnN9OMP6ptPd2+H0cCbcYBULa5YDTbMm/2lvkWvNA3O4wcW+GvzooqBuNM8yy6pl3VIAeJTUUWUbfI5Fw==} + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dotenv@16.5.0: + resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} + engines: {node: '>=12'} + dotenv@8.6.0: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} + dset@3.1.4: + resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} + engines: {node: '>=4'} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -4096,6 +4513,19 @@ packages: fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fbjs-css-vars@1.0.2: + resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} + + fbjs@3.0.5: + resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + figures@2.0.0: resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} engines: {node: '>=4'} @@ -4132,6 +4562,10 @@ packages: resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} engines: {node: '>= 6'} + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -4237,6 +4671,10 @@ packages: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + goober@2.1.16: resolution: {integrity: sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==} peerDependencies: @@ -4259,12 +4697,27 @@ packages: react: ^18 || ^19 react-dom: ^18 || ^19 + graphql-config@5.1.5: + resolution: {integrity: sha512-mG2LL1HccpU8qg5ajLROgdsBzx/o2M6kgI3uAmoaXiSH9PCUbtIyLomLqUtCFaAeG2YCFsl0M5cfQ9rKmDoMVA==} + engines: {node: '>= 16.0.0'} + peerDependencies: + cosmiconfig-toml-loader: ^1.0.0 + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + cosmiconfig-toml-loader: + optional: true + graphql-language-service@5.3.1: resolution: {integrity: sha512-6u/f6rxQ6sgNfHwHYGsFiR+zYP93uFEStNO0j9WexoOVd2hQK7BPsNyBz/WsB8URHPAjoVhSKs1wkAqUrcxj1g==} hasBin: true peerDependencies: graphql: ^15.5.0 || ^16.0.0 || ^17.0.0 + graphql-request@6.1.0: + resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} + peerDependencies: + graphql: 14 - 16 + graphql-tag@2.12.6: resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} engines: {node: '>=10'} @@ -4326,6 +4779,9 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + header-case@2.0.4: + resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} @@ -4378,6 +4834,14 @@ packages: ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + immutable@3.7.6: + resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==} + engines: {node: '>=0.8.0'} + immutable@4.3.7: resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} @@ -4393,6 +4857,14 @@ packages: resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} engines: {node: '>=8'} + import-from@4.0.0: + resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} + engines: {node: '>=12.2'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -4409,6 +4881,10 @@ packages: resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} engines: {node: '>=8.0.0'} + inquirer@8.2.6: + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + engines: {node: '>=12.0.0'} + internal-slot@1.1.0: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} @@ -4417,6 +4893,9 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + io-ts@2.2.22: resolution: {integrity: sha512-FHCCztTkHoV9mdBsHpocLpdTAfh956ZQcIkWQxxS0U5HT53vtrcuYdQneEJKH6xILaLNzXVl2Cvwtoy8XNN0AA==} peerDependencies: @@ -4426,6 +4905,10 @@ packages: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} + is-absolute@1.0.0: + resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} + engines: {node: '>=0.10.0'} + is-array-buffer@3.0.5: resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} engines: {node: '>= 0.4'} @@ -4488,6 +4971,9 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} + is-lower-case@2.0.2: + resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} + is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} @@ -4519,6 +5005,10 @@ packages: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} + is-relative@1.0.0: + resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} + engines: {node: '>=0.10.0'} + is-set@2.0.3: resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} @@ -4543,10 +5033,17 @@ packages: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} + is-unc-path@1.0.0: + resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} + engines: {node: '>=0.10.0'} + is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} + is-upper-case@2.0.2: + resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} + is-weakmap@2.0.2: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} @@ -4559,6 +5056,10 @@ packages: resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} engines: {node: '>= 0.4'} + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + isarray@0.0.1: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} @@ -4575,6 +5076,11 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} + isomorphic-ws@5.0.0: + resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + peerDependencies: + ws: '*' + jackspeak@2.3.6: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} @@ -4587,10 +5093,17 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + jiti@2.4.2: resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} hasBin: true + jose@5.10.0: + resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} + jotai-signal@0.9.0: resolution: {integrity: sha512-2S2Z4pRrVwlnw4+xRZg393+aSB0aSMhgkw73WQbMm6rsqnCKYLNWauos0vMVOaSTQZ4Q3HTUY7TL/JgwMieuLA==} peerDependencies: @@ -4612,6 +5125,10 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + jsdom@25.0.1: resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} engines: {node: '>=18'} @@ -4642,6 +5159,10 @@ packages: json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-to-pretty-yaml@1.2.2: + resolution: {integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==} + engines: {node: '>= 0.2.0'} + json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -4723,6 +5244,15 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + listr2@4.0.5: + resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} + engines: {node: '>=12'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + load-json-file@4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} @@ -4749,6 +5279,9 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -4756,6 +5289,10 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} + log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -4766,6 +5303,12 @@ packages: loupe@3.1.3: resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} + lower-case-first@2.0.2: + resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==} + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -4775,8 +5318,8 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lucide-react@0.508.0: - resolution: {integrity: sha512-gcP16PnexqtOFrTtv98kVsGzTfnbPekzZiQfByi2S89xfk7E/4uKE1USZqccIp58v42LqkO7MuwpCqshwSrJCg==} + lucide-react@0.509.0: + resolution: {integrity: sha512-xCJHn6Uh5qF6PGml25vveCTrHJZcqS1G1MVzWZK54ZQsOiCVJk4fwY3oyo5EXS2S+aqvTpWYIfJN+PesJ0quxg==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -4786,6 +5329,10 @@ packages: make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + markdown-it@14.1.0: resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} hasBin: true @@ -4907,12 +5454,6 @@ packages: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} - next-themes@0.4.6: - resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} - peerDependencies: - react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - next@15.0.4: resolution: {integrity: sha512-nuy8FH6M1FG0lktGotamQDCXhh5hZ19Vo0ht1AOIQWrYJLP598TIUagKtvJrfJ5AGwB/WmDqkKaKhMpVifvGPA==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} @@ -4955,6 +5496,14 @@ packages: sass: optional: true + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + deprecated: Use your platform's native DOMException instead + node-fetch@2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} @@ -4973,6 +5522,10 @@ packages: encoding: optional: true + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} @@ -4981,6 +5534,9 @@ packages: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + node-pac@0.5.1: resolution: {integrity: sha512-GyBOZiDOm4hzZYlePNDq8Vj+376U0nJldqGTuAlUdJDqoia7SB0G0ogC8oMdV+uSMEzAUUDEQ7FMqAyTtTHszw==} engines: {node: '>= 6'} @@ -4988,6 +5544,10 @@ packages: node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -5077,6 +5637,10 @@ packages: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + p-locate@2.0.0: resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} engines: {node: '>=4'} @@ -5085,6 +5649,10 @@ packages: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + p-try@1.0.0: resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} engines: {node: '>=4'} @@ -5093,6 +5661,9 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -5101,6 +5672,10 @@ packages: resolution: {integrity: sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==} engines: {node: '>=0.10.0'} + parse-filepath@1.0.2: + resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} + engines: {node: '>=0.8'} + parse-github-url@1.0.2: resolution: {integrity: sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==} engines: {node: '>=0.10.0'} @@ -5128,6 +5703,12 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + path-case@3.0.4: + resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} + path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} @@ -5147,6 +5728,14 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-root-regex@0.1.2: + resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} + engines: {node: '>=0.10.0'} + + path-root@0.1.1: + resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} + engines: {node: '>=0.10.0'} + path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} @@ -5233,6 +5822,9 @@ packages: process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + promise@7.3.1: + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} @@ -5278,11 +5870,11 @@ packages: peerDependencies: react: ^17.0.0 || ^18.0.0 || ^19.0.0 || ^0.0.0-experimental - react-day-picker@8.10.1: - resolution: {integrity: sha512-TMx7fNbhLk15eqcMt+7Z7S2KF7mfTId/XJDjKE8f+IUcFn0l08/kI4FiYTL/0yuOLmEcbR4Fwe3GJf/NiiMnPA==} + react-day-picker@9.6.0: + resolution: {integrity: sha512-D1Cbc4IrSGayBhEGq8Zk4Ez/5grUGEgu01qWIgM2gxdSQyWztgsmIr0Qhh2oySUY+449PDOOeh80Hm46VFVpJA==} + engines: {node: '>=18'} peerDependencies: - date-fns: ^2.28.0 || ^3.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: '>=16.8.0' react-dom@19.1.0: resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} @@ -5415,6 +6007,18 @@ packages: react: optional: true + relay-runtime@12.0.0: + resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} + + remedial@1.0.8: + resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==} + + remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + + remove-trailing-spaces@1.0.9: + resolution: {integrity: sha512-xzG7w5IRijvIkHIjDk65URsJJ7k4J95wmcArY5PRcmjldIOl7oTvG8+X2Ag690R7SfwiOcHrWZKVc1Pp5WIOzA==} + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -5455,6 +6059,9 @@ packages: rfc4648@1.5.4: resolution: {integrity: sha512-rRg/6Lb+IGfJqO05HZkN50UtY7K/JhxJag1kP23+zyMfrvoB0B7RWv06MbOzoc79RgCdNTiUaNsTT1AJZ7Z+cg==} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + rollup@4.29.1: resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -5530,6 +6137,9 @@ packages: resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==} engines: {node: '>= 10.13.0'} + scuid@1.1.0: + resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} + selderee@0.11.0: resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} @@ -5551,6 +6161,9 @@ packages: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} + sentence-case@3.0.4: + resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} + serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} @@ -5595,6 +6208,9 @@ packages: resolution: {integrity: sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==} engines: {node: '>=11.0'} + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} @@ -5614,6 +6230,10 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + shell-quote@1.8.2: + resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} + engines: {node: '>= 0.4'} + side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} engines: {node: '>= 0.4'} @@ -5644,9 +6264,27 @@ packages: resolution: {integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==} engines: {node: '>=6'} + signedsource@1.0.0: + resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} + simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + + slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + sni@1.0.0: resolution: {integrity: sha512-YMN2SdbrNjA4OWzpMUe7sZzUvvfEKl2JToyBLfFJMK+EpkU4bJEAkePqYE3YjZtgdLCoUaK0Lo84MjM8UqF38w==} @@ -5710,6 +6348,9 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + sponge-case@1.0.1: + resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} + stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} @@ -5735,6 +6376,9 @@ packages: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} + string-env-interpolation@1.0.1: + resolution: {integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -5816,6 +6460,9 @@ packages: resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} engines: {node: '>=8'} + swap-case@2.0.2: + resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} + symbol-observable@4.0.0: resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} engines: {node: '>=0.10'} @@ -5823,6 +6470,10 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + sync-fetch@0.6.0-2: + resolution: {integrity: sha512-c7AfkZ9udatCuAy9RSfiGPpeOKKUAUK5e1cXadLOGUjasdxqYqAK0jTNkM/FSEyJ3a5Ra27j/tw/PS0qLmaF/A==} + engines: {node: '>=18'} + tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} @@ -5864,6 +6515,10 @@ packages: through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + timeout-signal@2.0.0: + resolution: {integrity: sha512-YBGpG4bWsHoPvofT6y/5iqulfXIiIErl5B0LdtHT1mGXDFTAhhRrbUpTvBgYbovr+3cKblya2WAOcpoy90XguA==} + engines: {node: '>=16'} + tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} @@ -5891,6 +6546,9 @@ packages: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} + title-case@3.0.3: + resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} + tldts-core@6.1.86: resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} @@ -5928,6 +6586,9 @@ packages: resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} engines: {node: '>=8'} + ts-log@2.2.7: + resolution: {integrity: sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==} + ts-node@10.9.2: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true @@ -5955,6 +6616,9 @@ packages: tslib@2.1.0: resolution: {integrity: sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==} + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -6005,6 +6669,10 @@ packages: engines: {node: '>=14.17'} hasBin: true + ua-parser-js@1.0.40: + resolution: {integrity: sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==} + hasBin: true + uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} @@ -6016,6 +6684,10 @@ packages: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} + unc-path-regex@0.1.2: + resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} + engines: {node: '>=0.10.0'} + underscore@1.13.7: resolution: {integrity: sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==} @@ -6028,6 +6700,10 @@ packages: universal-user-agent@6.0.1: resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} + unixify@1.0.0: + resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} + engines: {node: '>=0.10.0'} + unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} @@ -6048,12 +6724,21 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + upper-case-first@2.0.2: + resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} + + upper-case@2.0.2: + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} url-join@4.0.1: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} + urlpattern-polyfill@10.1.0: + resolution: {integrity: sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==} + use-callback-ref@1.3.3: resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} engines: {node: '>=10'} @@ -6189,6 +6874,10 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -6330,28 +7019,52 @@ packages: y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + yallist@2.1.2: resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yaml-ast-parser@0.0.43: + resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} + yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} + yaml@2.7.1: + resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==} + engines: {node: '>= 14'} + hasBin: true + yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + yargs@15.4.1: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} engines: {node: '>=8'} + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + zen-observable-ts@1.2.5: resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==} @@ -6395,6 +7108,22 @@ snapshots: transitivePeerDependencies: - '@types/react' + '@ardatan/relay-compiler@12.0.3(encoding@0.1.13)(graphql@16.11.0)': + dependencies: + '@babel/generator': 7.27.1 + '@babel/parser': 7.27.2 + '@babel/runtime': 7.27.1 + chalk: 4.1.2 + fb-watchman: 2.0.2 + graphql: 16.11.0 + immutable: 3.7.6 + invariant: 2.2.4 + nullthrows: 1.1.1 + relay-runtime: 12.0.0(encoding@0.1.13) + signedsource: 1.0.0 + transitivePeerDependencies: + - encoding + '@ark/schema@0.46.0': dependencies: '@ark/util': 0.46.0 @@ -6672,6 +7401,8 @@ snapshots: '@babel/helper-plugin-utils@7.26.5': {} + '@babel/helper-plugin-utils@7.27.1': {} + '@babel/helper-string-parser@7.25.9': {} '@babel/helper-string-parser@7.27.1': {} @@ -6715,6 +7446,11 @@ snapshots: dependencies: '@babel/types': 7.27.1 + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.9)': dependencies: '@babel/core': 7.26.9 @@ -6930,6 +7666,8 @@ snapshots: '@csstools/css-tokenizer@3.0.3': optional: true + '@date-fns/tz@1.2.0': {} + '@emnapi/runtime@1.3.1': dependencies: tslib: 2.8.1 @@ -6958,6 +7696,23 @@ snapshots: transitivePeerDependencies: - typescript + '@envelop/core@5.2.3': + dependencies: + '@envelop/instrumentation': 1.0.0 + '@envelop/types': 5.2.1 + '@whatwg-node/promise-helpers': 1.3.1 + tslib: 2.8.1 + + '@envelop/instrumentation@1.0.0': + dependencies: + '@whatwg-node/promise-helpers': 1.3.1 + tslib: 2.8.1 + + '@envelop/types@5.2.1': + dependencies: + '@whatwg-node/promise-helpers': 1.3.1 + tslib: 2.8.1 + '@esbuild/aix-ppc64@0.19.11': optional: true @@ -7171,6 +7926,8 @@ snapshots: '@esbuild/win32-x64@0.25.4': optional: true + '@fastify/busboy@3.1.1': {} + '@floating-ui/core@1.6.9': dependencies: '@floating-ui/utils': 0.2.9 @@ -7286,6 +8043,440 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@graphql-codegen/add@5.0.3(graphql@16.11.0)': + dependencies: + '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + graphql: 16.11.0 + tslib: 2.6.3 + + '@graphql-codegen/cli@5.0.6(@types/node@22.15.16)(bufferutil@4.0.9)(encoding@0.1.13)(enquirer@2.4.1)(graphql@16.11.0)(typescript@5.8.3)(utf-8-validate@6.0.5)': + dependencies: + '@babel/generator': 7.27.1 + '@babel/template': 7.27.2 + '@babel/types': 7.27.1 + '@graphql-codegen/client-preset': 4.8.1(encoding@0.1.13)(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-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.16)(graphql@16.11.0) + '@graphql-tools/graphql-file-loader': 8.0.19(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.16)(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.11.0)(utf-8-validate@6.0.5) + '@graphql-tools/url-loader': 8.0.31(@types/node@22.15.16)(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@6.0.5) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + '@whatwg-node/fetch': 0.10.6 + chalk: 4.1.2 + cosmiconfig: 8.3.6(typescript@5.8.3) + debounce: 1.2.1 + detect-indent: 6.1.0 + graphql: 16.11.0 + graphql-config: 5.1.5(@types/node@22.15.16)(bufferutil@4.0.9)(graphql@16.11.0)(typescript@5.8.3)(utf-8-validate@6.0.5) + inquirer: 8.2.6 + is-glob: 4.0.3 + jiti: 1.21.7 + json-to-pretty-yaml: 1.2.2 + listr2: 4.0.5(enquirer@2.4.1) + log-symbols: 4.1.0 + micromatch: 4.0.8 + shell-quote: 1.8.2 + string-env-interpolation: 1.0.1 + ts-log: 2.2.7 + tslib: 2.8.1 + yaml: 2.7.1 + yargs: 17.7.2 + transitivePeerDependencies: + - '@fastify/websocket' + - '@types/node' + - bufferutil + - cosmiconfig-toml-loader + - encoding + - enquirer + - graphql-sock + - supports-color + - typescript + - uWebSockets.js + - utf-8-validate + + '@graphql-codegen/client-preset@4.8.1(encoding@0.1.13)(graphql@16.11.0)': + dependencies: + '@babel/helper-plugin-utils': 7.26.5 + '@babel/template': 7.27.2 + '@graphql-codegen/add': 5.0.3(graphql@16.11.0) + '@graphql-codegen/gql-tag-operations': 4.0.17(encoding@0.1.13)(graphql@16.11.0) + '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + '@graphql-codegen/typed-document-node': 5.1.1(encoding@0.1.13)(graphql@16.11.0) + '@graphql-codegen/typescript': 4.1.6(encoding@0.1.13)(graphql@16.11.0) + '@graphql-codegen/typescript-operations': 4.6.1(encoding@0.1.13)(graphql@16.11.0) + '@graphql-codegen/visitor-plugin-common': 5.8.0(encoding@0.1.13)(graphql@16.11.0) + '@graphql-tools/documents': 1.0.1(graphql@16.11.0) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) + graphql: 16.11.0 + tslib: 2.6.3 + transitivePeerDependencies: + - encoding + + '@graphql-codegen/core@4.0.2(graphql@16.11.0)': + dependencies: + '@graphql-codegen/plugin-helpers': 5.1.0(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 + tslib: 2.6.3 + + '@graphql-codegen/gql-tag-operations@4.0.17(encoding@0.1.13)(graphql@16.11.0)': + dependencies: + '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + '@graphql-codegen/visitor-plugin-common': 5.8.0(encoding@0.1.13)(graphql@16.11.0) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + auto-bind: 4.0.0 + graphql: 16.11.0 + tslib: 2.6.3 + transitivePeerDependencies: + - encoding + + '@graphql-codegen/plugin-helpers@5.1.0(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) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + graphql: 16.11.0 + tslib: 2.6.3 + + '@graphql-codegen/typed-document-node@5.1.1(encoding@0.1.13)(graphql@16.11.0)': + dependencies: + '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + '@graphql-codegen/visitor-plugin-common': 5.8.0(encoding@0.1.13)(graphql@16.11.0) + auto-bind: 4.0.0 + change-case-all: 1.0.15 + graphql: 16.11.0 + tslib: 2.6.3 + transitivePeerDependencies: + - encoding + + '@graphql-codegen/typescript-operations@4.6.1(encoding@0.1.13)(graphql@16.11.0)': + dependencies: + '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + '@graphql-codegen/typescript': 4.1.6(encoding@0.1.13)(graphql@16.11.0) + '@graphql-codegen/visitor-plugin-common': 5.8.0(encoding@0.1.13)(graphql@16.11.0) + auto-bind: 4.0.0 + graphql: 16.11.0 + tslib: 2.6.3 + transitivePeerDependencies: + - encoding + + '@graphql-codegen/typescript@4.1.6(encoding@0.1.13)(graphql@16.11.0)': + dependencies: + '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + '@graphql-codegen/schema-ast': 4.1.0(graphql@16.11.0) + '@graphql-codegen/visitor-plugin-common': 5.8.0(encoding@0.1.13)(graphql@16.11.0) + auto-bind: 4.0.0 + graphql: 16.11.0 + tslib: 2.6.3 + transitivePeerDependencies: + - encoding + + '@graphql-codegen/visitor-plugin-common@5.8.0(encoding@0.1.13)(graphql@16.11.0)': + dependencies: + '@graphql-codegen/plugin-helpers': 5.1.0(graphql@16.11.0) + '@graphql-tools/optimize': 2.0.0(graphql@16.11.0) + '@graphql-tools/relay-operation-optimizer': 7.0.19(encoding@0.1.13)(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 + dependency-graph: 0.11.0 + graphql: 16.11.0 + graphql-tag: 2.12.6(graphql@16.11.0) + parse-filepath: 1.0.2 + tslib: 2.6.3 + transitivePeerDependencies: + - encoding + + '@graphql-hive/signal@1.0.0': {} + + '@graphql-tools/apollo-engine-loader@8.0.20(graphql@16.11.0)': + dependencies: + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + '@whatwg-node/fetch': 0.10.6 + graphql: 16.11.0 + sync-fetch: 0.6.0-2 + tslib: 2.8.1 + + '@graphql-tools/batch-execute@9.0.15(graphql@16.11.0)': + dependencies: + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + '@whatwg-node/promise-helpers': 1.3.1 + dataloader: 2.2.3 + graphql: 16.11.0 + tslib: 2.8.1 + + '@graphql-tools/code-file-loader@8.1.20(graphql@16.11.0)': + dependencies: + '@graphql-tools/graphql-tag-pluck': 8.3.19(graphql@16.11.0) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + globby: 11.1.0 + graphql: 16.11.0 + tslib: 2.8.1 + unixify: 1.0.0 + transitivePeerDependencies: + - supports-color + + '@graphql-tools/delegate@10.2.17(graphql@16.11.0)': + dependencies: + '@graphql-tools/batch-execute': 9.0.15(graphql@16.11.0) + '@graphql-tools/executor': 1.4.7(graphql@16.11.0) + '@graphql-tools/schema': 10.0.23(graphql@16.11.0) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + '@repeaterjs/repeater': 3.0.6 + '@whatwg-node/promise-helpers': 1.3.1 + dataloader: 2.2.3 + dset: 3.1.4 + graphql: 16.11.0 + tslib: 2.8.1 + + '@graphql-tools/documents@1.0.1(graphql@16.11.0)': + dependencies: + graphql: 16.11.0 + lodash.sortby: 4.7.0 + tslib: 2.8.1 + + '@graphql-tools/executor-common@0.0.4(graphql@16.11.0)': + dependencies: + '@envelop/core': 5.2.3 + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + graphql: 16.11.0 + + '@graphql-tools/executor-graphql-ws@2.0.5(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@6.0.5)': + dependencies: + '@graphql-tools/executor-common': 0.0.4(graphql@16.11.0) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + '@whatwg-node/disposablestack': 0.0.6 + graphql: 16.11.0 + graphql-ws: 6.0.4(graphql@16.11.0)(ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + isomorphic-ws: 5.0.0(ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + tslib: 2.8.1 + ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) + transitivePeerDependencies: + - '@fastify/websocket' + - bufferutil + - uWebSockets.js + - utf-8-validate + + '@graphql-tools/executor-http@1.3.3(@types/node@22.15.16)(graphql@16.11.0)': + dependencies: + '@graphql-hive/signal': 1.0.0 + '@graphql-tools/executor-common': 0.0.4(graphql@16.11.0) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + '@repeaterjs/repeater': 3.0.6 + '@whatwg-node/disposablestack': 0.0.6 + '@whatwg-node/fetch': 0.10.6 + '@whatwg-node/promise-helpers': 1.3.1 + graphql: 16.11.0 + meros: 1.3.0(@types/node@22.15.16) + tslib: 2.8.1 + transitivePeerDependencies: + - '@types/node' + + '@graphql-tools/executor-legacy-ws@1.1.17(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@6.0.5)': + dependencies: + '@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(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + tslib: 2.8.1 + ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@graphql-tools/executor@1.4.7(graphql@16.11.0)': + dependencies: + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) + '@repeaterjs/repeater': 3.0.6 + '@whatwg-node/disposablestack': 0.0.6 + '@whatwg-node/promise-helpers': 1.3.1 + graphql: 16.11.0 + tslib: 2.8.1 + + '@graphql-tools/git-loader@8.0.24(graphql@16.11.0)': + dependencies: + '@graphql-tools/graphql-tag-pluck': 8.3.19(graphql@16.11.0) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + graphql: 16.11.0 + is-glob: 4.0.3 + micromatch: 4.0.8 + tslib: 2.8.1 + unixify: 1.0.0 + transitivePeerDependencies: + - supports-color + + '@graphql-tools/github-loader@8.0.20(@types/node@22.15.16)(graphql@16.11.0)': + dependencies: + '@graphql-tools/executor-http': 1.3.3(@types/node@22.15.16)(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.6 + '@whatwg-node/promise-helpers': 1.3.1 + graphql: 16.11.0 + sync-fetch: 0.6.0-2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@types/node' + - supports-color + + '@graphql-tools/graphql-file-loader@8.0.19(graphql@16.11.0)': + dependencies: + '@graphql-tools/import': 7.0.18(graphql@16.11.0) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + globby: 11.1.0 + graphql: 16.11.0 + tslib: 2.8.1 + unixify: 1.0.0 + + '@graphql-tools/graphql-tag-pluck@8.3.19(graphql@16.11.0)': + dependencies: + '@babel/core': 7.27.1 + '@babel/parser': 7.27.2 + '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.27.1) + '@babel/traverse': 7.27.1 + '@babel/types': 7.27.1 + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + graphql: 16.11.0 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@graphql-tools/import@7.0.18(graphql@16.11.0)': + dependencies: + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + graphql: 16.11.0 + resolve-from: 5.0.0 + tslib: 2.8.1 + + '@graphql-tools/json-file-loader@8.0.18(graphql@16.11.0)': + dependencies: + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + globby: 11.1.0 + graphql: 16.11.0 + tslib: 2.8.1 + unixify: 1.0.0 + + '@graphql-tools/load@8.1.0(graphql@16.11.0)': + dependencies: + '@graphql-tools/schema': 10.0.23(graphql@16.11.0) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + graphql: 16.11.0 + p-limit: 3.1.0 + tslib: 2.8.1 + + '@graphql-tools/merge@9.0.24(graphql@16.11.0)': + dependencies: + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + graphql: 16.11.0 + tslib: 2.8.1 + + '@graphql-tools/optimize@2.0.0(graphql@16.11.0)': + dependencies: + graphql: 16.11.0 + tslib: 2.8.1 + + '@graphql-tools/prisma-loader@8.0.17(@types/node@22.15.16)(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.11.0)(utf-8-validate@6.0.5)': + dependencies: + '@graphql-tools/url-loader': 8.0.31(@types/node@22.15.16)(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@6.0.5) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + '@types/js-yaml': 4.0.9 + '@whatwg-node/fetch': 0.10.6 + chalk: 4.1.2 + debug: 4.4.0 + dotenv: 16.5.0 + graphql: 16.11.0 + graphql-request: 6.1.0(encoding@0.1.13)(graphql@16.11.0) + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + jose: 5.10.0 + js-yaml: 4.1.0 + lodash: 4.17.21 + scuid: 1.1.0 + tslib: 2.8.1 + yaml-ast-parser: 0.0.43 + transitivePeerDependencies: + - '@fastify/websocket' + - '@types/node' + - bufferutil + - encoding + - supports-color + - uWebSockets.js + - utf-8-validate + + '@graphql-tools/relay-operation-optimizer@7.0.19(encoding@0.1.13)(graphql@16.11.0)': + dependencies: + '@ardatan/relay-compiler': 12.0.3(encoding@0.1.13)(graphql@16.11.0) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + graphql: 16.11.0 + tslib: 2.8.1 + transitivePeerDependencies: + - encoding + + '@graphql-tools/schema@10.0.23(graphql@16.11.0)': + dependencies: + '@graphql-tools/merge': 9.0.24(graphql@16.11.0) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + graphql: 16.11.0 + tslib: 2.8.1 + + '@graphql-tools/url-loader@8.0.31(@types/node@22.15.16)(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@6.0.5)': + dependencies: + '@graphql-tools/executor-graphql-ws': 2.0.5(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@6.0.5) + '@graphql-tools/executor-http': 1.3.3(@types/node@22.15.16)(graphql@16.11.0) + '@graphql-tools/executor-legacy-ws': 1.1.17(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@6.0.5) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + '@graphql-tools/wrap': 10.0.35(graphql@16.11.0) + '@types/ws': 8.18.1 + '@whatwg-node/fetch': 0.10.6 + '@whatwg-node/promise-helpers': 1.3.1 + graphql: 16.11.0 + isomorphic-ws: 5.0.0(ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + sync-fetch: 0.6.0-2 + tslib: 2.8.1 + ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) + transitivePeerDependencies: + - '@fastify/websocket' + - '@types/node' + - bufferutil + - uWebSockets.js + - utf-8-validate + + '@graphql-tools/utils@10.8.6(graphql@16.11.0)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) + '@whatwg-node/promise-helpers': 1.3.1 + cross-inspect: 1.0.1 + dset: 3.1.4 + graphql: 16.11.0 + tslib: 2.8.1 + + '@graphql-tools/wrap@10.0.35(graphql@16.11.0)': + dependencies: + '@graphql-tools/delegate': 10.2.17(graphql@16.11.0) + '@graphql-tools/schema': 10.0.23(graphql@16.11.0) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + '@whatwg-node/promise-helpers': 1.3.1 + graphql: 16.11.0 + tslib: 2.8.1 + '@graphql-typed-document-node/core@3.2.0(graphql@16.11.0)': dependencies: graphql: 16.11.0 @@ -8546,6 +9737,8 @@ snapshots: dependencies: react: 19.1.0 + '@repeaterjs/repeater@3.0.6': {} + '@rollup/rollup-android-arm-eabi@4.29.1': optional: true @@ -8897,6 +10090,13 @@ snapshots: '@tanstack/history@1.115.0': {} + '@tanstack/query-core@5.75.6': {} + + '@tanstack/react-query@5.75.6(react@19.1.0)': + dependencies: + '@tanstack/query-core': 5.75.6 + react: 19.1.0 + '@tanstack/react-router-devtools@1.120.2(@tanstack/react-router@1.120.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.119.0)(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tiny-invariant@1.3.3)': dependencies: '@tanstack/react-router': 1.120.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -9121,6 +10321,8 @@ snapshots: '@types/estree@1.0.7': {} + '@types/js-yaml@4.0.9': {} + '@types/json-schema@7.0.15': optional: true @@ -9160,6 +10362,10 @@ snapshots: dependencies: '@types/estree': 1.0.7 + '@types/ws@8.18.1': + dependencies: + '@types/node': 22.15.16 + '@vitejs/plugin-react@4.4.1(vite@5.4.11(@types/node@22.15.16)(lightningcss@1.29.2)(sass@1.77.4)(terser@5.39.0))': dependencies: '@babel/core': 7.27.1 @@ -9302,6 +10508,27 @@ snapshots: '@xtuc/long': 4.2.2 optional: true + '@whatwg-node/disposablestack@0.0.6': + dependencies: + '@whatwg-node/promise-helpers': 1.3.1 + tslib: 2.8.1 + + '@whatwg-node/fetch@0.10.6': + dependencies: + '@whatwg-node/node-fetch': 0.7.18 + urlpattern-polyfill: 10.1.0 + + '@whatwg-node/node-fetch@0.7.18': + dependencies: + '@fastify/busboy': 3.1.1 + '@whatwg-node/disposablestack': 0.0.6 + '@whatwg-node/promise-helpers': 1.3.1 + tslib: 2.8.1 + + '@whatwg-node/promise-helpers@1.3.1': + dependencies: + tslib: 2.8.1 + '@wry/caches@1.0.1': dependencies: tslib: 2.8.1 @@ -9343,8 +10570,12 @@ snapshots: transitivePeerDependencies: - supports-color - agent-base@7.1.3: - optional: true + agent-base@7.1.3: {} + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 ajv-formats@2.1.1(ajv@8.17.1): optionalDependencies: @@ -9442,6 +10673,8 @@ snapshots: array-flatten@1.1.1: {} + array-union@2.1.0: {} + array.prototype.flatmap@1.3.3: dependencies: call-bind: 1.0.8 @@ -9459,8 +10692,12 @@ snapshots: get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 + asap@2.0.6: {} + assertion-error@2.0.1: {} + astral-regex@2.0.0: {} + async-function@1.0.0: {} async-limiter@2.0.0: {} @@ -9472,6 +10709,8 @@ snapshots: author-regex@1.0.0: {} + auto-bind@4.0.0: {} + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 @@ -9551,6 +10790,10 @@ snapshots: node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.24.5) + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + buffer-from@1.1.2: {} buffer@5.7.1: @@ -9590,6 +10833,11 @@ snapshots: callsites@3.1.0: {} + camel-case@4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.8.1 + camelcase@5.3.1: {} caniuse-lite@1.0.30001690: {} @@ -9598,6 +10846,12 @@ snapshots: caniuse-lite@1.0.30001717: {} + capital-case@1.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + upper-case-first: 2.0.2 + chai@5.1.2: dependencies: assertion-error: 2.0.1 @@ -9619,6 +10873,34 @@ snapshots: chalk@5.4.1: {} + change-case-all@1.0.15: + dependencies: + change-case: 4.1.2 + is-lower-case: 2.0.2 + is-upper-case: 2.0.2 + lower-case: 2.0.2 + lower-case-first: 2.0.2 + sponge-case: 1.0.1 + swap-case: 2.0.2 + title-case: 3.0.3 + upper-case: 2.0.2 + upper-case-first: 2.0.2 + + change-case@4.1.2: + dependencies: + camel-case: 4.1.2 + capital-case: 1.0.4 + constant-case: 3.0.4 + dot-case: 3.0.4 + header-case: 2.0.4 + no-case: 3.0.4 + param-case: 3.0.4 + pascal-case: 3.1.2 + path-case: 3.0.4 + sentence-case: 3.0.4 + snake-case: 3.0.4 + tslib: 2.8.1 + chardet@0.7.0: {} chart.js@4.4.9: @@ -9650,12 +10932,19 @@ snapshots: dependencies: clsx: 2.1.1 + clean-stack@2.2.0: {} + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 cli-spinners@2.9.2: {} + cli-truncate@2.1.0: + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + cli-width@3.0.0: {} client-only@0.0.1: {} @@ -9666,6 +10955,12 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 6.2.0 + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + clone@1.0.4: {} clsx@1.2.1: {} @@ -9718,6 +11013,8 @@ snapshots: color-string: 1.9.1 optional: true + colorette@2.0.20: {} + colors@1.1.2: {} combined-stream@1.0.8: @@ -9738,6 +11035,8 @@ snapshots: dependencies: graceful-readlink: 1.0.1 + common-tags@1.8.2: {} + concat-stream@1.6.2: dependencies: buffer-from: 1.1.2 @@ -9745,6 +11044,12 @@ snapshots: readable-stream: 2.3.8 typedarray: 0.0.6 + constant-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + upper-case: 2.0.2 + content-disposition@0.5.4: dependencies: safe-buffer: 5.2.1 @@ -9780,6 +11085,15 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 + cosmiconfig@8.3.6(typescript@5.8.3): + 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 + create-react-signals@0.8.0(react@19.1.0): dependencies: react: 19.1.0 @@ -9790,6 +11104,16 @@ snapshots: dependencies: cross-spawn: 7.0.6 + cross-fetch@3.2.0(encoding@0.1.13): + dependencies: + node-fetch: 2.7.0(encoding@0.1.13) + transitivePeerDependencies: + - encoding + + cross-inspect@1.0.1: + dependencies: + tslib: 2.8.1 + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -9842,6 +11166,8 @@ snapshots: d3-timer@3.0.1: {} + data-uri-to-buffer@4.0.1: {} + data-urls@5.0.0: dependencies: whatwg-mimetype: 4.0.0 @@ -9866,10 +11192,16 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.2 + dataloader@2.2.3: {} + + date-fns-jalali@4.1.0-0: {} + date-fns@4.1.0: {} debounce-promise@3.1.2: {} + debounce@1.2.1: {} + debounce@2.0.0: {} debug@2.6.9: @@ -9920,10 +11252,14 @@ snapshots: depd@2.0.0: {} + dependency-graph@0.11.0: {} + deprecation@2.3.1: {} destroy@1.2.0: {} + detect-indent@6.1.0: {} + detect-libc@2.0.3: optional: true @@ -9937,6 +11273,10 @@ snapshots: diff@7.0.0: {} + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + dom-helpers@5.2.1: dependencies: '@babel/runtime': 7.27.0 @@ -9960,8 +11300,17 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dotenv@16.5.0: {} + dotenv@8.6.0: {} + dset@3.1.4: {} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -10342,6 +11691,29 @@ snapshots: dependencies: reusify: 1.1.0 + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fbjs-css-vars@1.0.2: {} + + fbjs@3.0.5(encoding@0.1.13): + dependencies: + cross-fetch: 3.2.0(encoding@0.1.13) + fbjs-css-vars: 1.0.2 + loose-envify: 1.4.0 + object-assign: 4.1.1 + promise: 7.3.1 + setimmediate: 1.0.5 + ua-parser-js: 1.0.40 + transitivePeerDependencies: + - encoding + + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + figures@2.0.0: dependencies: escape-string-regexp: 1.0.5 @@ -10392,6 +11764,10 @@ snapshots: mime-types: 2.1.35 optional: true + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + forwarded@0.2.0: {} fp-ts@2.16.10: {} @@ -10501,6 +11877,15 @@ snapshots: define-properties: 1.2.1 gopd: 1.2.0 + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + goober@2.1.16(csstype@3.1.3): dependencies: csstype: 3.1.3 @@ -10528,6 +11913,28 @@ snapshots: - '@types/react-dom' - graphql-ws + graphql-config@5.1.5(@types/node@22.15.16)(bufferutil@4.0.9)(graphql@16.11.0)(typescript@5.8.3)(utf-8-validate@6.0.5): + dependencies: + '@graphql-tools/graphql-file-loader': 8.0.19(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.16)(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@6.0.5) + '@graphql-tools/utils': 10.8.6(graphql@16.11.0) + cosmiconfig: 8.3.6(typescript@5.8.3) + graphql: 16.11.0 + jiti: 2.4.2 + minimatch: 9.0.5 + string-env-interpolation: 1.0.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@fastify/websocket' + - '@types/node' + - bufferutil + - typescript + - uWebSockets.js + - utf-8-validate + graphql-language-service@5.3.1(graphql@16.11.0): dependencies: debounce-promise: 3.1.2 @@ -10535,6 +11942,14 @@ snapshots: nullthrows: 1.1.1 vscode-languageserver-types: 3.17.5 + graphql-request@6.1.0(encoding@0.1.13)(graphql@16.11.0): + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) + cross-fetch: 3.2.0(encoding@0.1.13) + graphql: 16.11.0 + transitivePeerDependencies: + - encoding + graphql-tag@2.12.6(graphql@16.11.0): dependencies: graphql: 16.11.0 @@ -10545,7 +11960,6 @@ snapshots: graphql: 16.11.0 optionalDependencies: ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) - optional: true graphql@16.11.0: {} @@ -10577,6 +11991,11 @@ snapshots: dependencies: function-bind: 1.1.2 + header-case@2.0.4: + dependencies: + capital-case: 1.0.4 + tslib: 2.8.1 + hoist-non-react-statics@3.3.2: dependencies: react-is: 16.13.1 @@ -10619,7 +12038,6 @@ snapshots: debug: 4.4.0 transitivePeerDependencies: - supports-color - optional: true https-proxy-agent@5.0.1: dependencies: @@ -10634,7 +12052,6 @@ snapshots: debug: 4.4.0 transitivePeerDependencies: - supports-color - optional: true human-signals@2.1.0: {} @@ -10649,6 +12066,10 @@ snapshots: ieee754@1.2.1: {} + ignore@5.3.2: {} + + immutable@3.7.6: {} + immutable@4.3.7: optional: true @@ -10665,6 +12086,10 @@ snapshots: dependencies: resolve-from: 5.0.0 + import-from@4.0.0: {} + + indent-string@4.0.0: {} + inherits@2.0.4: {} ini@1.3.8: {} @@ -10690,6 +12115,24 @@ snapshots: strip-ansi: 6.0.1 through: 2.3.8 + inquirer@8.2.6: + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 5.4.1 + run-async: 2.4.1 + rxjs: 7.8.2 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + wrap-ansi: 6.2.0 + internal-slot@1.1.0: dependencies: es-errors: 1.3.0 @@ -10698,12 +12141,21 @@ snapshots: internmap@2.0.3: {} + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + io-ts@2.2.22(fp-ts@2.16.10): dependencies: fp-ts: 2.16.10 ipaddr.js@1.9.1: {} + is-absolute@1.0.0: + dependencies: + is-relative: 1.0.0 + is-windows: 1.0.2 + is-array-buffer@3.0.5: dependencies: call-bind: 1.0.8 @@ -10770,6 +12222,10 @@ snapshots: is-interactive@1.0.0: {} + is-lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + is-map@2.0.3: {} is-number-object@1.1.1: @@ -10797,6 +12253,10 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 + is-relative@1.0.0: + dependencies: + is-unc-path: 1.0.0 + is-set@2.0.3: {} is-shared-array-buffer@1.0.4: @@ -10820,8 +12280,16 @@ snapshots: dependencies: which-typed-array: 1.1.19 + is-unc-path@1.0.0: + dependencies: + unc-path-regex: 0.1.2 + is-unicode-supported@0.1.0: {} + is-upper-case@2.0.2: + dependencies: + tslib: 2.8.1 + is-weakmap@2.0.2: {} is-weakref@1.1.1: @@ -10833,6 +12301,8 @@ snapshots: call-bound: 1.0.4 get-intrinsic: 1.3.0 + is-windows@1.0.2: {} + isarray@0.0.1: {} isarray@1.0.0: {} @@ -10843,6 +12313,10 @@ snapshots: isobject@3.0.1: {} + isomorphic-ws@5.0.0(ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)): + dependencies: + ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) + jackspeak@2.3.6: dependencies: '@isaacs/cliui': 8.0.2 @@ -10858,8 +12332,12 @@ snapshots: supports-color: 8.1.1 optional: true + jiti@1.21.7: {} + jiti@2.4.2: {} + jose@5.10.0: {} + jotai-signal@0.9.0(jotai@2.12.4(@types/react@19.1.3)(react@19.1.0))(react@19.1.0): dependencies: create-react-signals: 0.8.0(react@19.1.0) @@ -10873,6 +12351,10 @@ snapshots: js-tokens@4.0.0: {} + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + jsdom@25.0.1(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: cssstyle: 4.3.1 @@ -10920,6 +12402,11 @@ snapshots: json-schema-traverse@1.0.0: optional: true + json-to-pretty-yaml@1.2.2: + dependencies: + remedial: 1.0.8 + remove-trailing-spaces: 1.0.9 + json5@2.2.3: {} jsonfile@2.4.0: @@ -10979,6 +12466,19 @@ snapshots: dependencies: uc.micro: 2.1.0 + listr2@4.0.5(enquirer@2.4.1): + dependencies: + cli-truncate: 2.1.0 + colorette: 2.0.20 + log-update: 4.0.0 + p-map: 4.0.0 + rfdc: 1.4.1 + rxjs: 7.8.2 + through: 2.3.8 + wrap-ansi: 7.0.0 + optionalDependencies: + enquirer: 2.4.1 + load-json-file@4.0.0: dependencies: graceful-fs: 4.2.11 @@ -11004,6 +12504,8 @@ snapshots: lodash.merge@4.6.2: {} + lodash.sortby@4.7.0: {} + lodash@4.17.21: {} log-symbols@4.1.0: @@ -11011,6 +12513,13 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 + log-update@4.0.0: + dependencies: + ansi-escapes: 4.3.2 + cli-cursor: 3.1.0 + slice-ansi: 4.0.0 + wrap-ansi: 6.2.0 + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 @@ -11019,6 +12528,14 @@ snapshots: loupe@3.1.3: {} + lower-case-first@2.0.2: + dependencies: + tslib: 2.8.1 + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + lru-cache@10.4.3: {} lru-cache@4.1.5: @@ -11030,7 +12547,7 @@ snapshots: dependencies: yallist: 3.1.1 - lucide-react@0.508.0(react@19.1.0): + lucide-react@0.509.0(react@19.1.0): dependencies: react: 19.1.0 @@ -11040,6 +12557,8 @@ snapshots: make-error@1.3.6: {} + map-cache@0.2.2: {} + markdown-it@14.1.0: dependencies: argparse: 2.0.1 @@ -11134,11 +12653,6 @@ snapshots: netmask@2.0.2: {} - next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0): - dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - next@15.0.4(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4): dependencies: '@next/env': 15.0.4 @@ -11193,6 +12707,13 @@ snapshots: - '@babel/core' - babel-plugin-macros + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-domexception@1.0.0: {} + node-fetch@2.6.7(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 @@ -11205,17 +12726,29 @@ snapshots: optionalDependencies: encoding: 0.1.13 + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + node-forge@1.3.1: {} node-gyp-build@4.8.4: optional: true + node-int64@0.4.0: {} + node-pac@0.5.1: dependencies: netmask: 2.0.2 node-releases@2.0.19: {} + normalize-path@2.1.1: + dependencies: + remove-trailing-separator: 1.1.0 + normalize-path@3.0.0: {} npm-run-path@4.0.1: @@ -11305,6 +12838,10 @@ snapshots: dependencies: p-try: 2.2.0 + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + p-locate@2.0.0: dependencies: p-limit: 1.3.0 @@ -11313,10 +12850,19 @@ snapshots: dependencies: p-limit: 2.3.0 + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + p-try@1.0.0: {} p-try@2.2.0: {} + param-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -11325,6 +12871,12 @@ snapshots: dependencies: author-regex: 1.0.0 + parse-filepath@1.0.2: + dependencies: + is-absolute: 1.0.0 + map-cache: 0.2.2 + path-root: 0.1.1 + parse-github-url@1.0.2: {} parse-json@4.0.0: @@ -11353,6 +12905,16 @@ snapshots: parseurl@1.3.3: {} + pascal-case@3.1.2: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + path-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + path-exists@3.0.0: {} path-exists@4.0.0: {} @@ -11363,6 +12925,12 @@ snapshots: path-parse@1.0.7: {} + path-root-regex@0.1.2: {} + + path-root@0.1.1: + dependencies: + path-root-regex: 0.1.2 + path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 @@ -11423,6 +12991,10 @@ snapshots: process-nextick-args@2.0.1: {} + promise@7.3.1: + dependencies: + asap: 2.0.6 + prop-types@15.8.1: dependencies: loose-envify: 1.4.0 @@ -11472,9 +13044,11 @@ snapshots: dependencies: react: 19.1.0 - react-day-picker@8.10.1(date-fns@4.1.0)(react@19.1.0): + react-day-picker@9.6.0(react@19.1.0): dependencies: + '@date-fns/tz': 1.2.0 date-fns: 4.1.0 + date-fns-jalali: 4.1.0-0 react: 19.1.0 react-dom@19.1.0(react@19.1.0): @@ -11648,6 +13222,20 @@ snapshots: '@types/react': 19.1.3 react: 19.1.0 + relay-runtime@12.0.0(encoding@0.1.13): + dependencies: + '@babel/runtime': 7.27.1 + fbjs: 3.0.5(encoding@0.1.13) + invariant: 2.2.4 + transitivePeerDependencies: + - encoding + + remedial@1.0.8: {} + + remove-trailing-separator@1.1.0: {} + + remove-trailing-spaces@1.0.9: {} + require-directory@2.1.1: {} require-from-string@2.0.2: @@ -11680,6 +13268,8 @@ snapshots: rfc4648@1.5.4: {} + rfdc@1.4.1: {} + rollup@4.29.1: dependencies: '@types/estree': 1.0.6 @@ -11785,6 +13375,8 @@ snapshots: ajv-keywords: 5.1.0(ajv@8.17.1) optional: true + scuid@1.1.0: {} + selderee@0.11.0: dependencies: parseley: 0.12.1 @@ -11814,6 +13406,12 @@ snapshots: transitivePeerDependencies: - supports-color + sentence-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + upper-case-first: 2.0.2 + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 @@ -11873,6 +13471,8 @@ snapshots: is-plain-object: 2.0.4 is-primitive: 3.0.1 + setimmediate@1.0.5: {} + setprototypeof@1.2.0: {} sharp@0.33.5: @@ -11936,6 +13536,8 @@ snapshots: shebang-regex@3.0.0: {} + shell-quote@1.8.2: {} + side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 @@ -11976,11 +13578,32 @@ snapshots: figures: 2.0.0 pkg-conf: 2.1.0 + signedsource@1.0.0: {} + simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 optional: true + slash@3.0.0: {} + + slice-ansi@3.0.0: + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + + slice-ansi@4.0.0: + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + sni@1.0.0: {} socket.io-adapter@2.5.5(bufferutil@4.0.9)(utf-8-validate@6.0.5): @@ -12062,6 +13685,10 @@ snapshots: source-map@0.6.1: {} + sponge-case@1.0.1: + dependencies: + tslib: 2.8.1 + stackback@0.0.2: {} stackframe@1.3.4: {} @@ -12079,6 +13706,8 @@ snapshots: streamsearch@1.1.0: {} + string-env-interpolation@1.0.1: {} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -12165,11 +13794,21 @@ snapshots: has-flag: 4.0.0 supports-color: 7.2.0 + swap-case@2.0.2: + dependencies: + tslib: 2.8.1 + symbol-observable@4.0.0: {} symbol-tree@3.2.4: optional: true + sync-fetch@0.6.0-2: + dependencies: + node-fetch: 3.3.2 + timeout-signal: 2.0.0 + whatwg-mimetype: 4.0.0 + tabbable@6.2.0: {} tailwind-merge@3.2.0: {} @@ -12203,6 +13842,8 @@ snapshots: through@2.3.8: {} + timeout-signal@2.0.0: {} + tiny-invariant@1.3.3: {} tiny-warning@1.0.3: {} @@ -12219,6 +13860,10 @@ snapshots: tinyspy@3.0.2: {} + title-case@3.0.3: + dependencies: + tslib: 2.8.1 + tldts-core@6.1.86: optional: true @@ -12255,6 +13900,8 @@ snapshots: dependencies: tslib: 2.8.1 + ts-log@2.2.7: {} + ts-node@10.9.2(@types/node@22.15.16)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -12287,6 +13934,8 @@ snapshots: tslib@2.1.0: {} + tslib@2.6.3: {} + tslib@2.8.1: {} tsx@4.19.4: @@ -12346,6 +13995,8 @@ snapshots: typescript@5.8.3: {} + ua-parser-js@1.0.40: {} + uc.micro@2.1.0: {} ultracite@4.2.4: @@ -12359,6 +14010,8 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 + unc-path-regex@0.1.2: {} + underscore@1.13.7: {} undici-types@6.20.0: {} @@ -12367,6 +14020,10 @@ snapshots: universal-user-agent@6.0.1: {} + unixify@1.0.0: + dependencies: + normalize-path: 2.1.1 + unpipe@1.0.0: {} unplugin@2.2.0: @@ -12392,6 +14049,14 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + upper-case-first@2.0.2: + dependencies: + tslib: 2.8.1 + + upper-case@2.0.2: + dependencies: + tslib: 2.8.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -12399,6 +14064,8 @@ snapshots: url-join@4.0.1: {} + urlpattern-polyfill@10.1.0: {} + use-callback-ref@1.3.3(@types/react@19.1.3)(react@19.1.0): dependencies: react: 19.1.0 @@ -12546,6 +14213,8 @@ snapshots: dependencies: defaults: 1.0.4 + web-streams-polyfill@3.3.3: {} + webidl-conversions@3.0.1: {} webidl-conversions@7.0.0: @@ -12601,8 +14270,7 @@ snapshots: iconv-lite: 0.6.3 optional: true - whatwg-mimetype@4.0.0: - optional: true + whatwg-mimetype@4.0.0: {} whatwg-url@14.2.0: dependencies: @@ -12732,7 +14400,6 @@ snapshots: optionalDependencies: bufferutil: 4.0.9 utf-8-validate: 6.0.5 - optional: true xml-name-validator@5.0.0: optional: true @@ -12751,17 +14418,25 @@ snapshots: y18n@4.0.3: {} + y18n@5.0.8: {} + yallist@2.1.2: {} yallist@3.1.1: {} + yaml-ast-parser@0.0.43: {} + yaml@1.10.2: {} + yaml@2.7.1: {} + yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 decamelize: 1.2.0 + yargs-parser@21.1.1: {} + yargs@15.4.1: dependencies: cliui: 6.0.0 @@ -12776,8 +14451,20 @@ snapshots: y18n: 4.0.3 yargs-parser: 18.1.3 + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + yn@3.1.1: {} + yocto-queue@0.1.0: {} + zen-observable-ts@1.2.5: dependencies: zen-observable: 0.8.15