ATlast — you'll never need to find your favorites on another platform again. Find your favs in the ATmosphere.
atproto

initialize adonis-vue project template w atproto-oauth install

byarielm.fyi 0cf6c918 5f0e0420

verified
+9579
+18
.adonisjs/client/data.d.ts
··· 1 + /** 2 + * This file is automatically generated. 3 + * DO NOT EDIT manually 4 + */ 5 + 6 + /// <reference path="./manifest.d.ts" /> 7 + import type { InferData, InferVariants } from '@adonisjs/core/types/transformers' 8 + import type { InferSharedProps } from '@adonisjs/inertia/types' 9 + import type UserTransformer from '#transformers/user_transformer' 10 + import type InertiaMiddleware from '#middleware/inertia_middleware' 11 + 12 + export namespace Data { 13 + export type User = InferData<UserTransformer> 14 + export namespace User { 15 + export type Variants = InferVariants<UserTransformer> 16 + } 17 + export type SharedProps = InferSharedProps<InertiaMiddleware> 18 + }
+10
.adonisjs/client/manifest.d.ts
··· 1 + /** 2 + * This file is automatically generated. 3 + * DO NOT EDIT manually 4 + */ 5 + 6 + /// <reference path="../../adonisrc.ts" /> 7 + /// <reference path="../../config/atproto_oauth.ts" /> 8 + /// <reference path="../../config/auth.ts" /> 9 + /// <reference path="../../config/hash.ts" /> 10 + /// <reference path="../../config/logger.ts" />
+83
.adonisjs/client/registry/index.ts
··· 1 + /* eslint-disable prettier/prettier */ 2 + import type { AdonisEndpoint } from '@tuyau/core/types' 3 + import type { Registry } from './schema.d.ts' 4 + import type { ApiDefinition } from './tree.d.ts' 5 + 6 + const placeholder: any = {} 7 + 8 + const routes = { 9 + 'oauth.logout': { 10 + methods: ["POST"], 11 + pattern: '/oauth/logout', 12 + tokens: [{"old":"/oauth/logout","type":0,"val":"oauth","end":""},{"old":"/oauth/logout","type":0,"val":"logout","end":""}], 13 + types: placeholder as Registry['oauth.logout']['types'], 14 + }, 15 + 'oauth.login': { 16 + methods: ["POST"], 17 + pattern: '/oauth/login', 18 + tokens: [{"old":"/oauth/login","type":0,"val":"oauth","end":""},{"old":"/oauth/login","type":0,"val":"login","end":""}], 19 + types: placeholder as Registry['oauth.login']['types'], 20 + }, 21 + 'oauth.signup': { 22 + methods: ["POST"], 23 + pattern: '/oauth/signup', 24 + tokens: [{"old":"/oauth/signup","type":0,"val":"oauth","end":""},{"old":"/oauth/signup","type":0,"val":"signup","end":""}], 25 + types: placeholder as Registry['oauth.signup']['types'], 26 + }, 27 + 'oauth.callback': { 28 + methods: ["GET","HEAD"], 29 + pattern: '/oauth/callback', 30 + tokens: [{"old":"/oauth/callback","type":0,"val":"oauth","end":""},{"old":"/oauth/callback","type":0,"val":"callback","end":""}], 31 + types: placeholder as Registry['oauth.callback']['types'], 32 + }, 33 + 'home': { 34 + methods: ["GET","HEAD"], 35 + pattern: '/', 36 + tokens: [{"old":"/","type":0,"val":"/","end":""}], 37 + types: placeholder as Registry['home']['types'], 38 + }, 39 + 'new_account.create': { 40 + methods: ["GET","HEAD"], 41 + pattern: '/signup', 42 + tokens: [{"old":"/signup","type":0,"val":"signup","end":""}], 43 + types: placeholder as Registry['new_account.create']['types'], 44 + }, 45 + 'new_account.store': { 46 + methods: ["POST"], 47 + pattern: '/signup', 48 + tokens: [{"old":"/signup","type":0,"val":"signup","end":""}], 49 + types: placeholder as Registry['new_account.store']['types'], 50 + }, 51 + 'session.create': { 52 + methods: ["GET","HEAD"], 53 + pattern: '/login', 54 + tokens: [{"old":"/login","type":0,"val":"login","end":""}], 55 + types: placeholder as Registry['session.create']['types'], 56 + }, 57 + 'session.store': { 58 + methods: ["POST"], 59 + pattern: '/login', 60 + tokens: [{"old":"/login","type":0,"val":"login","end":""}], 61 + types: placeholder as Registry['session.store']['types'], 62 + }, 63 + 'session.destroy': { 64 + methods: ["POST"], 65 + pattern: '/logout', 66 + tokens: [{"old":"/logout","type":0,"val":"logout","end":""}], 67 + types: placeholder as Registry['session.destroy']['types'], 68 + }, 69 + } as const satisfies Record<string, AdonisEndpoint> 70 + 71 + export { routes } 72 + 73 + export const registry = { 74 + routes, 75 + $tree: {} as ApiDefinition, 76 + } 77 + 78 + declare module '@tuyau/core/types' { 79 + export interface UserRegistry { 80 + routes: typeof routes 81 + $tree: ApiDefinition 82 + } 83 + }
+120
.adonisjs/client/registry/schema.d.ts
··· 1 + /* eslint-disable prettier/prettier */ 2 + /// <reference path="../manifest.d.ts" /> 3 + 4 + import type { ExtractBody, ExtractQuery, ExtractQueryForGet, ExtractResponse } from '@tuyau/core/types' 5 + import type { InferInput } from '@vinejs/vine/types' 6 + 7 + export type ParamValue = string | number | bigint | boolean 8 + 9 + export interface Registry { 10 + 'oauth.logout': { 11 + methods: ["POST"] 12 + pattern: '/oauth/logout' 13 + types: { 14 + body: {} 15 + paramsTuple: [] 16 + params: {} 17 + query: {} 18 + response: ExtractResponse<Awaited<ReturnType<import('#controllers/oauth_controller').default['handleLogout']>>> 19 + } 20 + } 21 + 'oauth.login': { 22 + methods: ["POST"] 23 + pattern: '/oauth/login' 24 + types: { 25 + body: ExtractBody<InferInput<(typeof import('#validators/oauth').loginRequestValidator)>> 26 + paramsTuple: [] 27 + params: {} 28 + query: ExtractQuery<InferInput<(typeof import('#validators/oauth').loginRequestValidator)>> 29 + response: ExtractResponse<Awaited<ReturnType<import('#controllers/oauth_controller').default['handleLogin']>>> 30 + } 31 + } 32 + 'oauth.signup': { 33 + methods: ["POST"] 34 + pattern: '/oauth/signup' 35 + types: { 36 + body: ExtractBody<InferInput<(typeof import('#validators/oauth').signupRequestValidator)>> 37 + paramsTuple: [] 38 + params: {} 39 + query: ExtractQuery<InferInput<(typeof import('#validators/oauth').signupRequestValidator)>> 40 + response: ExtractResponse<Awaited<ReturnType<import('#controllers/oauth_controller').default['handleSignup']>>> 41 + } 42 + } 43 + 'oauth.callback': { 44 + methods: ["GET","HEAD"] 45 + pattern: '/oauth/callback' 46 + types: { 47 + body: {} 48 + paramsTuple: [] 49 + params: {} 50 + query: {} 51 + response: ExtractResponse<Awaited<ReturnType<import('#controllers/oauth_controller').default['callback']>>> 52 + } 53 + } 54 + 'home': { 55 + methods: ["GET","HEAD"] 56 + pattern: '/' 57 + types: { 58 + body: {} 59 + paramsTuple: [] 60 + params: {} 61 + query: {} 62 + response: unknown 63 + } 64 + } 65 + 'new_account.create': { 66 + methods: ["GET","HEAD"] 67 + pattern: '/signup' 68 + types: { 69 + body: {} 70 + paramsTuple: [] 71 + params: {} 72 + query: {} 73 + response: ExtractResponse<Awaited<ReturnType<import('#controllers/new_account_controller').default['create']>>> 74 + } 75 + } 76 + 'new_account.store': { 77 + methods: ["POST"] 78 + pattern: '/signup' 79 + types: { 80 + body: ExtractBody<InferInput<(typeof import('#validators/user').signupValidator)>> 81 + paramsTuple: [] 82 + params: {} 83 + query: ExtractQuery<InferInput<(typeof import('#validators/user').signupValidator)>> 84 + response: ExtractResponse<Awaited<ReturnType<import('#controllers/new_account_controller').default['store']>>> 85 + } 86 + } 87 + 'session.create': { 88 + methods: ["GET","HEAD"] 89 + pattern: '/login' 90 + types: { 91 + body: {} 92 + paramsTuple: [] 93 + params: {} 94 + query: {} 95 + response: ExtractResponse<Awaited<ReturnType<import('#controllers/session_controller').default['create']>>> 96 + } 97 + } 98 + 'session.store': { 99 + methods: ["POST"] 100 + pattern: '/login' 101 + types: { 102 + body: {} 103 + paramsTuple: [] 104 + params: {} 105 + query: {} 106 + response: ExtractResponse<Awaited<ReturnType<import('#controllers/session_controller').default['store']>>> 107 + } 108 + } 109 + 'session.destroy': { 110 + methods: ["POST"] 111 + pattern: '/logout' 112 + types: { 113 + body: {} 114 + paramsTuple: [] 115 + params: {} 116 + query: {} 117 + response: ExtractResponse<Awaited<ReturnType<import('#controllers/session_controller').default['destroy']>>> 118 + } 119 + } 120 + }
+21
.adonisjs/client/registry/tree.d.ts
··· 1 + /* eslint-disable prettier/prettier */ 2 + import type { routes } from './index.ts' 3 + 4 + export interface ApiDefinition { 5 + oauth: { 6 + logout: typeof routes['oauth.logout'] 7 + login: typeof routes['oauth.login'] 8 + signup: typeof routes['oauth.signup'] 9 + callback: typeof routes['oauth.callback'] 10 + } 11 + home: typeof routes['home'] 12 + newAccount: { 13 + create: typeof routes['new_account.create'] 14 + store: typeof routes['new_account.store'] 15 + } 16 + session: { 17 + create: typeof routes['session.create'] 18 + store: typeof routes['session.store'] 19 + destroy: typeof routes['session.destroy'] 20 + } 21 + }
+10
.adonisjs/server/controllers.ts
··· 1 + /** 2 + * This file is automatically generated. 3 + * DO NOT EDIT manually 4 + */ 5 + 6 + export const controllers = { 7 + NewAccount: () => import('#controllers/new_account_controller'), 8 + Oauth: () => import('#controllers/oauth_controller'), 9 + Session: () => import('#controllers/session_controller'), 10 + }
+6
.adonisjs/server/events.ts
··· 1 + /** 2 + * This file is automatically generated. 3 + * DO NOT EDIT manually 4 + */ 5 + 6 + export const events = {}
+6
.adonisjs/server/listeners.ts
··· 1 + /** 2 + * This file is automatically generated. 3 + * DO NOT EDIT manually 4 + */ 5 + 6 + export const listeners = {}
+18
.adonisjs/server/pages.d.ts
··· 1 + import '@adonisjs/inertia/types' 2 + 3 + import type { VNodeProps, AllowedComponentProps, ComponentInstance } from 'vue' 4 + 5 + type ExtractProps<T> = Omit< 6 + ComponentInstance<T>['$props'], 7 + keyof VNodeProps | keyof AllowedComponentProps 8 + > 9 + 10 + declare module '@adonisjs/inertia/types' { 11 + export interface InertiaPages { 12 + 'auth/login': ExtractProps<(typeof import('../../inertia/pages/auth/login.vue'))['default']> 13 + 'auth/signup': ExtractProps<(typeof import('../../inertia/pages/auth/signup.vue'))['default']> 14 + 'errors/not_found': ExtractProps<(typeof import('../../inertia/pages/errors/not_found.vue'))['default']> 15 + 'errors/server_error': ExtractProps<(typeof import('../../inertia/pages/errors/server_error.vue'))['default']> 16 + 'home': ExtractProps<(typeof import('../../inertia/pages/home.vue'))['default']> 17 + } 18 + }
+41
.adonisjs/server/routes.d.ts
··· 1 + import '@adonisjs/core/types/http' 2 + 3 + type ParamValue = string | number | bigint | boolean 4 + 5 + export type ScannedRoutes = { 6 + ALL: { 7 + 'oauth.logout': { paramsTuple?: []; params?: {} } 8 + 'oauth.login': { paramsTuple?: []; params?: {} } 9 + 'oauth.signup': { paramsTuple?: []; params?: {} } 10 + 'oauth.callback': { paramsTuple?: []; params?: {} } 11 + 'home': { paramsTuple?: []; params?: {} } 12 + 'new_account.create': { paramsTuple?: []; params?: {} } 13 + 'new_account.store': { paramsTuple?: []; params?: {} } 14 + 'session.create': { paramsTuple?: []; params?: {} } 15 + 'session.store': { paramsTuple?: []; params?: {} } 16 + 'session.destroy': { paramsTuple?: []; params?: {} } 17 + } 18 + GET: { 19 + 'oauth.callback': { paramsTuple?: []; params?: {} } 20 + 'home': { paramsTuple?: []; params?: {} } 21 + 'new_account.create': { paramsTuple?: []; params?: {} } 22 + 'session.create': { paramsTuple?: []; params?: {} } 23 + } 24 + HEAD: { 25 + 'oauth.callback': { paramsTuple?: []; params?: {} } 26 + 'home': { paramsTuple?: []; params?: {} } 27 + 'new_account.create': { paramsTuple?: []; params?: {} } 28 + 'session.create': { paramsTuple?: []; params?: {} } 29 + } 30 + POST: { 31 + 'oauth.logout': { paramsTuple?: []; params?: {} } 32 + 'oauth.login': { paramsTuple?: []; params?: {} } 33 + 'oauth.signup': { paramsTuple?: []; params?: {} } 34 + 'new_account.store': { paramsTuple?: []; params?: {} } 35 + 'session.store': { paramsTuple?: []; params?: {} } 36 + 'session.destroy': { paramsTuple?: []; params?: {} } 37 + } 38 + } 39 + declare module '@adonisjs/core/types/http' { 40 + export interface RoutesList extends ScannedRoutes {} 41 + }
+11
.claude/settings.local.json
··· 1 + { 2 + "permissions": { 3 + "allow": [ 4 + "mcp__serena__check_onboarding_performed", 5 + "mcp__serena__list_memories", 6 + "mcp__serena__list_dir", 7 + "Bash(ls:*)" 8 + ] 9 + }, 10 + "outputStyle": "Learning" 11 + }
+22
.editorconfig
··· 1 + # http://editorconfig.org 2 + 3 + [*] 4 + indent_style = space 5 + indent_size = 2 6 + end_of_line = lf 7 + charset = utf-8 8 + trim_trailing_whitespace = true 9 + insert_final_newline = true 10 + 11 + [*.json] 12 + insert_final_newline = unset 13 + 14 + [**.min.js] 15 + indent_style = unset 16 + insert_final_newline = unset 17 + 18 + [MakeFile] 19 + indent_style = space 20 + 21 + [*.md] 22 + trim_trailing_whitespace = false
+14
.env.example
··· 1 + # Node 2 + TZ=UTC 3 + PORT=3333 4 + HOST=127.0.0.1 5 + NODE_ENV=development 6 + 7 + # App 8 + LOG_LEVEL=info 9 + APP_KEY= 10 + APP_URL=http://${HOST}:${PORT} 11 + 12 + # Session 13 + SESSION_DRIVER=cookie 14 + PUBLIC_URL=http://$HOST:$PORT/
+26
.gitignore
··· 1 + # Dependencies and AdonisJS build 2 + node_modules 3 + build 4 + tmp/* 5 + !tmp/.gitkeep 6 + 7 + # Secrets 8 + .env 9 + .env.local 10 + .env.production.local 11 + .env.development.local 12 + 13 + # Frontend assets compiled code 14 + public/assets 15 + 16 + # Build tools specific 17 + npm-debug.log 18 + yarn-error.log 19 + 20 + # Editors specific 21 + .fleet 22 + .idea 23 + .vscode 24 + 25 + # Platform specific 26 + .DS_Store
+3
.prettierignore
··· 1 + .adonisjs 2 + node_modules 3 + build
+1
.serena/.gitignore
··· 1 + /cache
+126
.serena/project.yml
··· 1 + # the name by which the project can be referenced within Serena 2 + project_name: "ATlast" 3 + 4 + 5 + # list of languages for which language servers are started; choose from: 6 + # al bash clojure cpp csharp 7 + # csharp_omnisharp dart elixir elm erlang 8 + # fortran fsharp go groovy haskell 9 + # java julia kotlin lua markdown 10 + # matlab nix pascal perl php 11 + # php_phpactor powershell python python_jedi r 12 + # rego ruby ruby_solargraph rust scala 13 + # swift terraform toml typescript typescript_vts 14 + # vue yaml zig 15 + # (This list may be outdated. For the current list, see values of Language enum here: 16 + # https://github.com/oraios/serena/blob/main/src/solidlsp/ls_config.py 17 + # For some languages, there are alternative language servers, e.g. csharp_omnisharp, ruby_solargraph.) 18 + # Note: 19 + # - For C, use cpp 20 + # - For JavaScript, use typescript 21 + # - For Free Pascal/Lazarus, use pascal 22 + # Special requirements: 23 + # Some languages require additional setup/installations. 24 + # See here for details: https://oraios.github.io/serena/01-about/020_programming-languages.html#language-servers 25 + # When using multiple languages, the first language server that supports a given file will be used for that file. 26 + # The first language is the default language and the respective language server will be used as a fallback. 27 + # Note that when using the JetBrains backend, language servers are not used and this list is correspondingly ignored. 28 + languages: 29 + - vue 30 + 31 + # the encoding used by text files in the project 32 + # For a list of possible encodings, see https://docs.python.org/3.11/library/codecs.html#standard-encodings 33 + encoding: "utf-8" 34 + 35 + # The language backend to use for this project. 36 + # If not set, the global setting from serena_config.yml is used. 37 + # Valid values: LSP, JetBrains 38 + # Note: the backend is fixed at startup. If a project with a different backend 39 + # is activated post-init, an error will be returned. 40 + language_backend: 41 + 42 + # whether to use project's .gitignore files to ignore files 43 + ignore_all_files_in_gitignore: true 44 + 45 + # list of additional paths to ignore in this project. 46 + # Same syntax as gitignore, so you can use * and **. 47 + # Note: global ignored_paths from serena_config.yml are also applied additively. 48 + ignored_paths: [] 49 + 50 + # whether the project is in read-only mode 51 + # If set to true, all editing tools will be disabled and attempts to use them will result in an error 52 + # Added on 2025-04-18 53 + read_only: false 54 + 55 + # list of tool names to exclude. We recommend not excluding any tools, see the readme for more details. 56 + # Below is the complete list of tools for convenience. 57 + # To make sure you have the latest list of tools, and to view their descriptions, 58 + # execute `uv run scripts/print_tool_overview.py`. 59 + # 60 + # * `activate_project`: Activates a project by name. 61 + # * `check_onboarding_performed`: Checks whether project onboarding was already performed. 62 + # * `create_text_file`: Creates/overwrites a file in the project directory. 63 + # * `delete_lines`: Deletes a range of lines within a file. 64 + # * `delete_memory`: Deletes a memory from Serena's project-specific memory store. 65 + # * `execute_shell_command`: Executes a shell command. 66 + # * `find_referencing_code_snippets`: Finds code snippets in which the symbol at the given location is referenced. 67 + # * `find_referencing_symbols`: Finds symbols that reference the symbol at the given location (optionally filtered by type). 68 + # * `find_symbol`: Performs a global (or local) search for symbols with/containing a given name/substring (optionally filtered by type). 69 + # * `get_current_config`: Prints the current configuration of the agent, including the active and available projects, tools, contexts, and modes. 70 + # * `get_symbols_overview`: Gets an overview of the top-level symbols defined in a given file. 71 + # * `initial_instructions`: Gets the initial instructions for the current project. 72 + # Should only be used in settings where the system prompt cannot be set, 73 + # e.g. in clients you have no control over, like Claude Desktop. 74 + # * `insert_after_symbol`: Inserts content after the end of the definition of a given symbol. 75 + # * `insert_at_line`: Inserts content at a given line in a file. 76 + # * `insert_before_symbol`: Inserts content before the beginning of the definition of a given symbol. 77 + # * `list_dir`: Lists files and directories in the given directory (optionally with recursion). 78 + # * `list_memories`: Lists memories in Serena's project-specific memory store. 79 + # * `onboarding`: Performs onboarding (identifying the project structure and essential tasks, e.g. for testing or building). 80 + # * `prepare_for_new_conversation`: Provides instructions for preparing for a new conversation (in order to continue with the necessary context). 81 + # * `read_file`: Reads a file within the project directory. 82 + # * `read_memory`: Reads the memory with the given name from Serena's project-specific memory store. 83 + # * `remove_project`: Removes a project from the Serena configuration. 84 + # * `replace_lines`: Replaces a range of lines within a file with new content. 85 + # * `replace_symbol_body`: Replaces the full definition of a symbol. 86 + # * `restart_language_server`: Restarts the language server, may be necessary when edits not through Serena happen. 87 + # * `search_for_pattern`: Performs a search for a pattern in the project. 88 + # * `summarize_changes`: Provides instructions for summarizing the changes made to the codebase. 89 + # * `switch_modes`: Activates modes by providing a list of their names 90 + # * `think_about_collected_information`: Thinking tool for pondering the completeness of collected information. 91 + # * `think_about_task_adherence`: Thinking tool for determining whether the agent is still on track with the current task. 92 + # * `think_about_whether_you_are_done`: Thinking tool for determining whether the task is truly completed. 93 + # * `write_memory`: Writes a named memory (for future reference) to Serena's project-specific memory store. 94 + excluded_tools: [] 95 + 96 + # list of tools to include that would otherwise be disabled (particularly optional tools that are disabled by default) 97 + included_optional_tools: [] 98 + 99 + # fixed set of tools to use as the base tool set (if non-empty), replacing Serena's default set of tools. 100 + # This cannot be combined with non-empty excluded_tools or included_optional_tools. 101 + fixed_tools: [] 102 + 103 + # list of mode names to that are always to be included in the set of active modes 104 + # The full set of modes to be activated is base_modes + default_modes. 105 + # If the setting is undefined, the base_modes from the global configuration (serena_config.yml) apply. 106 + # Otherwise, this setting overrides the global configuration. 107 + # Set this to [] to disable base modes for this project. 108 + # Set this to a list of mode names to always include the respective modes for this project. 109 + base_modes: 110 + 111 + # list of mode names that are to be activated by default. 112 + # The full set of modes to be activated is base_modes + default_modes. 113 + # If the setting is undefined, the default_modes from the global configuration (serena_config.yml) apply. 114 + # Otherwise, this overrides the setting from the global configuration (serena_config.yml). 115 + # This setting can, in turn, be overridden by CLI parameters (--mode). 116 + default_modes: 117 + 118 + # initial prompt for the project. It will always be given to the LLM upon activating the project 119 + # (contrary to the memories, which are loaded on demand). 120 + initial_prompt: "" 121 + 122 + # time budget (seconds) per tool call for the retrieval of additional symbol information 123 + # such as docstrings or parameter information. 124 + # This overrides the corresponding setting in the global configuration; see the documentation there. 125 + # If null or missing, use the setting from the global configuration. 126 + symbol_info_budget:
+7
.zed/settings.json
··· 1 + { 2 + "format_on_save": "on", 3 + "formatter": "prettier", 4 + "code_actions_on_format": { 5 + "source.fixAll.eslint": true 6 + } 7 + }
+27
ace.js
··· 1 + /* 2 + |-------------------------------------------------------------------------- 3 + | JavaScript entrypoint for running ace commands 4 + |-------------------------------------------------------------------------- 5 + | 6 + | DO NOT MODIFY THIS FILE AS IT WILL BE OVERRIDDEN DURING THE BUILD 7 + | PROCESS. 8 + | 9 + | See docs.adonisjs.com/guides/typescript-build-process#creating-production-build 10 + | 11 + | Since, we cannot run TypeScript source code using "node" binary, we need 12 + | a JavaScript entrypoint to run ace commands. 13 + | 14 + | This file registers the "ts-node/esm" hook with the Node.js module system 15 + | and then imports the "bin/console.ts" file. 16 + | 17 + */ 18 + 19 + /** 20 + * Register hook to process TypeScript files using @poppinss/ts-exec 21 + */ 22 + import '@poppinss/ts-exec' 23 + 24 + /** 25 + * Import ace console entrypoint 26 + */ 27 + await import('./bin/console.js')
+139
adonisrc.ts
··· 1 + import { indexPages } from '@adonisjs/inertia' 2 + import { indexEntities } from '@adonisjs/core' 3 + import { defineConfig } from '@adonisjs/core/app' 4 + import { generateRegistry } from '@tuyau/core/hooks' 5 + 6 + export default defineConfig({ 7 + /* 8 + |-------------------------------------------------------------------------- 9 + | Experimental flags 10 + |-------------------------------------------------------------------------- 11 + | 12 + | The following features will be enabled by default in the next major release 13 + | of AdonisJS. You can opt into them today to avoid any breaking changes 14 + | during upgrade. 15 + | 16 + */ 17 + experimental: {}, 18 + 19 + /* 20 + |-------------------------------------------------------------------------- 21 + | Commands 22 + |-------------------------------------------------------------------------- 23 + | 24 + | List of ace commands to register from packages. The application commands 25 + | will be scanned automatically from the "./commands" directory. 26 + | 27 + */ 28 + commands: [ 29 + () => import('@adonisjs/core/commands'), 30 + () => import('@adonisjs/lucid/commands'), 31 + () => import('@adonisjs/session/commands'), 32 + () => import('@adonisjs/inertia/commands'), 33 + ], 34 + 35 + /* 36 + |-------------------------------------------------------------------------- 37 + | Service providers 38 + |-------------------------------------------------------------------------- 39 + | 40 + | List of service providers to import and register when booting the 41 + | application 42 + | 43 + */ 44 + providers: [ 45 + () => import('@adonisjs/core/providers/app_provider'), 46 + () => import('@adonisjs/core/providers/hash_provider'), 47 + { 48 + file: () => import('@adonisjs/core/providers/repl_provider'), 49 + environment: ['repl', 'test'], 50 + }, 51 + () => import('@adonisjs/core/providers/vinejs_provider'), 52 + () => import('@adonisjs/core/providers/edge_provider'), 53 + () => import('@adonisjs/session/session_provider'), 54 + () => import('@adonisjs/vite/vite_provider'), 55 + () => import('@adonisjs/shield/shield_provider'), 56 + () => import('@adonisjs/static/static_provider'), 57 + () => import('@adonisjs/lucid/database_provider'), 58 + () => import('@adonisjs/cors/cors_provider'), 59 + () => import('@adonisjs/inertia/inertia_provider'), 60 + () => import('@adonisjs/auth/auth_provider'), 61 + () => import('#providers/api_provider'), 62 + () => import('@thisismissem/adonisjs-atproto-oauth/provider') 63 + ], 64 + 65 + /* 66 + |-------------------------------------------------------------------------- 67 + | Preloads 68 + |-------------------------------------------------------------------------- 69 + | 70 + | List of modules to import before starting the application. 71 + | 72 + */ 73 + preloads: [ 74 + () => import('#start/routes'), 75 + () => import('#start/kernel'), 76 + () => import('#start/validator'), 77 + ], 78 + 79 + /* 80 + |-------------------------------------------------------------------------- 81 + | Tests 82 + |-------------------------------------------------------------------------- 83 + | 84 + | List of test suites to organize tests by their type. Feel free to remove 85 + | and add additional suites. 86 + | 87 + */ 88 + tests: { 89 + suites: [ 90 + { 91 + files: ['tests/unit/**/*.spec.{ts,js}'], 92 + name: 'unit', 93 + timeout: 2000, 94 + }, 95 + { 96 + files: ['tests/functional/**/*.spec.{ts,js}'], 97 + name: 'functional', 98 + timeout: 30000, 99 + }, 100 + { 101 + files: ['tests/browser/**/*.spec.{ts,js}'], 102 + name: 'browser', 103 + timeout: 300000, 104 + }, 105 + ], 106 + forceExit: false, 107 + }, 108 + 109 + /* 110 + |-------------------------------------------------------------------------- 111 + | Metafiles 112 + |-------------------------------------------------------------------------- 113 + | 114 + | A collection of files you want to copy to the build folder when creating 115 + | the production build. 116 + | 117 + */ 118 + metaFiles: [ 119 + { 120 + pattern: 'resources/views/**/*.edge', 121 + reloadServer: false, 122 + }, 123 + { 124 + pattern: 'public/**', 125 + reloadServer: false, 126 + }, 127 + ], 128 + 129 + hooks: { 130 + init: [ 131 + indexEntities({ 132 + transformers: { enabled: true, withSharedProps: true }, 133 + }), 134 + indexPages({ framework: 'vue3' }), 135 + generateRegistry(), 136 + ], 137 + buildStarting: [() => import('@adonisjs/vite/build_hook')], 138 + }, 139 + })
+17
app/controllers/new_account_controller.ts
··· 1 + import User from '#models/user' 2 + import { signupValidator } from '#validators/user' 3 + import type { HttpContext } from '@adonisjs/core/http' 4 + 5 + export default class NewAccountController { 6 + async create({ inertia }: HttpContext) { 7 + return inertia.render('auth/signup', {}) 8 + } 9 + 10 + async store({ request, response, auth }: HttpContext) { 11 + const payload = await request.validateUsing(signupValidator) 12 + const user = await User.create({ ...payload }) 13 + 14 + await auth.use('web').login(user) 15 + response.redirect().toRoute('home') 16 + } 17 + }
+65
app/controllers/oauth_controller.ts
··· 1 + import type { HttpContext } from '@adonisjs/core/http' 2 + import { OAuthResolverError } from '@atproto/oauth-client-node' 3 + import { loginRequestValidator, signupRequestValidator } from '#validators/oauth' 4 + 5 + export default class OAuthController { 6 + async handleLogin({ request, response, oauth, logger }: HttpContext) { 7 + // input should be a handle or service URL: 8 + const { input } = await request.validateUsing(loginRequestValidator) 9 + try { 10 + const authorizationUrl = await oauth.authorize(input) 11 + 12 + response.redirect().toPath(authorizationUrl) 13 + } catch (err) { 14 + logger.error(err, 'Error starting AT Protocol OAuth flow') 15 + if (err instanceof OAuthResolverError) { 16 + // Handle the input not being AT Protocol OAuth compatible 17 + } 18 + 19 + response.redirect().back() 20 + } 21 + } 22 + 23 + async handleSignup({ request, response, oauth }: HttpContext) { 24 + // input should be a service URL: 25 + const { input } = await request.validateUsing(signupRequestValidator) 26 + const service = input ?? 'https://bsky.social' 27 + const registrationSupported = await oauth.canRegister(service) 28 + 29 + if (!registrationSupported) { 30 + // Handle registration not supported, you may want to special case for 31 + // bsky.social which has public registration behind a click. 32 + 33 + return response.abort('Registration not supported') 34 + } 35 + 36 + const authorizationUrl = await oauth.register(service) 37 + 38 + return response.redirect().toPath(authorizationUrl) 39 + } 40 + 41 + async handleLogout({ auth, oauth, response }: HttpContext) { 42 + await oauth.logout(auth.user?.did) 43 + await auth.use('web').logout() 44 + 45 + return response.redirect().back() 46 + } 47 + 48 + async callback({ response, oauth, auth, logger }: HttpContext) { 49 + try { 50 + const session = await oauth.handleCallback() 51 + 52 + await auth.use('web').login(session.user) 53 + 54 + // You'll probably want to check if you have an "account" according to Tap 55 + // or some other method, and if not redirect to an onboarding flow 56 + 57 + return response.redirect().toPath('/') 58 + } catch (err) { 59 + // Handle OAuth failing 60 + logger.error(err, 'Error completing AT Protocol OAuth flow') 61 + 62 + return response.redirect().toPath('/') 63 + } 64 + } 65 + }
+21
app/controllers/session_controller.ts
··· 1 + import User from '#models/user' 2 + import type { HttpContext } from '@adonisjs/core/http' 3 + 4 + export default class SessionController { 5 + async create({ inertia }: HttpContext) { 6 + return inertia.render('auth/login', {}) 7 + } 8 + 9 + async store({ request, auth, response }: HttpContext) { 10 + const { email, password } = request.all() 11 + const user = await User.verifyCredentials(email, password) 12 + 13 + await auth.use('web').login(user) 14 + response.redirect().toRoute('home') 15 + } 16 + 17 + async destroy({ auth, response }: HttpContext) { 18 + await auth.use('web').logout() 19 + response.redirect().toRoute('session.create') 20 + } 21 + }
+45
app/exceptions/handler.ts
··· 1 + import app from '@adonisjs/core/services/app' 2 + import { type HttpContext, ExceptionHandler } from '@adonisjs/core/http' 3 + import type { StatusPageRange, StatusPageRenderer } from '@adonisjs/core/types/http' 4 + 5 + export default class HttpExceptionHandler extends ExceptionHandler { 6 + /** 7 + * In debug mode, the exception handler will display verbose errors 8 + * with pretty printed stack traces. 9 + */ 10 + protected debug = !app.inProduction 11 + 12 + /** 13 + * Status pages are used to display a custom HTML pages for certain error 14 + * codes. You might want to enable them in production only, but feel 15 + * free to enable them in development as well. 16 + */ 17 + protected renderStatusPages = app.inProduction 18 + 19 + /** 20 + * Status pages is a collection of error code range and a callback 21 + * to return the HTML contents to send as a response. 22 + */ 23 + protected statusPages: Record<StatusPageRange, StatusPageRenderer> = { 24 + '404': (_, { inertia }) => inertia.render('errors/not_found', {}), 25 + '500..599': (_, { inertia }) => inertia.render('errors/server_error', {}), 26 + } 27 + 28 + /** 29 + * The method is used for handling errors and returning 30 + * response to the client 31 + */ 32 + async handle(error: unknown, ctx: HttpContext) { 33 + return super.handle(error, ctx) 34 + } 35 + 36 + /** 37 + * The method is used to report error to the logging service or 38 + * the a third party error monitoring service. 39 + * 40 + * @note You should not attempt to send a response from this method. 41 + */ 42 + async report(error: unknown, ctx: HttpContext) { 43 + return super.report(error, ctx) 44 + } 45 + }
+16
app/middleware/auth_middleware.ts
··· 1 + import type { HttpContext } from '@adonisjs/core/http' 2 + import type { NextFn } from '@adonisjs/core/types/http' 3 + import type { Authenticators } from '@adonisjs/auth/types' 4 + 5 + export default class AuthMiddleware { 6 + redirectTo = '/login' 7 + 8 + async handle( 9 + ctx: HttpContext, 10 + next: NextFn, 11 + options: { guards?: (keyof Authenticators)[] } = {} 12 + ) { 13 + await ctx.auth.authenticateUsing(options.guards, { loginRoute: this.redirectTo }) 14 + return next() 15 + } 16 + }
+19
app/middleware/container_bindings_middleware.ts
··· 1 + import { Logger } from '@adonisjs/core/logger' 2 + import { HttpContext } from '@adonisjs/core/http' 3 + import { type NextFn } from '@adonisjs/core/types/http' 4 + 5 + /** 6 + * The container bindings middleware binds classes to their request 7 + * specific value using the container resolver. 8 + * 9 + * - We bind "HttpContext" class to the "ctx" object 10 + * - And bind "Logger" class to the "ctx.logger" object 11 + */ 12 + export default class ContainerBindingsMiddleware { 13 + handle(ctx: HttpContext, next: NextFn) { 14 + ctx.containerResolver.bindValue(HttpContext, ctx) 15 + ctx.containerResolver.bindValue(Logger, ctx.logger) 16 + 17 + return next() 18 + } 19 + }
+32
app/middleware/guest_middleware.ts
··· 1 + import type { HttpContext } from '@adonisjs/core/http' 2 + import type { NextFn } from '@adonisjs/core/types/http' 3 + import type { Authenticators } from '@adonisjs/auth/types' 4 + 5 + /** 6 + * Guest middleware is used to deny access to routes that should 7 + * be accessed by unauthenticated users. 8 + * 9 + * For example, the login page should not be accessible if the user 10 + * is already logged-in 11 + */ 12 + export default class GuestMiddleware { 13 + /** 14 + * The URL to redirect to when user is logged-in 15 + */ 16 + redirectTo = '/' 17 + 18 + async handle( 19 + ctx: HttpContext, 20 + next: NextFn, 21 + options: { guards?: (keyof Authenticators)[] } = {} 22 + ) { 23 + for (let guard of options.guards || [ctx.auth.defaultGuard]) { 24 + if (await ctx.auth.use(guard).check()) { 25 + ctx.session.reflash() 26 + return ctx.response.redirect(this.redirectTo, true) 27 + } 28 + } 29 + 30 + return next() 31 + } 32 + }
+52
app/middleware/inertia_middleware.ts
··· 1 + import type { HttpContext } from '@adonisjs/core/http' 2 + import type { NextFn } from '@adonisjs/core/types/http' 3 + import UserTransformer from '#transformers/user_transformer' 4 + import BaseInertiaMiddleware from '@adonisjs/inertia/inertia_middleware' 5 + 6 + export default class InertiaMiddleware extends BaseInertiaMiddleware { 7 + share(ctx: HttpContext) { 8 + /** 9 + * The share method is called everytime an Inertia page is rendered. In 10 + * certain cases, a page may get rendered before the session middleware 11 + * or the auth middleware are executed. For example: During a 404 request. 12 + * 13 + * In that case, we must always assume that HttpContext is not fully hydrated 14 + * with all the properties 15 + */ 16 + const { session, auth } = ctx as Partial<HttpContext> 17 + 18 + /** 19 + * Fetching the first error from the flash messages 20 + */ 21 + const errorsBag = session?.flashMessages.get('errorsBag') ?? {} 22 + const error: string | undefined = Object.keys(errorsBag) 23 + .filter((code) => code !== 'E_VALIDATION_ERROR') 24 + .map((code) => errorsBag[code])[0] 25 + 26 + /** 27 + * Data shared with all Inertia pages. Make sure you are using 28 + * transformers for rich data-types like Models. 29 + */ 30 + return { 31 + errors: ctx.inertia.always(this.getValidationErrors(ctx)), 32 + flash: ctx.inertia.always({ 33 + error: error, 34 + }), 35 + user: ctx.inertia.always(auth?.user ? UserTransformer.transform(auth.user) : undefined), 36 + } 37 + } 38 + 39 + async handle(ctx: HttpContext, next: NextFn) { 40 + await this.init(ctx) 41 + 42 + const output = await next() 43 + this.dispose(ctx) 44 + 45 + return output 46 + } 47 + } 48 + 49 + declare module '@adonisjs/inertia/types' { 50 + type MiddlewareSharedProps = InferSharedProps<InertiaMiddleware> 51 + export interface SharedProps extends MiddlewareSharedProps {} 52 + }
+16
app/middleware/silent_auth_middleware.ts
··· 1 + import type { HttpContext } from '@adonisjs/core/http' 2 + import type { NextFn } from '@adonisjs/core/types/http' 3 + 4 + /** 5 + * Silent auth middleware can be used as a global middleware to silent check 6 + * if the user is logged-in or not. 7 + * 8 + * The request continues as usual, even when the user is not logged-in. 9 + */ 10 + export default class SilentAuthMiddleware { 11 + async handle(ctx: HttpContext, next: NextFn) { 12 + await ctx.auth.check() 13 + 14 + return next() 15 + } 16 + }
+13
app/models/oauth_session.ts
··· 1 + import { BaseModel, column } from '@adonisjs/lucid/orm' 2 + import { DateTime } from 'luxon' 3 + 4 + export default class OauthSession extends BaseModel { 5 + @column({ isPrimary: true }) 6 + declare sub: string 7 + 8 + @column() 9 + declare value: string 10 + 11 + @column.dateTime({ autoCreate: true, autoUpdate: true }) 12 + declare updatedAt: DateTime 13 + }
+13
app/models/oauth_state.ts
··· 1 + import { BaseModel, column } from '@adonisjs/lucid/orm' 2 + import { DateTime } from 'luxon' 3 + 4 + export default class OauthState extends BaseModel { 5 + @column({ isPrimary: true }) 6 + declare key: string 7 + 8 + @column() 9 + declare value: string 10 + 11 + @column.dateTime({ autoCreate: true, autoUpdate: true }) 12 + declare updatedAt: DateTime 13 + }
+15
app/models/user.ts
··· 1 + import { UserSchema } from '#database/schema' 2 + import hash from '@adonisjs/core/services/hash' 3 + import { compose } from '@adonisjs/core/helpers' 4 + import { withAuthFinder } from '@adonisjs/auth/mixins/lucid' 5 + 6 + export default class User extends compose(UserSchema, withAuthFinder(hash)) { 7 + get initials() { 8 + const [first, last] = this.fullName ? this.fullName.split(' ') : this.email.split('@') 9 + if (first && last) { 10 + return `${first.charAt(0)}${last.charAt(0)}`.toUpperCase() 11 + } 12 + 13 + return `${first.slice(0, 2)}`.toUpperCase() 14 + } 15 + }
+15
app/transformers/user_transformer.ts
··· 1 + import type User from '#models/user' 2 + import { BaseTransformer } from '@adonisjs/core/transformers' 3 + 4 + export default class UserTransformer extends BaseTransformer<User> { 5 + toObject() { 6 + return this.pick(this.resource, [ 7 + 'id', 8 + 'fullName', 9 + 'email', 10 + 'createdAt', 11 + 'updatedAt', 12 + 'initials', 13 + ]) 14 + } 15 + }
+9
app/validators/oauth.ts
··· 1 + import vine from '@vinejs/vine' 2 + 3 + export const loginRequestValidator = vine.create({ 4 + input: vine.unionOfTypes([vine.atproto.handle(), vine.atproto.did(), vine.atproto.service()]), 5 + }) 6 + 7 + export const signupRequestValidator = vine.create({ 8 + input: vine.atproto.service().optional(), 9 + })
+12
app/validators/user.ts
··· 1 + import vine from '@vinejs/vine' 2 + 3 + const email = () => vine.string().email().maxLength(254) 4 + const password = () => vine.string().minLength(8).maxLength(32) 5 + 6 + export const signupValidator = vine.create({ 7 + fullName: vine.string().nullable(), 8 + email: email().unique({ table: 'users', column: 'email' }), 9 + password: password().confirmed({ 10 + confirmationField: 'passwordConfirmation', 11 + }), 12 + })
+47
bin/console.ts
··· 1 + /* 2 + |-------------------------------------------------------------------------- 3 + | Ace entry point 4 + |-------------------------------------------------------------------------- 5 + | 6 + | The "console.ts" file is the entrypoint for booting the AdonisJS 7 + | command-line framework and executing commands. 8 + | 9 + | Commands do not boot the application, unless the currently running command 10 + | has "options.startApp" flag set to true. 11 + | 12 + */ 13 + 14 + await import('reflect-metadata') 15 + const { Ignitor, prettyPrintError } = await import('@adonisjs/core') 16 + 17 + /** 18 + * URL to the application root. AdonisJS need it to resolve 19 + * paths to file and directories for scaffolding commands 20 + */ 21 + const APP_ROOT = new URL('../', import.meta.url) 22 + 23 + /** 24 + * The importer is used to import files in context of the 25 + * application. 26 + */ 27 + const IMPORTER = (filePath: string) => { 28 + if (filePath.startsWith('./') || filePath.startsWith('../')) { 29 + return import(new URL(filePath, APP_ROOT).href) 30 + } 31 + return import(filePath) 32 + } 33 + 34 + new Ignitor(APP_ROOT, { importer: IMPORTER }) 35 + .tap((app) => { 36 + app.booting(async () => { 37 + await import('#start/env') 38 + }) 39 + app.listen('SIGTERM', () => app.terminate()) 40 + app.listenIf(app.managedByPm2, 'SIGINT', () => app.terminate()) 41 + }) 42 + .ace() 43 + .handle(process.argv.splice(2)) 44 + .catch((error) => { 45 + process.exitCode = 1 46 + prettyPrintError(error) 47 + })
+45
bin/server.ts
··· 1 + /* 2 + |-------------------------------------------------------------------------- 3 + | HTTP server entrypoint 4 + |-------------------------------------------------------------------------- 5 + | 6 + | The "server.ts" file is the entrypoint for starting the AdonisJS HTTP 7 + | server. Either you can run this file directly or use the "serve" 8 + | command to run this file and monitor file changes 9 + | 10 + */ 11 + 12 + await import('reflect-metadata') 13 + const { Ignitor, prettyPrintError } = await import('@adonisjs/core') 14 + 15 + /** 16 + * URL to the application root. AdonisJS need it to resolve 17 + * paths to file and directories for scaffolding commands 18 + */ 19 + const APP_ROOT = new URL('../', import.meta.url) 20 + 21 + /** 22 + * The importer is used to import files in context of the 23 + * application. 24 + */ 25 + const IMPORTER = (filePath: string) => { 26 + if (filePath.startsWith('./') || filePath.startsWith('../')) { 27 + return import(new URL(filePath, APP_ROOT).href) 28 + } 29 + return import(filePath) 30 + } 31 + 32 + new Ignitor(APP_ROOT, { importer: IMPORTER }) 33 + .tap((app) => { 34 + app.booting(async () => { 35 + await import('#start/env') 36 + }) 37 + app.listen('SIGTERM', () => app.terminate()) 38 + app.listenIf(app.managedByPm2, 'SIGINT', () => app.terminate()) 39 + }) 40 + .httpServer() 41 + .start() 42 + .catch((error) => { 43 + process.exitCode = 1 44 + prettyPrintError(error) 45 + })
+62
bin/test.ts
··· 1 + /* 2 + |-------------------------------------------------------------------------- 3 + | Test runner entrypoint 4 + |-------------------------------------------------------------------------- 5 + | 6 + | The "test.ts" file is the entrypoint for running tests using Japa. 7 + | 8 + | Either you can run this file directly or use the "test" 9 + | command to run this file and monitor file changes. 10 + | 11 + */ 12 + 13 + process.env.NODE_ENV = 'test' 14 + 15 + import 'reflect-metadata' 16 + import { Ignitor, prettyPrintError } from '@adonisjs/core' 17 + import { configure, processCLIArgs, run } from '@japa/runner' 18 + 19 + /** 20 + * URL to the application root. AdonisJS need it to resolve 21 + * paths to file and directories for scaffolding commands 22 + */ 23 + const APP_ROOT = new URL('../', import.meta.url) 24 + 25 + /** 26 + * The importer is used to import files in context of the 27 + * application. 28 + */ 29 + const IMPORTER = (filePath: string) => { 30 + if (filePath.startsWith('./') || filePath.startsWith('../')) { 31 + return import(new URL(filePath, APP_ROOT).href) 32 + } 33 + return import(filePath) 34 + } 35 + 36 + new Ignitor(APP_ROOT, { importer: IMPORTER }) 37 + .tap((app) => { 38 + app.booting(async () => { 39 + await import('#start/env') 40 + }) 41 + app.listen('SIGTERM', () => app.terminate()) 42 + app.listenIf(app.managedByPm2, 'SIGINT', () => app.terminate()) 43 + }) 44 + .testRunner() 45 + .configure(async (app) => { 46 + const { runnerHooks, ...config } = await import('../tests/bootstrap.js') 47 + 48 + processCLIArgs(process.argv.splice(2)) 49 + configure({ 50 + ...app.rcFile.tests, 51 + ...config, 52 + ...{ 53 + setup: runnerHooks.setup, 54 + teardown: runnerHooks.teardown.concat([() => app.terminate()]), 55 + }, 56 + }) 57 + }) 58 + .run(() => run()) 59 + .catch((error) => { 60 + process.exitCode = 1 61 + prettyPrintError(error) 62 + })
+73
config/app.ts
··· 1 + import env from '#start/env' 2 + import app from '@adonisjs/core/services/app' 3 + import { defineConfig } from '@adonisjs/core/http' 4 + 5 + /** 6 + * The app key is used for encrypting cookies, generating signed URLs, 7 + * and by the "encryption" module. 8 + * 9 + * The encryption module will fail to decrypt data if the key is lost or 10 + * changed. Therefore it is recommended to keep the app key secure. 11 + */ 12 + export const appKey = env.get('APP_KEY') 13 + 14 + /** 15 + * The configuration settings used by the HTTP server 16 + */ 17 + export const http = defineConfig({ 18 + /** 19 + * Generate a unique request id for each incoming request. 20 + * Useful to correlate logs and debug a request flow. 21 + */ 22 + generateRequestId: true, 23 + 24 + /** 25 + * Allow HTTP method spoofing via the "_method" form/query parameter. 26 + * This lets HTML forms target PUT/PATCH/DELETE routes while still 27 + * submitting with POST. 28 + */ 29 + allowMethodSpoofing: false, 30 + 31 + /** 32 + * Enabling async local storage will let you access HTTP context 33 + * from anywhere inside your application. 34 + */ 35 + useAsyncLocalStorage: false, 36 + 37 + /** 38 + * Manage cookies configuration. The settings for the session id cookie are 39 + * defined inside the "config/session.ts" file. 40 + */ 41 + cookie: { 42 + /** 43 + * Restrict the cookie to a specific domain. 44 + * Keep empty to use the current host. 45 + */ 46 + domain: '', 47 + 48 + /** 49 + * Restrict the cookie to a URL path. '/' means all routes. 50 + */ 51 + path: '/', 52 + 53 + /** 54 + * Default lifetime for cookies managed by the HTTP layer. 55 + */ 56 + maxAge: '2h', 57 + 58 + /** 59 + * Prevent JavaScript access to the cookie in the browser. 60 + */ 61 + httpOnly: true, 62 + 63 + /** 64 + * Send cookies only over HTTPS in production. 65 + */ 66 + secure: app.inProduction, 67 + 68 + /** 69 + * Cross-site policy for cookie sending. 70 + */ 71 + sameSite: 'lax', 72 + }, 73 + })
+21
config/atproto_oauth.ts
··· 1 + import { defineConfig } from '@thisismissem/adonisjs-atproto-oauth' 2 + import env from '#start/env' 3 + import OAuthState from '#models/oauth_state' 4 + import OAuthSession from '#models/oauth_session' 5 + 6 + export default defineConfig({ 7 + publicUrl: env.get('PUBLIC_URL'), 8 + metadata: { 9 + // If ATPROTO_OAUTH_CLIENT_ID is set, the client metadata will be fetched from that URL: 10 + client_id: env.get('ATPROTO_OAUTH_CLIENT_ID'), 11 + client_name: 'Some App', 12 + redirect_uris: ['/oauth/callback'], 13 + }, 14 + 15 + // For a confidential client: 16 + // jwks: [env.get('ATPROTO_OAUTH_JWT_PRIVATE_KEY')], 17 + 18 + // Models to store OAuth State and Sessions: 19 + stateStore: OAuthState, 20 + sessionStore: OAuthSession, 21 + })
+38
config/auth.ts
··· 1 + import { defineConfig } from '@adonisjs/auth' 2 + import { sessionGuard } from '@adonisjs/auth/session' 3 + import { atprotoAuthProvider } from '@thisismissem/adonisjs-atproto-oauth/auth/provider' 4 + import type { InferAuthenticators, InferAuthEvents, Authenticators } from '@adonisjs/auth/types' 5 + 6 + const authConfig = defineConfig({ 7 + /** 8 + * Default guard used when no guard is explicitly specified. 9 + */ 10 + default: 'web', 11 + 12 + guards: { 13 + /** 14 + * Session-based guard for browser authentication. 15 + */ 16 + web: sessionGuard({ 17 + /** 18 + * Enable persistent login using remember-me tokens. 19 + */ 20 + useRememberMeTokens: false, 21 + 22 + provider: atprotoAuthProvider, 23 + }), 24 + }, 25 + }) 26 + 27 + export default authConfig 28 + 29 + /** 30 + * Inferring types from the configured auth 31 + * guards. 32 + */ 33 + declare module '@adonisjs/auth/types' { 34 + export interface Authenticators extends InferAuthenticators<typeof authConfig> {} 35 + } 36 + declare module '@adonisjs/core/types' { 37 + interface EventsList extends InferAuthEvents<Authenticators> {} 38 + }
+78
config/bodyparser.ts
··· 1 + import { defineConfig } from '@adonisjs/core/bodyparser' 2 + 3 + const bodyParserConfig = defineConfig({ 4 + /** 5 + * Parse request bodies for these HTTP methods. 6 + * Keep this aligned with methods that receive payloads in your routes. 7 + */ 8 + allowedMethods: ['POST', 'PUT', 'PATCH', 'DELETE'], 9 + 10 + /** 11 + * Config for the "application/x-www-form-urlencoded" 12 + * content-type parser. 13 + */ 14 + form: { 15 + /** 16 + * Normalize empty string values to null. 17 + */ 18 + convertEmptyStringsToNull: true, 19 + 20 + /** 21 + * Content types handled by the form parser. 22 + */ 23 + types: ['application/x-www-form-urlencoded'], 24 + }, 25 + 26 + /** 27 + * Config for the JSON parser. 28 + */ 29 + json: { 30 + /** 31 + * Normalize empty string values to null. 32 + */ 33 + convertEmptyStringsToNull: true, 34 + 35 + /** 36 + * Content types handled by the JSON parser. 37 + */ 38 + types: [ 39 + 'application/json', 40 + 'application/json-patch+json', 41 + 'application/vnd.api+json', 42 + 'application/csp-report', 43 + ], 44 + }, 45 + 46 + /** 47 + * Config for the "multipart/form-data" content-type parser. 48 + * File uploads are handled by the multipart parser. 49 + */ 50 + multipart: { 51 + /** 52 + * Automatically process uploaded files into the system tmp directory. 53 + */ 54 + autoProcess: true, 55 + 56 + /** 57 + * Normalize empty string values to null. 58 + */ 59 + convertEmptyStringsToNull: true, 60 + 61 + /** 62 + * Routes where multipart processing is handled manually. 63 + */ 64 + processManually: [], 65 + 66 + /** 67 + * Maximum accepted payload size for multipart requests. 68 + */ 69 + limit: '20mb', 70 + 71 + /** 72 + * Content types handled by the multipart parser. 73 + */ 74 + types: ['multipart/form-data'], 75 + }, 76 + }) 77 + 78 + export default bodyParserConfig
+50
config/cors.ts
··· 1 + import app from '@adonisjs/core/services/app' 2 + import { defineConfig } from '@adonisjs/cors' 3 + 4 + /** 5 + * Configuration options to tweak the CORS policy. The following 6 + * options are documented on the official documentation website. 7 + * 8 + * https://docs.adonisjs.com/guides/security/cors 9 + */ 10 + const corsConfig = defineConfig({ 11 + /** 12 + * Enable or disable CORS handling globally. 13 + */ 14 + enabled: true, 15 + 16 + /** 17 + * In development, allow every origin to simplify local front/backend setup. 18 + * In production, keep an explicit allowlist (empty by default, so no 19 + * cross-origin browser access is allowed until configured). 20 + */ 21 + origin: app.inDev ? true : [], 22 + 23 + /** 24 + * HTTP methods accepted for cross-origin requests. 25 + */ 26 + methods: ['GET', 'HEAD', 'POST', 'PUT', 'DELETE'], 27 + 28 + /** 29 + * Reflect request headers by default. Use a string array to restrict 30 + * allowed headers. 31 + */ 32 + headers: true, 33 + 34 + /** 35 + * Response headers exposed to the browser. 36 + */ 37 + exposeHeaders: [], 38 + 39 + /** 40 + * Allow cookies/authorization headers on cross-origin requests. 41 + */ 42 + credentials: true, 43 + 44 + /** 45 + * Cache CORS preflight response for N seconds. 46 + */ 47 + maxAge: 90, 48 + }) 49 + 50 + export default corsConfig
+122
config/database.ts
··· 1 + import app from '@adonisjs/core/services/app' 2 + import { defineConfig } from '@adonisjs/lucid' 3 + 4 + const dbConfig = defineConfig({ 5 + /** 6 + * Default connection used for all queries. 7 + */ 8 + connection: 'sqlite', 9 + 10 + connections: { 11 + /** 12 + * SQLite connection (default). 13 + */ 14 + sqlite: { 15 + client: 'better-sqlite3', 16 + 17 + connection: { 18 + /** 19 + * Database file location. 20 + */ 21 + filename: app.tmpPath('db.sqlite3'), 22 + }, 23 + 24 + /** 25 + * Required by Knex for SQLite defaults. 26 + */ 27 + useNullAsDefault: true, 28 + 29 + migrations: { 30 + /** 31 + * Sort migration files naturally by filename. 32 + */ 33 + naturalSort: true, 34 + 35 + /** 36 + * Paths containing migration files. 37 + */ 38 + paths: ['database/migrations'], 39 + }, 40 + }, 41 + 42 + /** 43 + * PostgreSQL connection. 44 + * Install package to switch: npm install pg 45 + */ 46 + // pg: { 47 + // client: 'pg', 48 + // connection: { 49 + // host: process.env.PG_HOST, 50 + // port: Number(process.env.PG_PORT || 5432), 51 + // user: process.env.PG_USER, 52 + // password: process.env.PG_PASSWORD, 53 + // database: process.env.PG_DB_NAME, 54 + // }, 55 + // migrations: { 56 + // naturalSort: true, 57 + // paths: ['database/migrations'], 58 + // }, 59 + // debug: app.inDev, 60 + // }, 61 + 62 + /** 63 + * MySQL / MariaDB connection. 64 + * Install package to switch: npm install mysql2 65 + */ 66 + // mysql: { 67 + // client: 'mysql2', 68 + // connection: { 69 + // host: process.env.MYSQL_HOST, 70 + // port: Number(process.env.MYSQL_PORT || 3306), 71 + // user: process.env.MYSQL_USER, 72 + // password: process.env.MYSQL_PASSWORD, 73 + // database: process.env.MYSQL_DB_NAME, 74 + // }, 75 + // migrations: { 76 + // naturalSort: true, 77 + // paths: ['database/migrations'], 78 + // }, 79 + // debug: app.inDev, 80 + // }, 81 + 82 + /** 83 + * Microsoft SQL Server connection. 84 + * Install package to switch: npm install tedious 85 + */ 86 + // mssql: { 87 + // client: 'mssql', 88 + // connection: { 89 + // server: process.env.MSSQL_SERVER, 90 + // port: Number(process.env.MSSQL_PORT || 1433), 91 + // user: process.env.MSSQL_USER, 92 + // password: process.env.MSSQL_PASSWORD, 93 + // database: process.env.MSSQL_DB_NAME, 94 + // }, 95 + // migrations: { 96 + // naturalSort: true, 97 + // paths: ['database/migrations'], 98 + // }, 99 + // debug: app.inDev, 100 + // }, 101 + 102 + /** 103 + * libSQL (Turso) connection. 104 + * Install package to switch: npm install @libsql/client 105 + */ 106 + // libsql: { 107 + // client: 'libsql', 108 + // connection: { 109 + // url: process.env.LIBSQL_URL, 110 + // authToken: process.env.LIBSQL_AUTH_TOKEN, 111 + // }, 112 + // useNullAsDefault: true, 113 + // migrations: { 114 + // naturalSort: true, 115 + // paths: ['database/migrations'], 116 + // }, 117 + // debug: app.inDev, 118 + // }, 119 + }, 120 + }) 121 + 122 + export default dbConfig
+34
config/encryption.ts
··· 1 + import env from '#start/env' 2 + import { defineConfig, drivers } from '@adonisjs/core/encryption' 3 + 4 + const encryptionConfig = defineConfig({ 5 + /** 6 + * Default encryption driver used by the application. 7 + */ 8 + default: 'gcm', 9 + 10 + list: { 11 + gcm: drivers.aes256gcm({ 12 + /** 13 + * Keys used for encryption/decryption. 14 + * First key encrypts, all keys are tried for decryption. 15 + */ 16 + keys: [env.get('APP_KEY').release()], 17 + 18 + /** 19 + * Stable identifier for this driver. 20 + */ 21 + id: 'gcm', 22 + }), 23 + }, 24 + }) 25 + 26 + export default encryptionConfig 27 + 28 + /** 29 + * Inferring types for the list of encryptors you have configured 30 + * in your application. 31 + */ 32 + declare module '@adonisjs/core/types' { 33 + export interface EncryptorsList extends InferEncryptors<typeof encryptionConfig> {} 34 + }
+75
config/hash.ts
··· 1 + import { defineConfig, drivers } from '@adonisjs/core/hash' 2 + 3 + /** 4 + * Hashing configuration. 5 + * 6 + * This starter uses Node.js scrypt under the hood. 7 + * Node.js reference: https://nodejs.org/api/crypto.html#cryptoscryptpassword-salt-keylen-options-callback 8 + */ 9 + const hashConfig = defineConfig({ 10 + /** 11 + * Default hasher used by the application. 12 + */ 13 + default: 'scrypt', 14 + 15 + list: { 16 + /** 17 + * Scrypt is memory-hard, which makes brute-force attacks more expensive. 18 + */ 19 + scrypt: drivers.scrypt({ 20 + /** 21 + * Work factor (Node alias: N / cost). 22 + * Higher values increase security and CPU+memory usage. 23 + * 24 + * Tuning guideline: 25 + * - Start with 16384. 26 + * - Increase gradually (for example 32768) and benchmark login/signup latency. 27 + * - Keep values practical for your slowest production machine. 28 + * 29 + * Node constraint: value must be a power of two greater than 1. 30 + */ 31 + cost: 16384, 32 + 33 + /** 34 + * Block size (Node alias: r / blockSize). 35 + * Increases memory and CPU linearly. 36 + * 37 + * Tuning guideline: 38 + * - Keep 8 unless you have a measured reason to change it. 39 + * - Raise only with benchmark data, because memory usage grows quickly. 40 + */ 41 + blockSize: 8, 42 + 43 + /** 44 + * Parallelization (Node alias: p / parallelization). 45 + * Controls how many independent computations are performed. 46 + * 47 + * Tuning guideline: 48 + * - Keep 1 for most applications. 49 + * - Increase only after load testing if your infrastructure benefits from it. 50 + */ 51 + parallelization: 1, 52 + 53 + /** 54 + * Maximum memory limit in bytes (Node alias: maxmem / maxMemory). 55 + * Hashing throws if the estimated memory usage is above this limit. 56 + * Node documents the check as approximately: 128 * N * r > maxmem. 57 + * 58 + * Tuning guideline: 59 + * - Keep this aligned with your cost/blockSize choices. 60 + * - Increase carefully on memory-constrained environments. 61 + */ 62 + maxMemory: 33554432, 63 + }), 64 + }, 65 + }) 66 + 67 + export default hashConfig 68 + 69 + /** 70 + * Inferring types for the list of hashers you have configured 71 + * in your application. 72 + */ 73 + declare module '@adonisjs/core/types' { 74 + export interface HashersList extends InferHashers<typeof hashConfig> {} 75 + }
+20
config/inertia.ts
··· 1 + import { defineConfig } from '@adonisjs/inertia' 2 + 3 + const inertiaConfig = defineConfig({ 4 + /** 5 + * Server-side rendering options. 6 + */ 7 + ssr: { 8 + /** 9 + * Toggle SSR mode for Inertia pages. 10 + */ 11 + enabled: false, 12 + 13 + /** 14 + * Entry file used by the SSR server build. 15 + */ 16 + entrypoint: 'inertia/ssr.ts', 17 + }, 18 + }) 19 + 20 + export default inertiaConfig
+50
config/logger.ts
··· 1 + import env from '#start/env' 2 + import app from '@adonisjs/core/services/app' 3 + import { defineConfig, targets } from '@adonisjs/core/logger' 4 + 5 + const loggerConfig = defineConfig({ 6 + /** 7 + * Default logger name used by ctx.logger and app logger calls. 8 + */ 9 + default: 'app', 10 + 11 + loggers: { 12 + app: { 13 + /** 14 + * Toggle this logger on/off. 15 + */ 16 + enabled: true, 17 + 18 + /** 19 + * Logger name shown in log records. 20 + */ 21 + name: env.get('APP_NAME'), 22 + 23 + /** 24 + * Minimum level to output (trace, debug, info, warn, error, fatal). 25 + */ 26 + level: env.get('LOG_LEVEL'), 27 + 28 + /** 29 + * Configure where logs are written. 30 + * Pretty logs in development, stdout in production. 31 + */ 32 + transport: { 33 + targets: targets() 34 + .pushIf(!app.inProduction, targets.pretty()) 35 + .pushIf(app.inProduction, targets.file({ destination: 1 })) 36 + .toArray(), 37 + }, 38 + }, 39 + }, 40 + }) 41 + 42 + export default loggerConfig 43 + 44 + /** 45 + * Inferring types for the list of loggers you have configured 46 + * in your application. 47 + */ 48 + declare module '@adonisjs/core/types' { 49 + export interface LoggersList extends InferLoggers<typeof loggerConfig> {} 50 + }
+78
config/session.ts
··· 1 + import env from '#start/env' 2 + import app from '@adonisjs/core/services/app' 3 + import { defineConfig, stores } from '@adonisjs/session' 4 + 5 + const sessionConfig = defineConfig({ 6 + /** 7 + * Enable or disable session support globally. 8 + */ 9 + enabled: true, 10 + 11 + /** 12 + * Cookie name storing the session identifier. 13 + */ 14 + cookieName: 'adonis-session', 15 + 16 + /** 17 + * When set to true, the session id cookie will be deleted 18 + * once the user closes the browser. 19 + */ 20 + clearWithBrowser: false, 21 + 22 + /** 23 + * Define how long to keep the session data alive without 24 + * any activity. 25 + */ 26 + age: '2h', 27 + 28 + /** 29 + * Configuration for session cookie and the 30 + * cookie store. 31 + */ 32 + cookie: { 33 + /** 34 + * Restrict the cookie to a URL path. '/' means all routes. 35 + */ 36 + path: '/', 37 + 38 + /** 39 + * Prevent JavaScript access to the cookie in the browser. 40 + */ 41 + httpOnly: true, 42 + 43 + /** 44 + * Send cookies only over HTTPS in production. 45 + */ 46 + secure: app.inProduction, 47 + 48 + /** 49 + * Cross-site policy for cookie sending. 50 + */ 51 + sameSite: 'lax', 52 + }, 53 + 54 + /** 55 + * The store to use. Make sure to validate the environment 56 + * variable in order to infer the store name without any 57 + * errors. 58 + */ 59 + store: env.get('SESSION_DRIVER'), 60 + 61 + /** 62 + * List of configured stores. Refer documentation to see 63 + * list of available stores and their config. 64 + */ 65 + stores: { 66 + /** 67 + * Store session data inside encrypted cookies. 68 + */ 69 + cookie: stores.cookie(), 70 + 71 + /** 72 + * Store session data inside the configured database. 73 + */ 74 + database: stores.database(), 75 + }, 76 + }) 77 + 78 + export default sessionConfig
+95
config/shield.ts
··· 1 + import { defineConfig } from '@adonisjs/shield' 2 + 3 + const shieldConfig = defineConfig({ 4 + /** 5 + * Configure CSP policies for your app. Refer documentation 6 + * to learn more. 7 + */ 8 + csp: { 9 + /** 10 + * Enable the Content-Security-Policy header. 11 + */ 12 + enabled: false, 13 + 14 + /** 15 + * Per-resource CSP directives. 16 + */ 17 + directives: {}, 18 + 19 + /** 20 + * Report violations without blocking resources. 21 + */ 22 + reportOnly: false, 23 + }, 24 + 25 + /** 26 + * Configure CSRF protection options. Refer documentation 27 + * to learn more. 28 + */ 29 + csrf: { 30 + /** 31 + * Enable CSRF token verification for state-changing requests. 32 + */ 33 + enabled: true, 34 + 35 + /** 36 + * Route patterns to exclude from CSRF checks. 37 + * Useful for external webhooks or API endpoints. 38 + */ 39 + exceptRoutes: [], 40 + 41 + /** 42 + * Expose an encrypted XSRF-TOKEN cookie for frontend HTTP clients. 43 + */ 44 + enableXsrfCookie: true, 45 + 46 + /** 47 + * HTTP methods protected by CSRF validation. 48 + */ 49 + methods: ['POST', 'PUT', 'PATCH', 'DELETE'], 50 + }, 51 + 52 + /** 53 + * Control how your website should be embedded inside 54 + * iframes. 55 + */ 56 + xFrame: { 57 + /** 58 + * Enable the X-Frame-Options header. 59 + */ 60 + enabled: true, 61 + 62 + /** 63 + * Block all framing attempts. Default value is DENY. 64 + */ 65 + action: 'DENY', 66 + }, 67 + 68 + /** 69 + * Force browser to always use HTTPS. 70 + */ 71 + hsts: { 72 + /** 73 + * Enable the Strict-Transport-Security header. 74 + */ 75 + enabled: true, 76 + 77 + /** 78 + * HSTS policy duration remembered by browsers. 79 + */ 80 + maxAge: '180 days', 81 + }, 82 + 83 + /** 84 + * Disable browsers from sniffing content types and rely only 85 + * on the response content-type header. 86 + */ 87 + contentTypeSniffing: { 88 + /** 89 + * Enable X-Content-Type-Options: nosniff. 90 + */ 91 + enabled: true, 92 + }, 93 + }) 94 + 95 + export default shieldConfig
+32
config/static.ts
··· 1 + import { defineConfig } from '@adonisjs/static' 2 + 3 + /** 4 + * Configuration options to tweak the static files middleware. 5 + * The complete set of options are documented on the 6 + * official documentation website. 7 + * 8 + * https://docs.adonisjs.com/guides/basics/static-file-server 9 + */ 10 + const staticServerConfig = defineConfig({ 11 + /** 12 + * Enable or disable static file serving middleware. 13 + */ 14 + enabled: true, 15 + 16 + /** 17 + * Generate ETag headers for client/proxy caching. 18 + */ 19 + etag: true, 20 + 21 + /** 22 + * Include Last-Modified headers for conditional requests. 23 + */ 24 + lastModified: true, 25 + 26 + /** 27 + * Policy for files starting with a dot. 28 + */ 29 + dotFiles: 'ignore', 30 + }) 31 + 32 + export default staticServerConfig
+34
config/vite.ts
··· 1 + import { defineConfig } from '@adonisjs/vite' 2 + 3 + const viteBackendConfig = defineConfig({ 4 + /** 5 + * The output of vite will be written inside this 6 + * directory. The path should be relative from 7 + * the application root. 8 + */ 9 + buildDirectory: 'public/assets', 10 + 11 + /** 12 + * The path to the manifest file generated by the 13 + * "vite build" command. 14 + */ 15 + manifestFile: 'public/assets/.vite/manifest.json', 16 + 17 + /** 18 + * Feel free to change the value of the "assetsUrl" to 19 + * point to a CDN in production. 20 + */ 21 + assetsUrl: '/assets', 22 + 23 + /** 24 + * HTML attributes added to generated script tags. 25 + */ 26 + scriptAttributes: { 27 + /** 28 + * Execute scripts after HTML parsing is complete. 29 + */ 30 + defer: true, 31 + }, 32 + }) 33 + 34 + export default viteBackendConfig
+21
database/migrations/1761885935168_create_users_table.ts
··· 1 + import { BaseSchema } from '@adonisjs/lucid/schema' 2 + 3 + export default class extends BaseSchema { 4 + protected tableName = 'users' 5 + 6 + async up() { 7 + this.schema.createTable(this.tableName, (table) => { 8 + table.increments('id').notNullable() 9 + table.string('full_name').nullable() 10 + table.string('email', 254).notNullable().unique() 11 + table.string('password').notNullable() 12 + 13 + table.timestamp('created_at').notNullable() 14 + table.timestamp('updated_at').nullable() 15 + }) 16 + } 17 + 18 + async down() { 19 + this.schema.dropTable(this.tableName) 20 + } 21 + }
+18
database/migrations/1772333442557_create_oauth_sessions_table.ts
··· 1 + import { BaseSchema } from '@adonisjs/lucid/schema' 2 + 3 + export default class extends BaseSchema { 4 + protected tableName = 'oauth_sessions' 5 + 6 + async up() { 7 + this.schema.createTable(this.tableName, (table) => { 8 + table.text('sub').primary() 9 + table.text('value') 10 + 11 + table.timestamp('updated_at') 12 + }) 13 + } 14 + 15 + async down() { 16 + this.schema.dropTable(this.tableName) 17 + } 18 + }
+18
database/migrations/1772333442572_create_oauth_states_table.ts
··· 1 + import { BaseSchema } from '@adonisjs/lucid/schema' 2 + 3 + export default class extends BaseSchema { 4 + protected tableName = 'oauth_states' 5 + 6 + async up() { 7 + this.schema.createTable(this.tableName, (table) => { 8 + table.text('key').primary() 9 + table.text('value') 10 + 11 + table.timestamp('updated_at') 12 + }) 13 + } 14 + 15 + async down() { 16 + this.schema.dropTable(this.tableName) 17 + } 18 + }
+47
database/schema.ts
··· 1 + /** 2 + * This file is automatically generated 3 + * DO NOT EDIT manually 4 + * Run "node ace migration:run" command to re-generate this file 5 + */ 6 + 7 + import { BaseModel, column } from '@adonisjs/lucid/orm' 8 + import { DateTime } from 'luxon' 9 + 10 + export class OauthSessionSchema extends BaseModel { 11 + static $columns = ['sub', 'value', 'updatedAt'] as const 12 + $columns = OauthSessionSchema.$columns 13 + @column() 14 + declare sub: string | null 15 + @column() 16 + declare value: string | null 17 + @column.dateTime({ autoCreate: true, autoUpdate: true }) 18 + declare updatedAt: DateTime | null 19 + } 20 + 21 + export class OauthStateSchema extends BaseModel { 22 + static $columns = ['key', 'value', 'updatedAt'] as const 23 + $columns = OauthStateSchema.$columns 24 + @column() 25 + declare key: string | null 26 + @column() 27 + declare value: string | null 28 + @column.dateTime({ autoCreate: true, autoUpdate: true }) 29 + declare updatedAt: DateTime | null 30 + } 31 + 32 + export class UserSchema extends BaseModel { 33 + static $columns = ['id', 'fullName', 'email', 'password', 'createdAt', 'updatedAt'] as const 34 + $columns = UserSchema.$columns 35 + @column({ isPrimary: true }) 36 + declare id: number 37 + @column() 38 + declare fullName: string | null 39 + @column() 40 + declare email: string 41 + @column({ serializeAs: null }) 42 + declare password: string 43 + @column.dateTime({ autoCreate: true }) 44 + declare createdAt: DateTime 45 + @column.dateTime({ autoCreate: true, autoUpdate: true }) 46 + declare updatedAt: DateTime | null 47 + }
+3
database/schema_rules.ts
··· 1 + import { type SchemaRules } from '@adonisjs/lucid/types/schema_generator' 2 + 3 + export default {} satisfies SchemaRules
+2
eslint.config.js
··· 1 + import { configApp } from '@adonisjs/eslint-config' 2 + export default configApp()
+29
inertia/app.ts
··· 1 + import './css/app.css' 2 + import 'vue-sonner/style.css' 3 + import { client } from '~/client' 4 + import Layout from '~/layouts/default.vue' 5 + import { createInertiaApp } from '@inertiajs/vue3' 6 + import { TuyauProvider } from '@adonisjs/inertia/vue' 7 + import { createApp, type DefineComponent, h } from 'vue' 8 + import { resolvePageComponent } from '@adonisjs/inertia/helpers' 9 + 10 + const appName = import.meta.env.VITE_APP_NAME || 'AdonisJS' 11 + 12 + createInertiaApp({ 13 + title: (title) => (title ? `${title} - ${appName}` : appName), 14 + resolve: (name) => { 15 + return resolvePageComponent( 16 + `./pages/${name}.vue`, 17 + import.meta.glob<DefineComponent>('./pages/**/*.vue'), 18 + Layout 19 + ) 20 + }, 21 + setup({ el, App, props, plugin }) { 22 + createApp({ render: () => h(TuyauProvider, { client }, { default: () => h(App, props) }) }) 23 + .use(plugin) 24 + .mount(el) 25 + }, 26 + progress: { 27 + color: '#4B5563', 28 + }, 29 + })
+9
inertia/client.ts
··· 1 + import { registry } from '@generated/registry' 2 + import { createTuyau } from '@tuyau/core/client' 3 + 4 + export const client = createTuyau({ 5 + baseUrl: '/', 6 + registry, 7 + }) 8 + 9 + export const urlFor = client.urlFor
+236
inertia/css/app.css
··· 1 + :root { 2 + --gray-1: oklch(98.5% 0 0); 3 + --gray-2: oklch(97% 0 0); 4 + --gray-3: oklch(92.2% 0 0); 5 + --gray-4: oklch(87% 0 0); 6 + --gray-6: oklch(55.6% 0 0); 7 + --gray-7: oklch(43.9% 0 0); 8 + --gray-8: oklch(37.1% 0 0); 9 + --gray-10: oklch(26.9% 0 0); 10 + --gray-12: oklch(14.5% 0 0); 11 + } 12 + 13 + * { 14 + box-sizing: border-box; 15 + margin: 0; 16 + padding: 0; 17 + } 18 + 19 + html, 20 + body { 21 + height: 100%; 22 + font-family: system-ui, sans-serif; 23 + -webkit-font-smoothing: antialiased; 24 + background: var(--gray-2); 25 + color: var(--gray-10); 26 + font-size: 16px; 27 + line-height: 1.5; 28 + } 29 + 30 + a { 31 + color: inherit; 32 + text-decoration: none; 33 + } 34 + 35 + [x-cloak] { 36 + display: none; 37 + } 38 + 39 + h1, 40 + h2, 41 + h3, 42 + h4, 43 + h5, 44 + h6 { 45 + color: var(--gray-12); 46 + } 47 + 48 + /* Header */ 49 + header { 50 + max-width: 1440px; 51 + margin: auto; 52 + padding: 0 30px; 53 + } 54 + header > div { 55 + display: flex; 56 + justify-content: space-between; 57 + align-items: center; 58 + height: 64px; 59 + } 60 + header nav { 61 + display: flex; 62 + align-items: center; 63 + gap: 26px; 64 + } 65 + header nav a { 66 + font-weight: 500; 67 + color: var(--gray-8); 68 + } 69 + header nav a:hover, 70 + header nav a.current { 71 + color: var(--gray-12); 72 + } 73 + 74 + /* Main */ 75 + main { 76 + max-width: 1440px; 77 + margin: 0 30px; 78 + display: flex; 79 + flex-direction: column; 80 + justify-content: space-between; 81 + min-height: calc(100vh - 65px); 82 + background: #fff; 83 + border: 1px solid var(--gray-3); 84 + } 85 + 86 + .hero { 87 + padding: 100px 50px; 88 + max-width: 880px; 89 + } 90 + .hero h1 { 91 + margin-bottom: 15px; 92 + font-size: 52px; 93 + font-weight: 600; 94 + letter-spacing: -1px; 95 + line-height: 1.05; 96 + } 97 + .hero p { 98 + font-size: 22px; 99 + color: var(--gray-7); 100 + } 101 + .hero .button { 102 + margin-top: 30px; 103 + display: inline-block; 104 + padding: 10px 16px; 105 + } 106 + 107 + .cards { 108 + display: grid; 109 + grid-template-columns: repeat(3, 1fr); 110 + padding: 0 50px; 111 + border-top: 1px solid var(--gray-3); 112 + } 113 + .cards a { 114 + padding: 30px 40px; 115 + border-right: 1px solid var(--gray-3); 116 + } 117 + .cards a:first-child { 118 + border-left: 1px solid var(--gray-3); 119 + } 120 + .cards a:hover { 121 + background: var(--gray-1); 122 + } 123 + .cards h3 { 124 + margin-bottom: 10px; 125 + font-size: 20px; 126 + font-weight: 600; 127 + letter-spacing: -0.4px; 128 + } 129 + .cards p { 130 + color: var(--gray-6); 131 + } 132 + 133 + /* Form */ 134 + .form-container { 135 + display: flex; 136 + flex-direction: column; 137 + justify-content: center; 138 + max-width: 400px; 139 + margin: auto; 140 + } 141 + .form-container h1 { 142 + font-size: 32px; 143 + letter-spacing: -0.5px; 144 + margin-bottom: 5px; 145 + } 146 + .form-container p { 147 + font-size: 18px; 148 + margin-bottom: 48px; 149 + color: var(--gray-6); 150 + } 151 + form { 152 + display: flex; 153 + flex-direction: column; 154 + gap: 24px; 155 + } 156 + label { 157 + margin-bottom: 4px; 158 + display: block; 159 + font-size: 14px; 160 + font-weight: 500; 161 + } 162 + input, 163 + textarea, 164 + button { 165 + width: 100%; 166 + border-radius: 4px; 167 + font: inherit; 168 + } 169 + input { 170 + height: 40px; 171 + border: 1px solid var(--gray-4); 172 + padding: 0 16px; 173 + } 174 + input[data-invalid='true'], 175 + textarea[data-invalid='true'] { 176 + border-color: #fb2c36; 177 + } 178 + input[data-invalid='true'] + div, 179 + textarea[data-invalid='true'] + div { 180 + color: #fb2c36; 181 + font-size: 14px; 182 + font-weight: 500; 183 + margin-top: 2px; 184 + } 185 + 186 + button { 187 + background: var(--gray-12); 188 + color: #fff; 189 + border: none; 190 + padding: 10px; 191 + font-weight: 500; 192 + } 193 + button:hover { 194 + background: var(--gray-10); 195 + } 196 + 197 + /* Alerts */ 198 + .alert { 199 + background: #fff; 200 + position: relative; 201 + padding: 12px 16px; 202 + font-size: 14px; 203 + min-width: 380px; 204 + font-weight: 500; 205 + border: 1px solid var(--gray-3); 206 + border-radius: 10px; 207 + animation: scale-up 0.2s cubic-bezier(0.39, 0.575, 0.565, 1) both; 208 + } 209 + .alert-destructive { 210 + color: #fb2c36; 211 + background: #fb2c361a; 212 + border-color: #fb2c36; 213 + } 214 + .alert-success { 215 + color: #00a63e; 216 + background: #00a63e1a; 217 + border-color: #00a63e; 218 + } 219 + .flash-container { 220 + position: fixed; 221 + top: 80px; 222 + left: 0; 223 + right: 0; 224 + display: flex; 225 + flex-direction: column; 226 + align-items: center; 227 + } 228 + 229 + @keyframes scale-up { 230 + from { 231 + transform: scale(0.7); 232 + } 233 + to { 234 + transform: scale(1); 235 + } 236 + }
+65
inertia/layouts/default.vue
··· 1 + <script setup lang="ts"> 2 + import { watch } from 'vue' 3 + import { usePage } from '@inertiajs/vue3' 4 + import { toast, Toaster } from 'vue-sonner' 5 + import type { Data } from '@generated/data' 6 + import { Link, Form } from '@adonisjs/inertia/vue' 7 + 8 + const page = usePage<Data.SharedProps>() 9 + 10 + watch( 11 + () => page.url, 12 + () => toast.dismiss() 13 + ) 14 + 15 + watch( 16 + () => page.props.flash.error, 17 + (error) => { 18 + if (error) toast.error(error) 19 + }, 20 + { immediate: true } 21 + ) 22 + </script> 23 + 24 + <template> 25 + <header> 26 + <div> 27 + <div> 28 + <Link route="home"> 29 + <svg 30 + width="66" 31 + height="24" 32 + viewBox="0 0 105 38" 33 + fill="none" 34 + xmlns="http://www.w3.org/2000/svg" 35 + > 36 + <path 37 + d="M0 0h7.5v15H0ZM7.5 15h7.5v15H7.5ZM15 30h7.5v7.5H15ZM22.5 15h7.5v15H22.5ZM30 0h7.5v15H30ZM45 0h7.5v30h15v-30h7.5v37.5h-30v-37.5ZM82.5 37.5V0H105v7.5H90V15h15v7.5H90V30h15v7.5H82.5Z" 38 + fill="currentColor" 39 + /> 40 + </svg> 41 + </Link> 42 + </div> 43 + <div> 44 + <nav> 45 + <template v-if="page.props.user"> 46 + <span>{{ page.props.user.initials }}</span> 47 + <Form route="session.destroy"> 48 + <button type="submit">Logout</button> 49 + </Form> 50 + </template> 51 + <template v-else> 52 + <Link route="new_account.create">Signup</Link> 53 + <Link route="session.create">Login</Link> 54 + </template> 55 + </nav> 56 + </div> 57 + </div> 58 + </header> 59 + 60 + <main> 61 + <slot /> 62 + </main> 63 + 64 + <Toaster position="top-center" rich-colors /> 65 + </template>
+44
inertia/pages/auth/login.vue
··· 1 + <script setup lang="ts"> 2 + import { Form } from '@adonisjs/inertia/vue' 3 + </script> 4 + 5 + <template> 6 + <div class="form-container"> 7 + <div> 8 + <h1>Login</h1> 9 + <p>Enter your details below to login to your account</p> 10 + </div> 11 + 12 + <div> 13 + <Form route="session.store" #default="{ processing, errors }"> 14 + <div> 15 + <label for="email">Email</label> 16 + <input 17 + type="email" 18 + name="email" 19 + id="email" 20 + autocomplete="username" 21 + :data-invalid="errors.email ? 'true' : undefined" 22 + /> 23 + <div v-if="errors.email">{{ errors.email }}</div> 24 + </div> 25 + 26 + <div> 27 + <label for="password">Password</label> 28 + <input 29 + type="password" 30 + name="password" 31 + id="password" 32 + autocomplete="current-password" 33 + :data-invalid="errors.password ? 'true' : undefined" 34 + /> 35 + <div v-if="errors.password">{{ errors.password }}</div> 36 + </div> 37 + 38 + <div> 39 + <button type="submit" class="button" :disabled="processing">Login</button> 40 + </div> 41 + </Form> 42 + </div> 43 + </div> 44 + </template>
+67
inertia/pages/auth/signup.vue
··· 1 + <script setup lang="ts"> 2 + import { Form } from '@adonisjs/inertia/vue' 3 + </script> 4 + 5 + <template> 6 + <div class="form-container"> 7 + <div> 8 + <h1>Signup</h1> 9 + <p>Enter your details below to create your account</p> 10 + </div> 11 + 12 + <div> 13 + <Form route="new_account.store" #default="{ processing, errors }"> 14 + <div> 15 + <label for="fullName">Full name</label> 16 + <input 17 + type="text" 18 + name="fullName" 19 + id="fullName" 20 + :data-invalid="errors.fullName ? 'true' : undefined" 21 + /> 22 + <div v-if="errors.fullName">{{ errors.fullName }}</div> 23 + </div> 24 + 25 + <div> 26 + <label for="email">Email</label> 27 + <input 28 + type="email" 29 + name="email" 30 + id="email" 31 + autocomplete="email" 32 + :data-invalid="errors.email ? 'true' : undefined" 33 + /> 34 + <div v-if="errors.email">{{ errors.email }}</div> 35 + </div> 36 + 37 + <div> 38 + <label for="password">Password</label> 39 + <input 40 + type="password" 41 + name="password" 42 + id="password" 43 + autocomplete="new-password" 44 + :data-invalid="errors.password ? 'true' : undefined" 45 + /> 46 + <div v-if="errors.password">{{ errors.password }}</div> 47 + </div> 48 + 49 + <div> 50 + <label for="passwordConfirmation">Confirm password</label> 51 + <input 52 + type="password" 53 + name="passwordConfirmation" 54 + id="passwordConfirmation" 55 + autocomplete="new-password" 56 + :data-invalid="errors.passwordConfirmation ? 'true' : undefined" 57 + /> 58 + <div v-if="errors.passwordConfirmation">{{ errors.passwordConfirmation }}</div> 59 + </div> 60 + 61 + <div> 62 + <button type="submit" class="button" :disabled="processing">Sign up</button> 63 + </div> 64 + </Form> 65 + </div> 66 + </div> 67 + </template>
+7
inertia/pages/errors/not_found.vue
··· 1 + <script setup lang="ts"></script> 2 + 3 + <template> 4 + <div> 5 + <h1>Page not found</h1> 6 + </div> 7 + </template>
+5
inertia/pages/errors/server_error.vue
··· 1 + <template> 2 + <div class="container"> 3 + <h1>Something went wrong.</h1> 4 + </div> 5 + </template>
+32
inertia/pages/home.vue
··· 1 + <script setup lang="ts"> 2 + import { Head } from '@inertiajs/vue3' 3 + </script> 4 + 5 + <template> 6 + <Head title="Homepage" /> 7 + 8 + <div class="hero"> 9 + <h1>It works — welcome to the power of a full-stack Vue app</h1> 10 + <p> 11 + Powered by Inertia and Vue, this setup blends server-driven routing with rich client-side 12 + interactivity — seamless, fast, and cohesive. 13 + </p> 14 + </div> 15 + 16 + <div class="cards"> 17 + <a href="https://insiders.adonisjs.com/docs/v7-alpha/introduction" target="_blank"> 18 + <h3>Official Docs &nbsp;›</h3> 19 + <p>Comprehensive reference for building with AdonisJS</p> 20 + </a> 21 + 22 + <a href="https://adocasts.com/" target="_blank"> 23 + <h3>Adocasts &nbsp;›</h3> 24 + <p>Guided video tutorials for everyday development</p> 25 + </a> 26 + 27 + <a href="https://discord.gg/vDcEjq6" target="_blank"> 28 + <h3>Discord &nbsp;›</h3> 29 + <p>Connect with developers building with AdonisJS every day</p> 30 + </a> 31 + </div> 32 + </template>
+5
inertia/shims.ts
··· 1 + declare module '*.vue' { 2 + import type { DefineComponent } from 'vue' 3 + const component: DefineComponent<object, object, unknown> 4 + export default component 5 + }
+26
inertia/ssr.ts
··· 1 + import { client } from '~/client' 2 + import Layout from '~/layouts/default.vue' 3 + import { createInertiaApp } from '@inertiajs/vue3' 4 + import { TuyauProvider } from '@adonisjs/inertia/vue' 5 + import { renderToString } from '@vue/server-renderer' 6 + import { createSSRApp, h, type DefineComponent } from 'vue' 7 + import { resolvePageComponent } from '@adonisjs/inertia/helpers' 8 + 9 + export default function render(page: any) { 10 + return createInertiaApp({ 11 + page, 12 + render: renderToString, 13 + resolve: (name) => { 14 + return resolvePageComponent( 15 + `./pages/${name}.vue`, 16 + import.meta.glob<DefineComponent>('./pages/**/*.vue', { eager: true }), 17 + Layout 18 + ) 19 + }, 20 + setup: ({ App, props, plugin }) => { 21 + return createSSRApp({ 22 + render: () => h(TuyauProvider, { client }, { default: () => h(App, props) }), 23 + }).use(plugin) 24 + }, 25 + }) 26 + }
+19
inertia/tsconfig.json
··· 1 + { 2 + "extends": "@adonisjs/tsconfig/tsconfig.client.json", 3 + "compilerOptions": { 4 + "baseUrl": ".", 5 + "jsx": "preserve", 6 + "module": "ESNext", 7 + "jsxImportSource": "vue", 8 + "paths": { 9 + "~/*": ["./*"], 10 + "@generated/*": ["../.adonisjs/client/*"] 11 + } 12 + }, 13 + "include": [ 14 + "./**/*.ts", 15 + "./**/*.vue", 16 + "../.adonisjs/client/**/*.ts", 17 + "../.adonisjs/server/**/*.ts" 18 + ] 19 + }
+93
package.json
··· 1 + { 2 + "name": "atlast-temp", 3 + "version": "0.0.0", 4 + "private": true, 5 + "type": "module", 6 + "license": "UNLICENSED", 7 + "engines": { 8 + "node": ">=24.0.0" 9 + }, 10 + "scripts": { 11 + "start": "node bin/server.js", 12 + "build": "node ace build", 13 + "dev": "node ace serve --hmr", 14 + "test": "node ace test", 15 + "lint": "eslint .", 16 + "format": "prettier --write .", 17 + "typecheck": "tsc --noEmit && vue-tsc --noEmit --project inertia/tsconfig.json" 18 + }, 19 + "imports": { 20 + "#controllers/*": "./app/controllers/*.js", 21 + "#exceptions/*": "./app/exceptions/*.js", 22 + "#models/*": "./app/models/*.js", 23 + "#mails/*": "./app/mails/*.js", 24 + "#services/*": "./app/services/*.js", 25 + "#listeners/*": "./app/listeners/*.js", 26 + "#events/*": "./app/events/*.js", 27 + "#generated/*": "./.adonisjs/server/*.js", 28 + "#middleware/*": "./app/middleware/*.js", 29 + "#transformers/*": "./app/transformers/*.js", 30 + "#validators/*": "./app/validators/*.js", 31 + "#providers/*": "./providers/*.js", 32 + "#policies/*": "./app/policies/*.js", 33 + "#abilities/*": "./app/abilities/*.js", 34 + "#database/*": "./database/*.js", 35 + "#tests/*": "./tests/*.js", 36 + "#start/*": "./start/*.js", 37 + "#config/*": "./config/*.js" 38 + }, 39 + "devDependencies": { 40 + "@adonisjs/assembler": "^8.0.0", 41 + "@adonisjs/eslint-config": "^3.0.0", 42 + "@adonisjs/prettier-config": "^1.4.5", 43 + "@adonisjs/tsconfig": "^2.0.0", 44 + "@japa/assert": "^4.2.0", 45 + "@japa/browser-client": "^2.3.0", 46 + "@japa/plugin-adonisjs": "^5.1.0", 47 + "@japa/runner": "^5.3.0", 48 + "@poppinss/ts-exec": "^1.4.4", 49 + "@types/luxon": "^3.7.1", 50 + "@types/node": "~24.11.0", 51 + "@vitejs/plugin-vue": "^6.0.4", 52 + "eslint": "^10.0.2", 53 + "hot-hook": "^1.0.0", 54 + "pino-pretty": "^13.1.3", 55 + "prettier": "^3.8.1", 56 + "typescript": "~5.9.3", 57 + "vite": "^7.3.1", 58 + "vue-tsc": "^3.2.5", 59 + "youch": "^4.1.0" 60 + }, 61 + "dependencies": { 62 + "@adonisjs/auth": "^10.0.0", 63 + "@adonisjs/core": "^7.0.0", 64 + "@adonisjs/cors": "^3.0.0", 65 + "@adonisjs/inertia": "^4.1.0", 66 + "@adonisjs/lucid": "^22.0.0", 67 + "@adonisjs/session": "^8.0.0", 68 + "@adonisjs/shield": "^9.0.0", 69 + "@adonisjs/static": "^2.0.0", 70 + "@adonisjs/vite": "^5.1.0", 71 + "@atproto-labs/simple-store": "^0.3.0", 72 + "@atproto/jwk-jose": "^0.1.11", 73 + "@atproto/lex": "^0.0.19", 74 + "@atproto/oauth-client-node": "^0.3.17", 75 + "@inertiajs/vue3": "^2.3.17", 76 + "@thisismissem/adonisjs-atproto-oauth": "^1.0.2", 77 + "@tuyau/core": "^1.0.0", 78 + "@vinejs/vine": "^4.3.0", 79 + "better-sqlite3": "^12.6.2", 80 + "edge.js": "^6.5.0", 81 + "luxon": "^3.7.2", 82 + "reflect-metadata": "^0.2.2", 83 + "vue": "^3.5.29", 84 + "vue-sonner": "^2.0.9" 85 + }, 86 + "hotHook": { 87 + "boundaries": [ 88 + "./app/controllers/**/*.ts", 89 + "./app/middleware/*.ts" 90 + ] 91 + }, 92 + "prettier": "@adonisjs/prettier-config" 93 + }
+6507
pnpm-lock.yaml
··· 1 + lockfileVersion: '9.0' 2 + 3 + settings: 4 + autoInstallPeers: true 5 + excludeLinksFromLockfile: false 6 + 7 + importers: 8 + 9 + .: 10 + dependencies: 11 + '@adonisjs/auth': 12 + specifier: ^10.0.0 13 + version: 10.0.0(7a795e257a369dca83d66a2101ce9b7c) 14 + '@adonisjs/core': 15 + specifier: ^7.0.0 16 + version: 7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0) 17 + '@adonisjs/cors': 18 + specifier: ^3.0.0 19 + version: 3.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0)) 20 + '@adonisjs/inertia': 21 + specifier: ^4.1.0 22 + version: 4.1.0(2f8d1c79f297068b57529b94992ba956) 23 + '@adonisjs/lucid': 24 + specifier: ^22.0.0 25 + version: 22.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@vinejs/vine@4.3.0)(better-sqlite3@12.6.2)(luxon@3.7.2) 26 + '@adonisjs/session': 27 + specifier: ^8.0.0 28 + version: 8.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@adonisjs/lucid@22.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@vinejs/vine@4.3.0)(better-sqlite3@12.6.2)(luxon@3.7.2))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/plugin-adonisjs@5.1.0(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/runner@5.3.0)(playwright@1.58.2))(edge.js@6.5.0) 29 + '@adonisjs/shield': 30 + specifier: ^9.0.0 31 + version: 9.0.0(2974f212515c0e83b2d07b7b39656372) 32 + '@adonisjs/static': 33 + specifier: ^2.0.0 34 + version: 2.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0)) 35 + '@adonisjs/vite': 36 + specifier: ^5.1.0 37 + version: 5.1.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@adonisjs/shield@9.0.0(2974f212515c0e83b2d07b7b39656372))(edge.js@6.5.0)(vite@7.3.1(@types/node@24.11.0)) 38 + '@atproto-labs/simple-store': 39 + specifier: ^0.3.0 40 + version: 0.3.0 41 + '@atproto/jwk-jose': 42 + specifier: ^0.1.11 43 + version: 0.1.11 44 + '@atproto/lex': 45 + specifier: ^0.0.19 46 + version: 0.0.19 47 + '@atproto/oauth-client-node': 48 + specifier: ^0.3.17 49 + version: 0.3.17 50 + '@inertiajs/vue3': 51 + specifier: ^2.3.17 52 + version: 2.3.17(vue@3.5.29(typescript@5.9.3)) 53 + '@thisismissem/adonisjs-atproto-oauth': 54 + specifier: ^1.0.2 55 + version: 1.0.2(@adonisjs/auth@10.0.0(7a795e257a369dca83d66a2101ce9b7c))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@adonisjs/lucid@22.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@vinejs/vine@4.3.0)(better-sqlite3@12.6.2)(luxon@3.7.2))(@atproto-labs/simple-store@0.3.0)(@atproto/jwk-jose@0.1.11)(@atproto/lex@0.0.19)(@atproto/oauth-client-node@0.3.17)(@vinejs/vine@4.3.0)(luxon@3.7.2) 56 + '@tuyau/core': 57 + specifier: ^1.0.0 58 + version: 1.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0)) 59 + '@vinejs/vine': 60 + specifier: ^4.3.0 61 + version: 4.3.0 62 + better-sqlite3: 63 + specifier: ^12.6.2 64 + version: 12.6.2 65 + edge.js: 66 + specifier: ^6.5.0 67 + version: 6.5.0 68 + luxon: 69 + specifier: ^3.7.2 70 + version: 3.7.2 71 + reflect-metadata: 72 + specifier: ^0.2.2 73 + version: 0.2.2 74 + vue: 75 + specifier: ^3.5.29 76 + version: 3.5.29(typescript@5.9.3) 77 + vue-sonner: 78 + specifier: ^2.0.9 79 + version: 2.0.9 80 + devDependencies: 81 + '@adonisjs/assembler': 82 + specifier: ^8.0.0 83 + version: 8.0.0(typescript@5.9.3) 84 + '@adonisjs/eslint-config': 85 + specifier: ^3.0.0 86 + version: 3.0.0(eslint@10.0.2)(prettier@3.8.1)(typescript@5.9.3) 87 + '@adonisjs/prettier-config': 88 + specifier: ^1.4.5 89 + version: 1.4.5 90 + '@adonisjs/tsconfig': 91 + specifier: ^2.0.0 92 + version: 2.0.0 93 + '@japa/assert': 94 + specifier: ^4.2.0 95 + version: 4.2.0(@japa/runner@5.3.0) 96 + '@japa/browser-client': 97 + specifier: ^2.3.0 98 + version: 2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2) 99 + '@japa/plugin-adonisjs': 100 + specifier: ^5.1.0 101 + version: 5.1.0(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/runner@5.3.0)(playwright@1.58.2) 102 + '@japa/runner': 103 + specifier: ^5.3.0 104 + version: 5.3.0 105 + '@poppinss/ts-exec': 106 + specifier: ^1.4.4 107 + version: 1.4.4 108 + '@types/luxon': 109 + specifier: ^3.7.1 110 + version: 3.7.1 111 + '@types/node': 112 + specifier: ~24.11.0 113 + version: 24.11.0 114 + '@vitejs/plugin-vue': 115 + specifier: ^6.0.4 116 + version: 6.0.4(vite@7.3.1(@types/node@24.11.0))(vue@3.5.29(typescript@5.9.3)) 117 + eslint: 118 + specifier: ^10.0.2 119 + version: 10.0.2 120 + hot-hook: 121 + specifier: ^1.0.0 122 + version: 1.0.0 123 + pino-pretty: 124 + specifier: ^13.1.3 125 + version: 13.1.3 126 + prettier: 127 + specifier: ^3.8.1 128 + version: 3.8.1 129 + typescript: 130 + specifier: ~5.9.3 131 + version: 5.9.3 132 + vite: 133 + specifier: ^7.3.1 134 + version: 7.3.1(@types/node@24.11.0) 135 + vue-tsc: 136 + specifier: ^3.2.5 137 + version: 3.2.5(typescript@5.9.3) 138 + youch: 139 + specifier: ^4.1.0 140 + version: 4.1.0 141 + 142 + packages: 143 + 144 + '@adobe/css-tools@4.4.4': 145 + resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} 146 + 147 + '@adonisjs/ace@14.0.1': 148 + resolution: {integrity: sha512-tvvhCuRJbhlmmzn9p9CsWWUbi4p5dBc9XppI5pQZGE6cl8o4KPJKqWYTVcZT2Q2N03vw8Pg4Ec+2KyO/EotOJw==} 149 + engines: {node: '>=24.0.0'} 150 + peerDependencies: 151 + youch: ^4.1.0-beta.11 || ^4.1.0 152 + 153 + '@adonisjs/application@9.0.0': 154 + resolution: {integrity: sha512-iQpq/JRJsnrqOMHfu72CYjmlkH5FwT28DhUKEOjktccmFh8OLdVZ2Sieb8b2/qNv4c+w8Yo7keOGEzOYUrU+kA==} 155 + engines: {node: '>=24.0.0'} 156 + peerDependencies: 157 + '@adonisjs/assembler': ^8.0.0-next.23 || ^8.0.0 158 + '@adonisjs/config': ^6.1.0-next.0 || ^6.0.0 159 + '@adonisjs/fold': ^11.0.0-next.3 || ^11.0.0 160 + peerDependenciesMeta: 161 + '@adonisjs/assembler': 162 + optional: true 163 + 164 + '@adonisjs/assembler@8.0.0': 165 + resolution: {integrity: sha512-fA2FNC4Kldzu1aT6NZpk031oi/mQTN2I7MBVCcMBtfuKY+xXCgfTepx/krn2X/Gg0UKK8zeT+ioyLJ1Z77SV5w==} 166 + engines: {node: '>=24.0.0'} 167 + peerDependencies: 168 + typescript: ^4.0.0 || ^5.0.0 169 + 170 + '@adonisjs/auth@10.0.0': 171 + resolution: {integrity: sha512-ag78Yhrwi+ljsQKXZFwe5Qpkbt6az8NqWvU2NZSVVzP/JWwp5GShzX6DOAzVQIhbViBnLB66xnkL7qnRd62tdA==} 172 + engines: {node: '>=24.0.0'} 173 + peerDependencies: 174 + '@adonisjs/assembler': ^8.0.0-next.26 || ^8.0.0 175 + '@adonisjs/core': ^7.0.0-next.16 || ^7.0.0 176 + '@adonisjs/i18n': ^3.0.0-next.2 || ^3.0.0 177 + '@adonisjs/lucid': ^22.0.0-next.1 || ^22.0.0 178 + '@adonisjs/session': ^8.0.0-next.1 || ^8.0.0 179 + '@japa/api-client': ^3.1.1 180 + '@japa/browser-client': ^2.2.0 181 + '@japa/plugin-adonisjs': ^5.1.0-next.0 || ^5.1.0 182 + peerDependenciesMeta: 183 + '@adonisjs/assembler': 184 + optional: true 185 + '@adonisjs/i18n': 186 + optional: true 187 + '@adonisjs/lucid': 188 + optional: true 189 + '@adonisjs/session': 190 + optional: true 191 + '@japa/api-client': 192 + optional: true 193 + '@japa/browser-client': 194 + optional: true 195 + '@japa/plugin-adonisjs': 196 + optional: true 197 + 198 + '@adonisjs/bodyparser@11.0.0': 199 + resolution: {integrity: sha512-R5WmPtJ2mcv6x755uZmYSHX1eOUr2p/JZpxPYLDqybwwmuvQ5guL79zdBen4euAdc/VLD17sOFyxeuHxikHewQ==} 200 + engines: {node: '>=24.0.0'} 201 + peerDependencies: 202 + '@adonisjs/http-server': ^8.0.0-next.17 || ^8.0.0 203 + 204 + '@adonisjs/config@6.1.0': 205 + resolution: {integrity: sha512-YVDRL8xHCtM6iMnAefOBaz6iXVpojwBPDQWPKxnVSucycYeNGrGitJiLy+cGaeAU7Gjm8al9SJRJt3rRPr5PKg==} 206 + engines: {node: '>=24.0.0'} 207 + 208 + '@adonisjs/core@7.0.0': 209 + resolution: {integrity: sha512-acmnZAsO0fmxCsQkc1SQHRXM0LTRkbCzxpQf+1+ONuqbeiKar25As58it/P06G+pGJUCCfo3sXP9JvEKIAxQFA==} 210 + engines: {node: '>=24.0.0'} 211 + hasBin: true 212 + peerDependencies: 213 + '@adonisjs/assembler': ^8.0.0-next.23 || ^8.0.0 214 + '@vinejs/vine': ^4.0.0 215 + argon2: ^0.44.0 216 + bcrypt: ^6.0.0 217 + edge.js: ^6.2.0 218 + pino-pretty: ^13.1.3 219 + youch: ^4.1.0-beta.13 || ^4.1.0 220 + peerDependenciesMeta: 221 + '@adonisjs/assembler': 222 + optional: true 223 + '@vinejs/vine': 224 + optional: true 225 + argon2: 226 + optional: true 227 + bcrypt: 228 + optional: true 229 + edge.js: 230 + optional: true 231 + pino-pretty: 232 + optional: true 233 + youch: 234 + optional: true 235 + 236 + '@adonisjs/cors@3.0.0': 237 + resolution: {integrity: sha512-S3LS+zZ2SziwVvilnkKg4DjmU+df1xqdZRDSQjUKJr5hYEOVAlnci0kHTiz2szxB+QiseQXr/XfN/D5ooMMlYQ==} 238 + engines: {node: '>=18.16.0'} 239 + peerDependencies: 240 + '@adonisjs/assembler': ^8.0.0-next.7 || ^8.0.0 241 + '@adonisjs/core': ^7.0.0-next.0 || ^7.0.0 242 + peerDependenciesMeta: 243 + '@adonisjs/assembler': 244 + optional: true 245 + 246 + '@adonisjs/env@7.0.0': 247 + resolution: {integrity: sha512-9lSGONI4B1E7LxyVZiUd1yCH9BOri4Ybp4b9x3ojT9AkKfYwqvj4S2USIvFAlkE7eHUC2WMvPgMLX17342Y3ww==} 248 + engines: {node: '>=24.0.0'} 249 + 250 + '@adonisjs/eslint-config@3.0.0': 251 + resolution: {integrity: sha512-JA2EUNDiX3PUbE/FLzgZgurCL/jsu5ExN24MKJWMU861Po4xSQgKz4B8NtE5qALBUALO4lGucSOcJ7x3j/nH2w==} 252 + peerDependencies: 253 + eslint: ^9.9.0 || ^10.0.0 254 + prettier: ^3.8.1 255 + 256 + '@adonisjs/eslint-plugin@2.2.2': 257 + resolution: {integrity: sha512-OAIrljEpbhyikG+BQ8r7195GoRDPmMEBUfSfr6ajM6IPtQMPAb/oKzeXF8XTy2CxupUoGhMd2n8+sx/pgL1m4g==} 258 + engines: {node: '>=20.6.0'} 259 + peerDependencies: 260 + eslint: ^9.9.1 || ^10.0.0 261 + 262 + '@adonisjs/events@10.1.0': 263 + resolution: {integrity: sha512-RGMj9711BxCRFngmSV35uyP50Nhk3TMw2wCUw4409qMyWIvd6lMFlHotdhTkV+yTtc2waZE7+gMpgq6k1N7fKQ==} 264 + engines: {node: '>=24.0.0'} 265 + peerDependencies: 266 + '@adonisjs/application': ^9.0.0-next.14 || ^9.0.0 267 + '@adonisjs/fold': ^11.0.0-next.4 || ^11.0.0 268 + 269 + '@adonisjs/fold@11.0.0': 270 + resolution: {integrity: sha512-RnmDPWz2imVp/B74xitxCPqTdoP07bZvfJe1bh9CD9Rmia4jjDvehZF67KFyGNMZ24MuKasqs3jOcM1vGJp0GA==} 271 + engines: {node: '>=24.0.0'} 272 + 273 + '@adonisjs/hash@10.0.0': 274 + resolution: {integrity: sha512-emzCZ+ckoCwYaJwYLIfzOYoHK/NfLMmAaPnyNRrTn8dEU/Guz7R9m5kjePZat1FfrePq6OEufcmMqp6XwAJCaw==} 275 + engines: {node: '>=20.6.0'} 276 + peerDependencies: 277 + argon2: ^0.31.2 || ^0.41.0 || ^0.43.0 || ^0.44.0 278 + bcrypt: ^5.1.1 || ^6.0.0 279 + peerDependenciesMeta: 280 + argon2: 281 + optional: true 282 + bcrypt: 283 + optional: true 284 + 285 + '@adonisjs/health@3.1.0': 286 + resolution: {integrity: sha512-m3doBnSwi/l9v1DO79xmjAoSPl9b2XCp+crGwF8QUlhe5CgWgtfnL0SeFNEiZGliD3c4gYdihKz4Pnydctva8A==} 287 + engines: {node: '>=24.0.0'} 288 + 289 + '@adonisjs/http-server@8.0.0': 290 + resolution: {integrity: sha512-j1R15a7jALDOit9iKJ7XnSEdYJEsyiUkm+i0tywWquEOtDZdSSoU28e/cyizvJpW4kkZ3VDiKoLiYUrCA8IXSg==} 291 + engines: {node: '>=24.0.0'} 292 + peerDependencies: 293 + '@adonisjs/application': ^9.0.0-next.14 || ^9.0.0 294 + '@adonisjs/events': ^10.1.0-next.4 || ^10.1.0 295 + '@adonisjs/fold': ^11.0.0-next.4 || ^11.0.0 296 + '@adonisjs/logger': ^7.1.0-next.3 || ^7.1.0 297 + '@boringnode/encryption': ^0.2.0 || ^1.0.0 298 + youch: ^4.1.0-beta.13 || ^4.1.0 299 + peerDependenciesMeta: 300 + youch: 301 + optional: true 302 + 303 + '@adonisjs/http-transformers@2.3.1': 304 + resolution: {integrity: sha512-N3gBcKyoPHDeVvVIedTzc+ARSUURwNGTPid/e3iLdM4v/myoSnXd76FL/GGzMmjfqqxegpjI2IEMibG7ylrKSQ==} 305 + engines: {node: '>=24.0.0'} 306 + peerDependencies: 307 + '@adonisjs/fold': ^11.0.0-next.2 308 + 309 + '@adonisjs/inertia@4.1.0': 310 + resolution: {integrity: sha512-S+PGrfh1egA2j7j9+vhzBm4s8wDvtz5MUAFfiIbBapAjakgzBbFWwPY7PbumaE6gyts8Edc0tCnnIHzlBVS5GQ==} 311 + engines: {node: '>=24.0.0'} 312 + peerDependencies: 313 + '@adonisjs/assembler': ^8.0.0-next.29 || ^8.0.0 314 + '@adonisjs/core': ^7.0.0-next.23 || ^7.0.0 315 + '@adonisjs/session': ^8.0.0-next.2 || ^8.0.0 316 + '@adonisjs/vite': ^5.1.0-next.2 || ^5.1.0 317 + '@inertiajs/react': ^2.3.8 318 + '@inertiajs/vue3': ^2.3.8 319 + '@japa/api-client': ^3.1.1 320 + '@japa/plugin-adonisjs': ^5.1.0-next.1 || ^5.1.0 321 + '@tuyau/core': ^1.0.0-beta.10 || ^1.0.0 322 + edge.js: ^6.4.0 323 + react: ^19.2.3 324 + vue: ^3.5.17 325 + peerDependenciesMeta: 326 + '@adonisjs/assembler': 327 + optional: true 328 + '@inertiajs/react': 329 + optional: true 330 + '@inertiajs/vue3': 331 + optional: true 332 + '@japa/api-client': 333 + optional: true 334 + '@japa/plugin-adonisjs': 335 + optional: true 336 + '@tuyau/core': 337 + optional: true 338 + react: 339 + optional: true 340 + vue: 341 + optional: true 342 + 343 + '@adonisjs/logger@7.1.0': 344 + resolution: {integrity: sha512-l96HiHkoh1h2lL5DreGx9gexoPHVqJ0OFs118EpyyrZHtPlq3dojMQlO+h/r/igalZ9ESsZs3uBYfgc7RLrVvA==} 345 + engines: {node: '>=24.0.0'} 346 + peerDependencies: 347 + pino-pretty: ^13.1.1 348 + peerDependenciesMeta: 349 + pino-pretty: 350 + optional: true 351 + 352 + '@adonisjs/lucid@22.0.0': 353 + resolution: {integrity: sha512-yZVD9QnWfRgj8HmA0CIc3rvaNXB6boCQl7JjQH1A2l8pIsH/aQPkHSKidD/opgAjhy3TuDXjHi3R+jRVn5f6ZQ==} 354 + engines: {node: '>=24.0.0'} 355 + peerDependencies: 356 + '@adonisjs/assembler': ^8.0.0-next.29 || ^8.0.0 357 + '@adonisjs/core': ^7.0.0-next.21 || ^7.0.0 358 + '@vinejs/vine': ^3.0.0 || ^4.0.0 359 + luxon: ^3.4.4 360 + peerDependenciesMeta: 361 + '@adonisjs/assembler': 362 + optional: true 363 + '@vinejs/vine': 364 + optional: true 365 + luxon: 366 + optional: true 367 + 368 + '@adonisjs/presets@3.0.0': 369 + resolution: {integrity: sha512-+gVIvyEiM7jiN5Gb93200TAC8ed3vZIPfxFFo0pIVgX8k40BleuYhWxFhI6TPocVXXIIpw2JuMFV2Pqjk36W2A==} 370 + engines: {node: '>=24.0.0'} 371 + peerDependencies: 372 + '@adonisjs/assembler': ^8.0.0-next.9 || ^8.0.0 373 + '@adonisjs/core': ^7.0.0-next.1 || ^7.0.0 374 + peerDependenciesMeta: 375 + '@adonisjs/assembler': 376 + optional: true 377 + 378 + '@adonisjs/prettier-config@1.4.5': 379 + resolution: {integrity: sha512-UOYmJQeOhWRIWE2v/cXmpMPq2Its5lOpNeJ+nr79yASAVFVtlDE5qdHicMgVdTbFPWFgHzmU8icVk6YmaOnSXg==} 380 + 381 + '@adonisjs/repl@5.0.0': 382 + resolution: {integrity: sha512-cPp0w5svYUA3M1gdxQBO2Mx5g+SZfPweqKCAxk7C1Os/Qu67JKgWqXqNnl1q0Tzv/l0L19Ms1C7ivzQxeBNajg==} 383 + engines: {node: '>=24.0.0'} 384 + 385 + '@adonisjs/session@8.0.0': 386 + resolution: {integrity: sha512-JPPhZG3shdNKkMl8J9Gt9UVxk1nwzvaKctIzj1T2gTP4UwsTncX6eXk9djK6xU2mgP3ipxGKI5chpfPnW95poA==} 387 + engines: {node: '>=24.0.0'} 388 + peerDependencies: 389 + '@adonisjs/assembler': ^8.0.0-next.26 || ^8.0.0 390 + '@adonisjs/core': ^7.0.0-next.16 || ^7.0.0 391 + '@adonisjs/lucid': ^22.0.0-next.0 || ^22.0.0 392 + '@adonisjs/redis': ^10.0.0-next.2 || ^10.0.0 393 + '@aws-sdk/client-dynamodb': ^3.955.0 394 + '@aws-sdk/util-dynamodb': ^3.955.0 395 + '@japa/api-client': ^3.1.0 396 + '@japa/browser-client': ^2.0.3 397 + '@japa/plugin-adonisjs': ^5.1.0-next.0 || ^5.1.0 398 + edge.js: ^6.4.0 399 + peerDependenciesMeta: 400 + '@adonisjs/assembler': 401 + optional: true 402 + '@adonisjs/lucid': 403 + optional: true 404 + '@adonisjs/redis': 405 + optional: true 406 + '@aws-sdk/client-dynamodb': 407 + optional: true 408 + '@aws-sdk/util-dynamodb': 409 + optional: true 410 + '@japa/api-client': 411 + optional: true 412 + '@japa/browser-client': 413 + optional: true 414 + '@japa/plugin-adonisjs': 415 + optional: true 416 + edge.js: 417 + optional: true 418 + 419 + '@adonisjs/shield@9.0.0': 420 + resolution: {integrity: sha512-RmupWRspYGyzS/fAC0QspL7+Uhp6IaidvxE4CYbuqO43PBPCxhC47VjXML720B8hcps7ClK9RWjdMiJkUrn7fA==} 421 + engines: {node: '>=24.0.0'} 422 + peerDependencies: 423 + '@adonisjs/assembler': ^8.0.0-next.26 || ^8.0.0 424 + '@adonisjs/core': ^7.0.0-next.16 || ^7.0.0 425 + '@adonisjs/i18n': ^3.0.0-next.2 || ^3.0.0 426 + '@adonisjs/session': ^8.0.0-next.1 || ^8.0.0 427 + '@japa/api-client': ^3.1.1 428 + '@japa/plugin-adonisjs': ^5.1.0-next.0 || ^5.1.0 429 + edge.js: ^6.4.0 430 + peerDependenciesMeta: 431 + '@adonisjs/assembler': 432 + optional: true 433 + '@adonisjs/i18n': 434 + optional: true 435 + '@japa/api-client': 436 + optional: true 437 + '@japa/plugin-adonisjs': 438 + optional: true 439 + edge.js: 440 + optional: true 441 + 442 + '@adonisjs/static@2.0.0': 443 + resolution: {integrity: sha512-e9PvkOfp5uLsPzcv1hUrCga26OKYH73vApdXxibl9zBgbeIOqIcF3eIDdCeK5e+huoRUMsheexpsfnSye8SUaQ==} 444 + engines: {node: '>=24.0.0'} 445 + peerDependencies: 446 + '@adonisjs/assembler': ^8.0.0-next.7 || ^8.0.0 447 + '@adonisjs/core': ^7.0.0-next.0 || ^7.0.0 448 + peerDependenciesMeta: 449 + '@adonisjs/assembler': 450 + optional: true 451 + 452 + '@adonisjs/tsconfig@2.0.0': 453 + resolution: {integrity: sha512-Uz8qvB6KR9otCh9zei2VEj7tPwdsrT7R+voYoN4tUfEijWRdTNgJ8d1CtyLKHaggCCOwZIwZLVklV/h2FDHgNw==} 454 + 455 + '@adonisjs/vite@5.1.0': 456 + resolution: {integrity: sha512-lwscbYC/lvudof1uesxb7oqRkk7Kb82TaJuZvCk2UaSRvU9RtCqOBlhU/wxdb5Urt5aBUFVruEAoPnBkpy+1ag==} 457 + engines: {node: '>=24.0.0'} 458 + peerDependencies: 459 + '@adonisjs/assembler': ^8.0.0-next.10 || ^8.0.0 460 + '@adonisjs/core': ^7.0.0-next.3 || ^7.0.0 461 + '@adonisjs/shield': ^9.0.0-next.0 || ^9.0.0 462 + edge.js: ^6.0.1 463 + vite: ^7.0.0 464 + peerDependenciesMeta: 465 + '@adonisjs/assembler': 466 + optional: true 467 + '@adonisjs/shield': 468 + optional: true 469 + edge.js: 470 + optional: true 471 + 472 + '@antfu/install-pkg@1.1.0': 473 + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} 474 + 475 + '@arr/every@1.0.1': 476 + resolution: {integrity: sha512-UQFQ6SgyJ6LX42W8rHCs8KVc0JS0tzVL9ct4XYedJukskYVWTo49tNiMEK9C2HTyarbNiT/RVIRSY82vH+6sTg==} 477 + engines: {node: '>=4'} 478 + 479 + '@ast-grep/napi-darwin-arm64@0.41.0': 480 + resolution: {integrity: sha512-SoAzCj1o9/mdtOdj6pZI1qpZkfncd+2DsWAa2ZmoomKc7CFKCzPniJtThXeOq+IJKcufS8zFGbk57ScMpDgd5A==} 481 + engines: {node: '>= 10'} 482 + cpu: [arm64] 483 + os: [darwin] 484 + 485 + '@ast-grep/napi-darwin-x64@0.41.0': 486 + resolution: {integrity: sha512-SSQeJzm19nNQ+caTgLLFgmhhjhyL8C+8yDSYSYYwOwqkj/Zx5sZHFvND2f8XeOM9Tey7Lkvaf1Prp4l/NwrskA==} 487 + engines: {node: '>= 10'} 488 + cpu: [x64] 489 + os: [darwin] 490 + 491 + '@ast-grep/napi-linux-arm64-gnu@0.41.0': 492 + resolution: {integrity: sha512-Td7ciWtsbuYlFV4OC8bg7s+DexXsGLy29yKJqI1ZvoE+9SpWPdFVojeIu9qiQinGh27uggOAZ25WCROnZ2kJpw==} 493 + engines: {node: '>= 10'} 494 + cpu: [arm64] 495 + os: [linux] 496 + libc: [glibc] 497 + 498 + '@ast-grep/napi-linux-arm64-musl@0.41.0': 499 + resolution: {integrity: sha512-2wx0SfNZ7eBJN40ne9ncuODoU8ck85wXJ94WV40Ol8Pr4owtrd1yFXQqZTMrq5xYcf4Z3yQWwmEhaH6TJAoBbg==} 500 + engines: {node: '>= 10'} 501 + cpu: [arm64] 502 + os: [linux] 503 + libc: [musl] 504 + 505 + '@ast-grep/napi-linux-x64-gnu@0.41.0': 506 + resolution: {integrity: sha512-OzaoOpW4/uX9T5D6h2mXCncCaQ+Ph/hzzH3c91ozNrFYqsQ7MDS04PUhRJQ4Z79H4yuXx2jkbXaj3+ZNR3DP6g==} 507 + engines: {node: '>= 10'} 508 + cpu: [x64] 509 + os: [linux] 510 + libc: [glibc] 511 + 512 + '@ast-grep/napi-linux-x64-musl@0.41.0': 513 + resolution: {integrity: sha512-Oeg3BhOC+FA32mW3FHfXXW/AelvicfRhQIrWq5YNS44Sdy9scA34b2FiBPLaj4dHwBgg3ebEfDgmiYBQOMkXaw==} 514 + engines: {node: '>= 10'} 515 + cpu: [x64] 516 + os: [linux] 517 + libc: [musl] 518 + 519 + '@ast-grep/napi-win32-arm64-msvc@0.41.0': 520 + resolution: {integrity: sha512-6rE9lQbey3rRfr3wQxrfGMcLeyNRydjA4rfdfAciWQApQ+lat5QI7tlgqPqo5EKITUNwap6YY+IxfwBxsLbHYg==} 521 + engines: {node: '>= 10'} 522 + cpu: [arm64] 523 + os: [win32] 524 + 525 + '@ast-grep/napi-win32-ia32-msvc@0.41.0': 526 + resolution: {integrity: sha512-ITtAD7tI3/vImz13wJUUns3UDIsrE3d2/JhhLN3CE1YqNItuNoW53nWqR3YcC/KsfSJnDddD6R0gMVkmlXapAg==} 527 + engines: {node: '>= 10'} 528 + cpu: [ia32] 529 + os: [win32] 530 + 531 + '@ast-grep/napi-win32-x64-msvc@0.41.0': 532 + resolution: {integrity: sha512-DSqDh4KJ5+8x+gfAtWdXdeRpGfTjgm00kTW/pqUxhMdW6DVShMSDrFR+lj3dL9FmzMrwVGb+mcN8dWNqGA85Cw==} 533 + engines: {node: '>= 10'} 534 + cpu: [x64] 535 + os: [win32] 536 + 537 + '@ast-grep/napi@0.41.0': 538 + resolution: {integrity: sha512-3kK6hCxyinsxZIM6p/gWoN33v0GgxBXU6uDbM/J2j3t7f9lXRvA1J+8HeiemCtXNA75H1EK5Oo7/E28HOhYHDg==} 539 + engines: {node: '>= 10'} 540 + 541 + '@atproto-labs/did-resolver@0.2.6': 542 + resolution: {integrity: sha512-2K1bC04nI2fmgNcvof+yA28IhGlpWn2JKYlPa7To9JTKI45FINCGkQSGiL2nyXlyzDJJ34fZ1aq6/IRFIOIiqg==} 543 + 544 + '@atproto-labs/fetch-node@0.2.0': 545 + resolution: {integrity: sha512-Krq09nH/aeoiU2s9xdHA0FjTEFWG9B5FFenipv1iRixCcPc7V3DhTNDawxG9gI8Ny0k4dBVS9WTRN/IDzBx86Q==} 546 + engines: {node: '>=18.7.0'} 547 + 548 + '@atproto-labs/fetch@0.2.3': 549 + resolution: {integrity: sha512-NZtbJOCbxKUFRFKMpamT38PUQMY0hX0p7TG5AEYOPhZKZEP7dHZ1K2s1aB8MdVH0qxmqX7nQleNrrvLf09Zfdw==} 550 + 551 + '@atproto-labs/handle-resolver-node@0.1.25': 552 + resolution: {integrity: sha512-NY9WYM2VLd3IuMGRkkmvGBg8xqVEaK/fitv1vD8SMXqFTekdpjOLCCyv7EFtqVHouzmDcL83VOvWRfHVa8V9Yw==} 553 + engines: {node: '>=18.7.0'} 554 + 555 + '@atproto-labs/handle-resolver@0.3.6': 556 + resolution: {integrity: sha512-qnSTXvOBNj1EHhp2qTWSX8MS5q3AwYU5LKlt5fBvSbCjgmTr2j0URHCv+ydrwO55KvsojIkTMgeMOh4YuY4fCA==} 557 + 558 + '@atproto-labs/identity-resolver@0.3.6': 559 + resolution: {integrity: sha512-qoWqBDRobln0NR8L8dQjSp79E0chGkBhibEgxQa2f9WD+JbJdjQ0YvwwO5yeQn05pJoJmAwmI2wyJ45zjU7aWg==} 560 + 561 + '@atproto-labs/pipe@0.1.1': 562 + resolution: {integrity: sha512-hdNw2oUs2B6BN1lp+32pF7cp8EMKuIN5Qok2Vvv/aOpG/3tNSJ9YkvfI0k6Zd188LeDDYRUpYpxcoFIcGH/FNg==} 563 + 564 + '@atproto-labs/simple-store-memory@0.1.4': 565 + resolution: {integrity: sha512-3mKY4dP8I7yKPFj9VKpYyCRzGJOi5CEpOLPlRhoJyLmgs3J4RzDrjn323Oakjz2Aj2JzRU/AIvWRAZVhpYNJHw==} 566 + 567 + '@atproto-labs/simple-store@0.3.0': 568 + resolution: {integrity: sha512-nOb6ONKBRJHRlukW1sVawUkBqReLlLx6hT35VS3imaNPwiXDxLnTK7lxw3Lrl9k5yugSBDQAkZAq3MPTEFSUBQ==} 569 + 570 + '@atproto/common-web@0.4.17': 571 + resolution: {integrity: sha512-sfxD8NGxyoxhxmM9EUshEFbWcJ3+JHEOZF4Quk6HsCh1UxpHBmLabT/vEsAkDWl+C/8U0ine0+c/gHyE/OZiQQ==} 572 + 573 + '@atproto/common@0.5.13': 574 + resolution: {integrity: sha512-+5c3wlvZVCCReoPSwvkPhKz3Y2FZlJzm69BrfkHMccAH0Rs0KLwnWtoE34zyzTLNH7hhy5okx5qJS6+ZlgE9Sg==} 575 + engines: {node: '>=18.7.0'} 576 + 577 + '@atproto/crypto@0.4.5': 578 + resolution: {integrity: sha512-n40aKkMoCatP0u9Yvhrdk6fXyOHFDDbkdm4h4HCyWW+KlKl8iXfD5iV+ECq+w5BM+QH25aIpt3/j6EUNerhLxw==} 579 + engines: {node: '>=18.7.0'} 580 + 581 + '@atproto/did@0.3.0': 582 + resolution: {integrity: sha512-raUPzUGegtW/6OxwCmM8bhZvuIMzxG5t9oWsth6Tp91Kb5fTnHV2h/KKNF1C82doeA4BdXCErTyg7ISwLbQkzA==} 583 + 584 + '@atproto/jwk-jose@0.1.11': 585 + resolution: {integrity: sha512-i4Fnr2sTBYmMmHXl7NJh8GrCH+tDQEVWrcDMDnV5DjJfkgT17wIqvojIw9SNbSL4Uf0OtfEv6AgG0A+mgh8b5Q==} 586 + 587 + '@atproto/jwk-webcrypto@0.2.0': 588 + resolution: {integrity: sha512-UmgRrrEAkWvxwhlwe30UmDOdTEFidlIzBC7C3cCbeJMcBN1x8B3KH+crXrsTqfWQBG58mXgt8wgSK3Kxs2LhFg==} 589 + 590 + '@atproto/jwk@0.6.0': 591 + resolution: {integrity: sha512-bDoJPvt7TrQVi/rBfBrSSpGykhtIriKxeYCYQTiPRKFfyRhbgpElF0wPXADjIswnbzZdOwbY63az4E/CFVT3Tw==} 592 + 593 + '@atproto/lex-builder@0.0.16': 594 + resolution: {integrity: sha512-z9h6kLiifyL0mBVzlHJ3cK3XwhHRttSePmk2XmhQ1gC0tfa7exUhvCMp9YpEv2N5oUVMItl00L8SLBsVsuMMtg==} 595 + 596 + '@atproto/lex-cbor@0.0.13': 597 + resolution: {integrity: sha512-63nbzXJnQwV02XGpEa8WZxt7Zu87dnbzrUVL0Mqr55S1EGCzEF9U7Dauc9tKKLoZ88GmYrJN0irBsXtSi0VeWg==} 598 + 599 + '@atproto/lex-client@0.0.14': 600 + resolution: {integrity: sha512-AZBk1+/zN7NiLG+IFpn4tL8QjCJ/hWp8rPOIEjFZL0/roEfWxM1rVkWI5WFyDUbqCHF6S6mBjm27QEgj8k3APA==} 601 + 602 + '@atproto/lex-data@0.0.12': 603 + resolution: {integrity: sha512-aekJudcK1p6sbTqUv2bJMJBAGZaOJS0mgDclpK3U6VuBREK/au4B6ffunBFWgrDfg0Vwj2JGyEA7E51WZkJcRw==} 604 + 605 + '@atproto/lex-document@0.0.14': 606 + resolution: {integrity: sha512-BaCSZOZUIv3kQ23b3Lhe4sprJYHc0spSeWS3TLaMoVi6bFZ3RzeM8n7ROTzVP3BTNYxpRHPHtOarx9A8ZAAC4w==} 607 + 608 + '@atproto/lex-installer@0.0.19': 609 + resolution: {integrity: sha512-Qz7/1+q469enllsiV7AGie/pPiYML008w89tvnatHQPoZNhLNyCNlJKW7JKZ42XkS9SZGce4TebtkMaV/7zTIg==} 610 + 611 + '@atproto/lex-json@0.0.12': 612 + resolution: {integrity: sha512-XlEpnWWZdDJ5BIgG25GyH+6iBfyrFL18BI5JSE6rUfMObbFMrQRaCuRLQfryRXNysVz3L3U+Qb9y8KcXbE8AcA==} 613 + 614 + '@atproto/lex-resolver@0.0.16': 615 + resolution: {integrity: sha512-N3Jag6uJ+sq2XIRxwtbzwWdE70oFZBi5s3tscWsU6qLPL6RzdO9/a3wtbCeNQh0uO2UlaajZTNf/UQSdjufBHg==} 616 + 617 + '@atproto/lex-schema@0.0.13': 618 + resolution: {integrity: sha512-FeY4YBesEUO4Ey3BJhDRma0cZt6XxunSZPXny5Q/6ltc7pvyJGXXtJ8D7mHl7p5EXPwylEYOQkM6ck4IyfMP0A==} 619 + 620 + '@atproto/lex@0.0.19': 621 + resolution: {integrity: sha512-jCd4cNIcxJk/ZSWF6dLiIFeGkoockaLbTUBUIjVkFTEz3UmeqBX2Bg6MwLLWxVqjzBTge0BLeqmrnu/cRZwl1g==} 622 + hasBin: true 623 + 624 + '@atproto/lexicon@0.6.1': 625 + resolution: {integrity: sha512-/vI1kVlY50Si+5MXpvOucelnYwb0UJ6Qto5mCp+7Q5C+Jtp+SoSykAPVvjVtTnQUH2vrKOFOwpb3C375vSKzXw==} 626 + 627 + '@atproto/oauth-client-node@0.3.17': 628 + resolution: {integrity: sha512-67LNuKAlC35Exe7CB5S0QCAnEqr6fKV9Nvp64jAHFof1N+Vc9Ltt1K9oekE5Ctf7dvpGByrHRF0noUw9l9sWLA==} 629 + engines: {node: '>=18.7.0'} 630 + 631 + '@atproto/oauth-client@0.6.0': 632 + resolution: {integrity: sha512-F7ZTKzFptXgyihMkd7QTdRSkrh4XqrS+qTw+V81k5Q6Bh3MB1L3ypvfSJ6v7SSUJa6XxoZYJTCahHC1e+ndE6Q==} 633 + 634 + '@atproto/oauth-types@0.6.3': 635 + resolution: {integrity: sha512-jdKuoPknJuh/WjI+mYk7agSbx9mNVMbS6Dr3k1z2YMY2oRiCQjxYBuo4MLKATbxj05nMQaZRWlHRUazoAu5Cng==} 636 + 637 + '@atproto/repo@0.8.12': 638 + resolution: {integrity: sha512-QpVTVulgfz5PUiCTELlDBiRvnsnwrFWi+6CfY88VwXzrRHd9NE8GItK7sfxQ6U65vD/idH8ddCgFrlrsn1REPQ==} 639 + engines: {node: '>=18.7.0'} 640 + 641 + '@atproto/syntax@0.4.3': 642 + resolution: {integrity: sha512-YoZUz40YAJr5nPwvCDWgodEOlt5IftZqPJvA0JDWjuZKD8yXddTwSzXSaKQAzGOpuM+/A3uXRtPzJJqlScc+iA==} 643 + 644 + '@atproto/xrpc@0.7.7': 645 + resolution: {integrity: sha512-K1ZyO/BU8JNtXX5dmPp7b5UrkLMMqpsIa/Lrj5D3Su+j1Xwq1m6QJ2XJ1AgjEjkI1v4Muzm7klianLE6XGxtmA==} 646 + 647 + '@babel/code-frame@7.29.0': 648 + resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} 649 + engines: {node: '>=6.9.0'} 650 + 651 + '@babel/helper-string-parser@7.27.1': 652 + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} 653 + engines: {node: '>=6.9.0'} 654 + 655 + '@babel/helper-validator-identifier@7.28.5': 656 + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} 657 + engines: {node: '>=6.9.0'} 658 + 659 + '@babel/parser@7.29.0': 660 + resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} 661 + engines: {node: '>=6.0.0'} 662 + hasBin: true 663 + 664 + '@babel/types@7.29.0': 665 + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} 666 + engines: {node: '>=6.9.0'} 667 + 668 + '@borewit/text-codec@0.2.1': 669 + resolution: {integrity: sha512-k7vvKPbf7J2fZ5klGRD9AeKfUvojuZIQ3BT5u7Jfv+puwXkUBUT5PVyMDfJZpy30CBDXGMgw7fguK/lpOMBvgw==} 670 + 671 + '@boringnode/encryption@1.0.0': 672 + resolution: {integrity: sha512-wGGOE7ywA4W6KAVoVC7s1P4ULzFLIQA/JvthGAa41EA0CaH7kGGawkBB5t5tvWopgBNMhOpIg3uxvULxqf2rQw==} 673 + engines: {node: '>=20.6'} 674 + 675 + '@chevrotain/cst-dts-gen@11.1.2': 676 + resolution: {integrity: sha512-XTsjvDVB5nDZBQB8o0o/0ozNelQtn2KrUVteIHSlPd2VAV2utEb6JzyCJaJ8tGxACR4RiBNWy5uYUHX2eji88Q==} 677 + 678 + '@chevrotain/gast@11.1.2': 679 + resolution: {integrity: sha512-Z9zfXR5jNZb1Hlsd/p+4XWeUFugrHirq36bKzPWDSIacV+GPSVXdk+ahVWZTwjhNwofAWg/sZg58fyucKSQx5g==} 680 + 681 + '@chevrotain/regexp-to-ast@11.1.2': 682 + resolution: {integrity: sha512-nMU3Uj8naWer7xpZTYJdxbAs6RIv/dxYzkYU8GSwgUtcAAlzjcPfX1w+RKRcYG8POlzMeayOQ/znfwxEGo5ulw==} 683 + 684 + '@chevrotain/types@11.1.2': 685 + resolution: {integrity: sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==} 686 + 687 + '@chevrotain/utils@11.1.2': 688 + resolution: {integrity: sha512-4mudFAQ6H+MqBTfqLmU7G1ZwRzCLfJEooL/fsF6rCX5eePMbGhoy5n4g+G4vlh2muDcsCTJtL+uKbOzWxs5LHA==} 689 + 690 + '@colors/colors@1.5.0': 691 + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} 692 + engines: {node: '>=0.1.90'} 693 + 694 + '@esbuild/aix-ppc64@0.27.3': 695 + resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} 696 + engines: {node: '>=18'} 697 + cpu: [ppc64] 698 + os: [aix] 699 + 700 + '@esbuild/android-arm64@0.27.3': 701 + resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} 702 + engines: {node: '>=18'} 703 + cpu: [arm64] 704 + os: [android] 705 + 706 + '@esbuild/android-arm@0.27.3': 707 + resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} 708 + engines: {node: '>=18'} 709 + cpu: [arm] 710 + os: [android] 711 + 712 + '@esbuild/android-x64@0.27.3': 713 + resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} 714 + engines: {node: '>=18'} 715 + cpu: [x64] 716 + os: [android] 717 + 718 + '@esbuild/darwin-arm64@0.27.3': 719 + resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} 720 + engines: {node: '>=18'} 721 + cpu: [arm64] 722 + os: [darwin] 723 + 724 + '@esbuild/darwin-x64@0.27.3': 725 + resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} 726 + engines: {node: '>=18'} 727 + cpu: [x64] 728 + os: [darwin] 729 + 730 + '@esbuild/freebsd-arm64@0.27.3': 731 + resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} 732 + engines: {node: '>=18'} 733 + cpu: [arm64] 734 + os: [freebsd] 735 + 736 + '@esbuild/freebsd-x64@0.27.3': 737 + resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} 738 + engines: {node: '>=18'} 739 + cpu: [x64] 740 + os: [freebsd] 741 + 742 + '@esbuild/linux-arm64@0.27.3': 743 + resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} 744 + engines: {node: '>=18'} 745 + cpu: [arm64] 746 + os: [linux] 747 + 748 + '@esbuild/linux-arm@0.27.3': 749 + resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} 750 + engines: {node: '>=18'} 751 + cpu: [arm] 752 + os: [linux] 753 + 754 + '@esbuild/linux-ia32@0.27.3': 755 + resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} 756 + engines: {node: '>=18'} 757 + cpu: [ia32] 758 + os: [linux] 759 + 760 + '@esbuild/linux-loong64@0.27.3': 761 + resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} 762 + engines: {node: '>=18'} 763 + cpu: [loong64] 764 + os: [linux] 765 + 766 + '@esbuild/linux-mips64el@0.27.3': 767 + resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} 768 + engines: {node: '>=18'} 769 + cpu: [mips64el] 770 + os: [linux] 771 + 772 + '@esbuild/linux-ppc64@0.27.3': 773 + resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} 774 + engines: {node: '>=18'} 775 + cpu: [ppc64] 776 + os: [linux] 777 + 778 + '@esbuild/linux-riscv64@0.27.3': 779 + resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} 780 + engines: {node: '>=18'} 781 + cpu: [riscv64] 782 + os: [linux] 783 + 784 + '@esbuild/linux-s390x@0.27.3': 785 + resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} 786 + engines: {node: '>=18'} 787 + cpu: [s390x] 788 + os: [linux] 789 + 790 + '@esbuild/linux-x64@0.27.3': 791 + resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} 792 + engines: {node: '>=18'} 793 + cpu: [x64] 794 + os: [linux] 795 + 796 + '@esbuild/netbsd-arm64@0.27.3': 797 + resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} 798 + engines: {node: '>=18'} 799 + cpu: [arm64] 800 + os: [netbsd] 801 + 802 + '@esbuild/netbsd-x64@0.27.3': 803 + resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} 804 + engines: {node: '>=18'} 805 + cpu: [x64] 806 + os: [netbsd] 807 + 808 + '@esbuild/openbsd-arm64@0.27.3': 809 + resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} 810 + engines: {node: '>=18'} 811 + cpu: [arm64] 812 + os: [openbsd] 813 + 814 + '@esbuild/openbsd-x64@0.27.3': 815 + resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} 816 + engines: {node: '>=18'} 817 + cpu: [x64] 818 + os: [openbsd] 819 + 820 + '@esbuild/openharmony-arm64@0.27.3': 821 + resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} 822 + engines: {node: '>=18'} 823 + cpu: [arm64] 824 + os: [openharmony] 825 + 826 + '@esbuild/sunos-x64@0.27.3': 827 + resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} 828 + engines: {node: '>=18'} 829 + cpu: [x64] 830 + os: [sunos] 831 + 832 + '@esbuild/win32-arm64@0.27.3': 833 + resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} 834 + engines: {node: '>=18'} 835 + cpu: [arm64] 836 + os: [win32] 837 + 838 + '@esbuild/win32-ia32@0.27.3': 839 + resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} 840 + engines: {node: '>=18'} 841 + cpu: [ia32] 842 + os: [win32] 843 + 844 + '@esbuild/win32-x64@0.27.3': 845 + resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} 846 + engines: {node: '>=18'} 847 + cpu: [x64] 848 + os: [win32] 849 + 850 + '@eslint-community/eslint-utils@4.9.1': 851 + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} 852 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 853 + peerDependencies: 854 + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 855 + 856 + '@eslint-community/regexpp@4.12.2': 857 + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} 858 + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 859 + 860 + '@eslint/config-array@0.23.2': 861 + resolution: {integrity: sha512-YF+fE6LV4v5MGWRGj7G404/OZzGNepVF8fxk7jqmqo3lrza7a0uUcDnROGRBG1WFC1omYUS/Wp1f42i0M+3Q3A==} 862 + engines: {node: ^20.19.0 || ^22.13.0 || >=24} 863 + 864 + '@eslint/config-helpers@0.5.2': 865 + resolution: {integrity: sha512-a5MxrdDXEvqnIq+LisyCX6tQMPF/dSJpCfBgBauY+pNZ28yCtSsTvyTYrMhaI+LK26bVyCJfJkT0u8KIj2i1dQ==} 866 + engines: {node: ^20.19.0 || ^22.13.0 || >=24} 867 + 868 + '@eslint/core@1.1.0': 869 + resolution: {integrity: sha512-/nr9K9wkr3P1EzFTdFdMoLuo1PmIxjmwvPozwoSodjNBdefGujXQUF93u1DDZpEaTuDvMsIQddsd35BwtrW9Xw==} 870 + engines: {node: ^20.19.0 || ^22.13.0 || >=24} 871 + 872 + '@eslint/object-schema@3.0.2': 873 + resolution: {integrity: sha512-HOy56KJt48Bx8KmJ+XGQNSUMT/6dZee/M54XyUyuvTvPXJmsERRvBchsUVx1UMe1WwIH49XLAczNC7V2INsuUw==} 874 + engines: {node: ^20.19.0 || ^22.13.0 || >=24} 875 + 876 + '@eslint/plugin-kit@0.6.0': 877 + resolution: {integrity: sha512-bIZEUzOI1jkhviX2cp5vNyXQc6olzb2ohewQubuYlMXZ2Q/XjBO0x0XhGPvc9fjSIiUN0vw+0hq53BJ4eQSJKQ==} 878 + engines: {node: ^20.19.0 || ^22.13.0 || >=24} 879 + 880 + '@faker-js/faker@10.3.0': 881 + resolution: {integrity: sha512-It0Sne6P3szg7JIi6CgKbvTZoMjxBZhcv91ZrqrNuaZQfB5WoqYYbzCUOq89YR+VY8juY9M1vDWmDDa2TzfXCw==} 882 + engines: {node: ^20.19.0 || ^22.13.0 || ^23.5.0 || >=24.0.0, npm: '>=10'} 883 + 884 + '@humanfs/core@0.19.1': 885 + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 886 + engines: {node: '>=18.18.0'} 887 + 888 + '@humanfs/node@0.16.7': 889 + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} 890 + engines: {node: '>=18.18.0'} 891 + 892 + '@humanwhocodes/module-importer@1.0.1': 893 + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 894 + engines: {node: '>=12.22'} 895 + 896 + '@humanwhocodes/retry@0.4.3': 897 + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} 898 + engines: {node: '>=18.18'} 899 + 900 + '@inertiajs/core@2.3.17': 901 + resolution: {integrity: sha512-CELuVhq2cBVrqxmrbRKqseuIQPBA6PcgDU7EPkPQxK02Lxxg7wTZWZZ5omaGBT+5mQtr0bkEUqUF2vxYbu4ogw==} 902 + 903 + '@inertiajs/vue3@2.3.17': 904 + resolution: {integrity: sha512-ZepsiOeEZElDQl+dcPdxN2/mtR067BpFRgzmha4VKnGUE6+BR8VLxKnFy1rleH/wmPI8WviZgBs4jmIKMcyghg==} 905 + peerDependencies: 906 + vue: ^3.0.0 907 + 908 + '@ipld/dag-cbor@7.0.3': 909 + resolution: {integrity: sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==} 910 + 911 + '@japa/assert@4.2.0': 912 + resolution: {integrity: sha512-Krgrcee01BN1StlVwK5JQP6LL5t3DE3uFNbfFoDTfW7kQuHB0xh6yfaV0hrgcoiEjsqmm2OOsVWeju9aXK4vIA==} 913 + engines: {node: '>=18.16.0'} 914 + peerDependencies: 915 + '@japa/runner': ^3.1.2 || ^4.0.0 || ^5.0.0 916 + 917 + '@japa/browser-client@2.3.0': 918 + resolution: {integrity: sha512-YNcN0l1dZRZpsFtBHWPq5dP/8+US1FALs/uqhGUhvIgKQgIA5I3PvzRmkry+Dh74U6/Mj+IO2kRJL+kPCdVnew==} 919 + engines: {node: '>=18.16.0'} 920 + peerDependencies: 921 + '@japa/assert': ^2.0.0 || ^3.0.0 || ^4.0.0 922 + '@japa/runner': ^3.1.2 || ^4.0.0 || ^5.0.0 923 + playwright: ^1.57.0 924 + 925 + '@japa/core@10.4.0': 926 + resolution: {integrity: sha512-1zvKL29i7r/4jqTNBsw91hk1tp6wbqFXvyV2p+Og4axDRhIXjSAfauRvBL9QuB80bOa+pDIMQ5kCTaCplSm0Eg==} 927 + engines: {node: '>=24.0.0'} 928 + 929 + '@japa/errors-printer@4.1.4': 930 + resolution: {integrity: sha512-ogPT87QLaugKyPVcq+ZypcetVeJpXZN7RfVRlRDIrSHsHBw6ILCtNXghVxD9POjqxtUM7RON3sUkgZzLnVQA5g==} 931 + engines: {node: '>=18.16.0'} 932 + 933 + '@japa/plugin-adonisjs@5.1.0': 934 + resolution: {integrity: sha512-KTbpxdyyJHvplvXXJDVqCwFXPUe+QCiWMZQOklMhafzMWU0lAPEgVla3esUTgN0NQU/m9m+a/B6XUTEu5VYDIg==} 935 + engines: {node: '>=18.16.0'} 936 + peerDependencies: 937 + '@adonisjs/core': ^7.0.0-next.21 || ^7.0.0 938 + '@japa/api-client': ^3.1.0 939 + '@japa/browser-client': ^2.2.0 940 + '@japa/runner': ^4.0.0 || ^5.0.0 941 + playwright: ^1.57.0 942 + peerDependenciesMeta: 943 + '@japa/api-client': 944 + optional: true 945 + '@japa/browser-client': 946 + optional: true 947 + playwright: 948 + optional: true 949 + 950 + '@japa/runner@5.3.0': 951 + resolution: {integrity: sha512-WCnTd1q2EpbKKa96NzL16kVxJXVLRj1VqbswNAn17hYSuMlNKKhPGNbAosB32QZVFcoe9fv4Ebh1HtjyAT/viw==} 952 + engines: {node: '>=18.16.0'} 953 + 954 + '@jest/diff-sequences@30.0.1': 955 + resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==} 956 + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} 957 + 958 + '@jest/get-type@30.1.0': 959 + resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==} 960 + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} 961 + 962 + '@jest/schemas@30.0.5': 963 + resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==} 964 + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} 965 + 966 + '@jridgewell/sourcemap-codec@1.5.5': 967 + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} 968 + 969 + '@noble/curves@1.9.7': 970 + resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} 971 + engines: {node: ^14.21.3 || >=16} 972 + 973 + '@noble/hashes@1.8.0': 974 + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} 975 + engines: {node: ^14.21.3 || >=16} 976 + 977 + '@nodelib/fs.scandir@2.1.5': 978 + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 979 + engines: {node: '>= 8'} 980 + 981 + '@nodelib/fs.stat@2.0.5': 982 + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 983 + engines: {node: '>= 8'} 984 + 985 + '@nodelib/fs.walk@1.2.8': 986 + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 987 + engines: {node: '>= 8'} 988 + 989 + '@phc/format@1.0.0': 990 + resolution: {integrity: sha512-m7X9U6BG2+J+R1lSOdCiITLLrxm+cWlNI3HUFA92oLO77ObGNzaKdh8pMLqdZcshtkKuV84olNNXDfMc4FezBQ==} 991 + engines: {node: '>=10'} 992 + 993 + '@pinojs/redact@0.4.0': 994 + resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} 995 + 996 + '@pkgr/core@0.2.9': 997 + resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} 998 + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} 999 + 1000 + '@poppinss/cliui@6.7.0': 1001 + resolution: {integrity: sha512-ihlhDUHw4Lfx6Euo8SSDar/rHHD8T1aFXJ1Z3NYSYjHcr9rSK5iy6zC5xvQJCeGY1BTninW520iKv/hd4lS0tA==} 1002 + 1003 + '@poppinss/colors@4.1.6': 1004 + resolution: {integrity: sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg==} 1005 + 1006 + '@poppinss/dumper@0.7.0': 1007 + resolution: {integrity: sha512-0UTYalzk2t6S4rA2uHOz5bSSW2CHdv4vggJI6Alg90yvl0UgXs6XSXpH96OH+bRkX4J/06djv29pqXJ0lq5Kag==} 1008 + 1009 + '@poppinss/exception@1.2.3': 1010 + resolution: {integrity: sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==} 1011 + 1012 + '@poppinss/hooks@7.3.0': 1013 + resolution: {integrity: sha512-/H35z/bWqHg7085QOxWUDYMidx6Kl6b8kIyzIXlRYzWvsk1xm9hQOlXWdWEYch+Gmn8eL7tThx59MBj8BLxDrQ==} 1014 + 1015 + '@poppinss/inspect@1.0.1': 1016 + resolution: {integrity: sha512-kLeEaBSGhlleyYvKc7c9s3uE6xv7cwyulE0EgHf4jU/CL96h0yC4mkdw1wvC1l1PYYQozCGy46FwMBAAMOobCA==} 1017 + 1018 + '@poppinss/macroable@1.1.0': 1019 + resolution: {integrity: sha512-y/YKzZDuG8XrpXpM7Z1RdQpiIc0MAKyva24Ux1PB4aI7RiSI/79K8JVDcdyubriTm7vJ1LhFs8CrZpmPnx/8Pw==} 1020 + 1021 + '@poppinss/matchit@3.2.0': 1022 + resolution: {integrity: sha512-9SoMICN+LMO7ZtMj2ja8N7RHlC4mmuv5WwIBXWjabMd2SyXE1dIydh29exlgm+dGMP84PjwvfJH1TmWL4qz1og==} 1023 + 1024 + '@poppinss/middleware@3.2.7': 1025 + resolution: {integrity: sha512-MZC0Z97ozSz+PpfyxUPUy/ImuthpqvBbY7qku7f4Q2maHz+2uXfchfO8OggXLS6zEJ078l+jpAHZ2rDIRdjeVg==} 1026 + 1027 + '@poppinss/multiparty@3.0.0': 1028 + resolution: {integrity: sha512-z9jchUzsv7E+7sa4tWHb0+95Byx7w0ydlPGxg3nzyb7h3QlRdeW8/QkU9SexUY4lsT12do93AfNBAhSuOoVqjA==} 1029 + 1030 + '@poppinss/object-builder@1.1.0': 1031 + resolution: {integrity: sha512-FOrOq52l7u8goR5yncX14+k+Ewi5djnrt1JwXeS/FvnwAPOiveFhiczCDuvXdssAwamtrV2hp5Rw9v+n2T7hQg==} 1032 + engines: {node: '>=20.6.0'} 1033 + 1034 + '@poppinss/prompts@3.1.6': 1035 + resolution: {integrity: sha512-cKHfkID6b3wl1kbHJJRC/pznQ3KnRVydyk7CE38NfTV3VS45BDYCxeZZ7bfDin71qMzITh18lKnu8iuLxBngHA==} 1036 + 1037 + '@poppinss/qs@6.15.0': 1038 + resolution: {integrity: sha512-QzfMhxrRB5EPeGz0l8hTwKZ5dFX6ed0aETGbuD369StCO8Ad3SW4wWBYamOK5IKeM/dfOeKaCwUZPTnGcj+jKg==} 1039 + engines: {node: '>=0.6'} 1040 + 1041 + '@poppinss/string@1.7.1': 1042 + resolution: {integrity: sha512-OrLzv/nGDU6l6dLXIQHe8nbNSWWfuSbpB/TW5nRpZFf49CLuQlIHlSPN9IdSUv2vG+59yGM6LoibsaHn8B8mDw==} 1043 + 1044 + '@poppinss/ts-exec@1.4.4': 1045 + resolution: {integrity: sha512-jQLbeQG3n9B+hpygIAQpNaNd3y9+7sLn0Jioo9qEo84Vd3XeRMKr3Qql/u2bixzONO2+RsBbzEJ3AWb2iCPARw==} 1046 + engines: {node: '>=24.0.0'} 1047 + 1048 + '@poppinss/types@1.2.1': 1049 + resolution: {integrity: sha512-qUYnzl0m9HJTWsXtr8Xo7CwDx6wcjrvo14bOVbIMIlKJCzKrm3LX55dRTDr1/x4PpSvKVgmxvC6Ly2YiqXKOvQ==} 1050 + 1051 + '@poppinss/utils@7.0.1': 1052 + resolution: {integrity: sha512-mveSvLI2YPC114mK5HCuSYfUtjpClf1wHG1VCqZJCp4U2ypPhIt62Iku5urh0kPAFvnvCVHx2bXBSH14qMTOlQ==} 1053 + 1054 + '@poppinss/validator-lite@2.1.2': 1055 + resolution: {integrity: sha512-UhSG1ouT6r67VbEFHK/8ax3EMZYHioew9PqGmEZjV41G15aPZi6cyhXtBVvF9xqkHMflA5V680k7bQzV0kfD5w==} 1056 + 1057 + '@rolldown/pluginutils@1.0.0-rc.2': 1058 + resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==} 1059 + 1060 + '@rollup/rollup-android-arm-eabi@4.59.0': 1061 + resolution: {integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==} 1062 + cpu: [arm] 1063 + os: [android] 1064 + 1065 + '@rollup/rollup-android-arm64@4.59.0': 1066 + resolution: {integrity: sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==} 1067 + cpu: [arm64] 1068 + os: [android] 1069 + 1070 + '@rollup/rollup-darwin-arm64@4.59.0': 1071 + resolution: {integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==} 1072 + cpu: [arm64] 1073 + os: [darwin] 1074 + 1075 + '@rollup/rollup-darwin-x64@4.59.0': 1076 + resolution: {integrity: sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==} 1077 + cpu: [x64] 1078 + os: [darwin] 1079 + 1080 + '@rollup/rollup-freebsd-arm64@4.59.0': 1081 + resolution: {integrity: sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==} 1082 + cpu: [arm64] 1083 + os: [freebsd] 1084 + 1085 + '@rollup/rollup-freebsd-x64@4.59.0': 1086 + resolution: {integrity: sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==} 1087 + cpu: [x64] 1088 + os: [freebsd] 1089 + 1090 + '@rollup/rollup-linux-arm-gnueabihf@4.59.0': 1091 + resolution: {integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==} 1092 + cpu: [arm] 1093 + os: [linux] 1094 + libc: [glibc] 1095 + 1096 + '@rollup/rollup-linux-arm-musleabihf@4.59.0': 1097 + resolution: {integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==} 1098 + cpu: [arm] 1099 + os: [linux] 1100 + libc: [musl] 1101 + 1102 + '@rollup/rollup-linux-arm64-gnu@4.59.0': 1103 + resolution: {integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==} 1104 + cpu: [arm64] 1105 + os: [linux] 1106 + libc: [glibc] 1107 + 1108 + '@rollup/rollup-linux-arm64-musl@4.59.0': 1109 + resolution: {integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==} 1110 + cpu: [arm64] 1111 + os: [linux] 1112 + libc: [musl] 1113 + 1114 + '@rollup/rollup-linux-loong64-gnu@4.59.0': 1115 + resolution: {integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==} 1116 + cpu: [loong64] 1117 + os: [linux] 1118 + libc: [glibc] 1119 + 1120 + '@rollup/rollup-linux-loong64-musl@4.59.0': 1121 + resolution: {integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==} 1122 + cpu: [loong64] 1123 + os: [linux] 1124 + libc: [musl] 1125 + 1126 + '@rollup/rollup-linux-ppc64-gnu@4.59.0': 1127 + resolution: {integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==} 1128 + cpu: [ppc64] 1129 + os: [linux] 1130 + libc: [glibc] 1131 + 1132 + '@rollup/rollup-linux-ppc64-musl@4.59.0': 1133 + resolution: {integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==} 1134 + cpu: [ppc64] 1135 + os: [linux] 1136 + libc: [musl] 1137 + 1138 + '@rollup/rollup-linux-riscv64-gnu@4.59.0': 1139 + resolution: {integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==} 1140 + cpu: [riscv64] 1141 + os: [linux] 1142 + libc: [glibc] 1143 + 1144 + '@rollup/rollup-linux-riscv64-musl@4.59.0': 1145 + resolution: {integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==} 1146 + cpu: [riscv64] 1147 + os: [linux] 1148 + libc: [musl] 1149 + 1150 + '@rollup/rollup-linux-s390x-gnu@4.59.0': 1151 + resolution: {integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==} 1152 + cpu: [s390x] 1153 + os: [linux] 1154 + libc: [glibc] 1155 + 1156 + '@rollup/rollup-linux-x64-gnu@4.59.0': 1157 + resolution: {integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==} 1158 + cpu: [x64] 1159 + os: [linux] 1160 + libc: [glibc] 1161 + 1162 + '@rollup/rollup-linux-x64-musl@4.59.0': 1163 + resolution: {integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==} 1164 + cpu: [x64] 1165 + os: [linux] 1166 + libc: [musl] 1167 + 1168 + '@rollup/rollup-openbsd-x64@4.59.0': 1169 + resolution: {integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==} 1170 + cpu: [x64] 1171 + os: [openbsd] 1172 + 1173 + '@rollup/rollup-openharmony-arm64@4.59.0': 1174 + resolution: {integrity: sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==} 1175 + cpu: [arm64] 1176 + os: [openharmony] 1177 + 1178 + '@rollup/rollup-win32-arm64-msvc@4.59.0': 1179 + resolution: {integrity: sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==} 1180 + cpu: [arm64] 1181 + os: [win32] 1182 + 1183 + '@rollup/rollup-win32-ia32-msvc@4.59.0': 1184 + resolution: {integrity: sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==} 1185 + cpu: [ia32] 1186 + os: [win32] 1187 + 1188 + '@rollup/rollup-win32-x64-gnu@4.59.0': 1189 + resolution: {integrity: sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==} 1190 + cpu: [x64] 1191 + os: [win32] 1192 + 1193 + '@rollup/rollup-win32-x64-msvc@4.59.0': 1194 + resolution: {integrity: sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==} 1195 + cpu: [x64] 1196 + os: [win32] 1197 + 1198 + '@sec-ant/readable-stream@0.4.1': 1199 + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} 1200 + 1201 + '@sinclair/typebox@0.34.48': 1202 + resolution: {integrity: sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==} 1203 + 1204 + '@sindresorhus/is@7.2.0': 1205 + resolution: {integrity: sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==} 1206 + engines: {node: '>=18'} 1207 + 1208 + '@sindresorhus/merge-streams@4.0.0': 1209 + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} 1210 + engines: {node: '>=18'} 1211 + 1212 + '@sindresorhus/slugify@3.0.0': 1213 + resolution: {integrity: sha512-SCrKh1zS96q+CuH5GumHcyQEVPsM4Ve8oE0E6tw7AAhGq50K8ojbTUOQnX/j9Mhcv/AXiIsbCfquovyGOo5fGw==} 1214 + engines: {node: '>=20'} 1215 + 1216 + '@sindresorhus/transliterate@2.3.1': 1217 + resolution: {integrity: sha512-gVaaGtKYMYAMmI8buULVH3A2TXVJ98QiwGwI7ddrWGuGidGC2uRt4FHs22+8iROJ0QTzju9CuMjlVsrvpqsdhA==} 1218 + engines: {node: '>=20'} 1219 + 1220 + '@speed-highlight/core@1.2.14': 1221 + resolution: {integrity: sha512-G4ewlBNhUtlLvrJTb88d2mdy2KRijzs4UhnlrOSRT4bmjh/IqNElZa3zkrZ+TC47TwtlDWzVLFADljF1Ijp5hA==} 1222 + 1223 + '@standard-schema/spec@1.1.0': 1224 + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} 1225 + 1226 + '@stylistic/eslint-plugin@5.9.0': 1227 + resolution: {integrity: sha512-FqqSkvDMYJReydrMhlugc71M76yLLQWNfmGq+SIlLa7N3kHp8Qq8i2PyWrVNAfjOyOIY+xv9XaaYwvVW7vroMA==} 1228 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1229 + peerDependencies: 1230 + eslint: ^9.0.0 || ^10.0.0 1231 + 1232 + '@swc/core-darwin-arm64@1.15.17': 1233 + resolution: {integrity: sha512-eB9qdyt4E60323IS0rgV/rd79DJ+YWSyIKi+sT1dlIgR3ns4xlBiunREM3lVH0FKcUbhttiBvdVubT4QoOuZ+w==} 1234 + engines: {node: '>=10'} 1235 + cpu: [arm64] 1236 + os: [darwin] 1237 + 1238 + '@swc/core-darwin-x64@1.15.17': 1239 + resolution: {integrity: sha512-k1TZARYs8947jJpSioqcPrusz+wEeABF4iiSdwcSyQh2rIUdIEk5FOyaqJASFPJ6dZfx7ZVOyjtDATVAegs2/Q==} 1240 + engines: {node: '>=10'} 1241 + cpu: [x64] 1242 + os: [darwin] 1243 + 1244 + '@swc/core-linux-arm-gnueabihf@1.15.17': 1245 + resolution: {integrity: sha512-p6282NQZo5bzx0wphz1ETGjhcRB9CN+/XUAjQwApyoyX9iCloI5IT/RC3vjbflo42g8RPTxUTaItAO0hlLSesQ==} 1246 + engines: {node: '>=10'} 1247 + cpu: [arm] 1248 + os: [linux] 1249 + 1250 + '@swc/core-linux-arm64-gnu@1.15.17': 1251 + resolution: {integrity: sha512-TGnDS4ejy8y9jqxXqZCyA+DvFc64nXUHS9rxdyeJ9B9uyIdtKVhBrA2xfghYRS/sSPSyHZ0yu89NxBICvONH+A==} 1252 + engines: {node: '>=10'} 1253 + cpu: [arm64] 1254 + os: [linux] 1255 + libc: [glibc] 1256 + 1257 + '@swc/core-linux-arm64-musl@1.15.17': 1258 + resolution: {integrity: sha512-D0/6Hj4CkgSTTahtlGxv9IDsLTuvQz30mkZEMDp8TqwYhCL8AomznkibwlQU8HtY4q/dqd1OGRPH+FmNb4BBEA==} 1259 + engines: {node: '>=10'} 1260 + cpu: [arm64] 1261 + os: [linux] 1262 + libc: [musl] 1263 + 1264 + '@swc/core-linux-x64-gnu@1.15.17': 1265 + resolution: {integrity: sha512-1s2OFsg6DeRkWU7c+PIfIHZsFCbiZ34akXFHrg7KjpF8zIvpHZNoUUZimoWEwcB6GquXSkAO+1b5KpG5nusTeQ==} 1266 + engines: {node: '>=10'} 1267 + cpu: [x64] 1268 + os: [linux] 1269 + libc: [glibc] 1270 + 1271 + '@swc/core-linux-x64-musl@1.15.17': 1272 + resolution: {integrity: sha512-gtxGMGYtRWWmCcgx6xM2Yos43uiE/j8kZwkeL/LNGG9zM0tatd23NsfL9PnQJ45hY7QZ+dx2rM68e4ArgG4kJg==} 1273 + engines: {node: '>=10'} 1274 + cpu: [x64] 1275 + os: [linux] 1276 + libc: [musl] 1277 + 1278 + '@swc/core-win32-arm64-msvc@1.15.17': 1279 + resolution: {integrity: sha512-gxi+/Miytez/O9vJ/QiheIivA3oWZjPp9nJu3VmAfLMWUzcZORMwgaI1ygtDTLjz7CzcwlGMJz/Ab66Y5DfNpg==} 1280 + engines: {node: '>=10'} 1281 + cpu: [arm64] 1282 + os: [win32] 1283 + 1284 + '@swc/core-win32-ia32-msvc@1.15.17': 1285 + resolution: {integrity: sha512-KUsRqNbTp7SpNK0T9m4+i8GlngzNjwb69a3ttKA6XJ5r6Pewm+NSYji93pNkawXIivbWY2jhvceGMAyd+4hWaQ==} 1286 + engines: {node: '>=10'} 1287 + cpu: [ia32] 1288 + os: [win32] 1289 + 1290 + '@swc/core-win32-x64-msvc@1.15.17': 1291 + resolution: {integrity: sha512-zqtEGE0/rTKvEC5sOtpANLHeWEPjsTD4/rwpUxo6ymztcLI/Z+L9Wi9xQvIGmLTUih1gvNZcAwROqdfRP3oAWQ==} 1292 + engines: {node: '>=10'} 1293 + cpu: [x64] 1294 + os: [win32] 1295 + 1296 + '@swc/core@1.15.17': 1297 + resolution: {integrity: sha512-Mu3eOrYlkdQPl7yqotNckitTr6FZ0yd7mlWIBEzK+EGIyybgMENJHmbS2DeA7BMleJiBElP6ke+Nz93pkKmKJw==} 1298 + engines: {node: '>=10'} 1299 + peerDependencies: 1300 + '@swc/helpers': '>=0.5.17' 1301 + peerDependenciesMeta: 1302 + '@swc/helpers': 1303 + optional: true 1304 + 1305 + '@swc/counter@0.1.3': 1306 + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} 1307 + 1308 + '@swc/types@0.1.25': 1309 + resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} 1310 + 1311 + '@thisismissem/adonisjs-atproto-oauth@1.0.2': 1312 + resolution: {integrity: sha512-5FxEIVSESVhYY+ybMSBeh/FP59HI/G9c234F02fkSrncREXrxyriCF86PvpB1TfkqlSgd23slUz+FVBQh43RcQ==} 1313 + engines: {node: '>=20.6.0'} 1314 + peerDependencies: 1315 + '@adonisjs/auth': ^9.5.1 1316 + '@adonisjs/core': ^6.2.0 1317 + '@adonisjs/lucid': ^21.8.2 1318 + '@atproto-labs/simple-store': ^0.3.0 1319 + '@atproto/jwk-jose': ^0.1.11 1320 + '@atproto/lex': ^0.0.12 1321 + '@atproto/oauth-client-node': ^0.3.15 1322 + '@vinejs/vine': ^4.2.0 1323 + luxon: ^3.7.2 1324 + 1325 + '@tokenizer/inflate@0.4.1': 1326 + resolution: {integrity: sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==} 1327 + engines: {node: '>=18'} 1328 + 1329 + '@tokenizer/token@0.3.0': 1330 + resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} 1331 + 1332 + '@ts-morph/common@0.28.1': 1333 + resolution: {integrity: sha512-W74iWf7ILp1ZKNYXY5qbddNaml7e9Sedv5lvU1V8lftlitkc9Pq1A+jlH23ltDgWYeZFFEqGCD1Ies9hqu3O+g==} 1334 + 1335 + '@tuyau/core@1.0.0': 1336 + resolution: {integrity: sha512-0ETpICnr8l4o65Bvdg54bWdoifIuDyUjoEQpcX5sUPt0C2LMNmWDJve0BkhL2gb7RZAgxupY72Us4PwBqSkuCg==} 1337 + engines: {node: '>=24.0.0'} 1338 + peerDependencies: 1339 + '@adonisjs/assembler': ^8.0.0-next.27 1340 + '@adonisjs/core': ^7.0.0-next.16 1341 + peerDependenciesMeta: 1342 + '@adonisjs/assembler': 1343 + optional: true 1344 + '@adonisjs/core': 1345 + optional: true 1346 + 1347 + '@types/chai@5.2.3': 1348 + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} 1349 + 1350 + '@types/deep-eql@4.0.2': 1351 + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} 1352 + 1353 + '@types/esrecurse@4.3.1': 1354 + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} 1355 + 1356 + '@types/estree@1.0.8': 1357 + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 1358 + 1359 + '@types/he@1.2.3': 1360 + resolution: {integrity: sha512-q67/qwlxblDzEDvzHhVkwc1gzVWxaNxeyHUBF4xElrvjL11O+Ytze+1fGpBHlr/H9myiBUaUXNnNPmBHxxfAcA==} 1361 + 1362 + '@types/json-schema@7.0.15': 1363 + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 1364 + 1365 + '@types/lodash-es@4.17.12': 1366 + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} 1367 + 1368 + '@types/lodash@4.17.24': 1369 + resolution: {integrity: sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==} 1370 + 1371 + '@types/luxon@3.7.1': 1372 + resolution: {integrity: sha512-H3iskjFIAn5SlJU7OuxUmTEpebK6TKB8rxZShDslBMZJ5u9S//KM1sbdAisiSrqwLQncVjnpi2OK2J51h+4lsg==} 1373 + 1374 + '@types/node@24.11.0': 1375 + resolution: {integrity: sha512-fPxQqz4VTgPI/IQ+lj9r0h+fDR66bzoeMGHp8ASee+32OSGIkeASsoZuJixsQoVef1QJbeubcPBxKk22QVoWdw==} 1376 + 1377 + '@types/normalize-package-data@2.4.4': 1378 + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} 1379 + 1380 + '@types/pluralize@0.0.33': 1381 + resolution: {integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==} 1382 + 1383 + '@types/validator@13.15.10': 1384 + resolution: {integrity: sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==} 1385 + 1386 + '@typescript-eslint/eslint-plugin@8.56.1': 1387 + resolution: {integrity: sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==} 1388 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1389 + peerDependencies: 1390 + '@typescript-eslint/parser': ^8.56.1 1391 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 1392 + typescript: '>=4.8.4 <6.0.0' 1393 + 1394 + '@typescript-eslint/parser@8.56.1': 1395 + resolution: {integrity: sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==} 1396 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1397 + peerDependencies: 1398 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 1399 + typescript: '>=4.8.4 <6.0.0' 1400 + 1401 + '@typescript-eslint/project-service@8.56.1': 1402 + resolution: {integrity: sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==} 1403 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1404 + peerDependencies: 1405 + typescript: '>=4.8.4 <6.0.0' 1406 + 1407 + '@typescript-eslint/scope-manager@8.56.1': 1408 + resolution: {integrity: sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==} 1409 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1410 + 1411 + '@typescript-eslint/tsconfig-utils@8.56.1': 1412 + resolution: {integrity: sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==} 1413 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1414 + peerDependencies: 1415 + typescript: '>=4.8.4 <6.0.0' 1416 + 1417 + '@typescript-eslint/type-utils@8.56.1': 1418 + resolution: {integrity: sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==} 1419 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1420 + peerDependencies: 1421 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 1422 + typescript: '>=4.8.4 <6.0.0' 1423 + 1424 + '@typescript-eslint/types@8.56.1': 1425 + resolution: {integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==} 1426 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1427 + 1428 + '@typescript-eslint/typescript-estree@8.56.1': 1429 + resolution: {integrity: sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==} 1430 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1431 + peerDependencies: 1432 + typescript: '>=4.8.4 <6.0.0' 1433 + 1434 + '@typescript-eslint/utils@8.56.1': 1435 + resolution: {integrity: sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==} 1436 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1437 + peerDependencies: 1438 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 1439 + typescript: '>=4.8.4 <6.0.0' 1440 + 1441 + '@typescript-eslint/visitor-keys@8.56.1': 1442 + resolution: {integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==} 1443 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1444 + 1445 + '@vinejs/compiler@4.1.3': 1446 + resolution: {integrity: sha512-UyH7Zn8dkTMLeU+PF2WjCnWkFb2qYaOxAcvp/uXW0njtKNcJOnVJaPsnWYwqewkTcHN47yvOdzosj3kj3RAP5w==} 1447 + engines: {node: '>=18.0.0'} 1448 + 1449 + '@vinejs/vine@4.3.0': 1450 + resolution: {integrity: sha512-GaJY+PyTvcnjPvbL6pJhKNv4zl2vxFE5K8HoEf8LuTWrRa8WMB3jfS/MEywkbOLVQR1UlLxXNqAGcxgZfJcWkg==} 1451 + engines: {node: '>=18.16.0'} 1452 + 1453 + '@vitejs/plugin-vue@6.0.4': 1454 + resolution: {integrity: sha512-uM5iXipgYIn13UUQCZNdWkYk+sysBeA97d5mHsAoAt1u/wpN3+zxOmsVJWosuzX+IMGRzeYUNytztrYznboIkQ==} 1455 + engines: {node: ^20.19.0 || >=22.12.0} 1456 + peerDependencies: 1457 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 1458 + vue: ^3.2.25 1459 + 1460 + '@volar/language-core@2.4.28': 1461 + resolution: {integrity: sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==} 1462 + 1463 + '@volar/source-map@2.4.28': 1464 + resolution: {integrity: sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==} 1465 + 1466 + '@volar/typescript@2.4.28': 1467 + resolution: {integrity: sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==} 1468 + 1469 + '@vue/compiler-core@3.5.29': 1470 + resolution: {integrity: sha512-cuzPhD8fwRHk8IGfmYaR4eEe4cAyJEL66Ove/WZL7yWNL134nqLddSLwNRIsFlnnW1kK+p8Ck3viFnC0chXCXw==} 1471 + 1472 + '@vue/compiler-dom@3.5.29': 1473 + resolution: {integrity: sha512-n0G5o7R3uBVmVxjTIYcz7ovr8sy7QObFG8OQJ3xGCDNhbG60biP/P5KnyY8NLd81OuT1WJflG7N4KWYHaeeaIg==} 1474 + 1475 + '@vue/compiler-sfc@3.5.29': 1476 + resolution: {integrity: sha512-oJZhN5XJs35Gzr50E82jg2cYdZQ78wEwvRO6Y63TvLVTc+6xICzJHP1UIecdSPPYIbkautNBanDiWYa64QSFIA==} 1477 + 1478 + '@vue/compiler-ssr@3.5.29': 1479 + resolution: {integrity: sha512-Y/ARJZE6fpjzL5GH/phJmsFwx3g6t2KmHKHx5q+MLl2kencADKIrhH5MLF6HHpRMmlRAYBRSvv347Mepf1zVNw==} 1480 + 1481 + '@vue/language-core@3.2.5': 1482 + resolution: {integrity: sha512-d3OIxN/+KRedeM5wQ6H6NIpwS3P5gC9nmyaHgBk+rO6dIsjY+tOh4UlPpiZbAh3YtLdCGEX4M16RmsBqPmJV+g==} 1483 + 1484 + '@vue/reactivity@3.5.29': 1485 + resolution: {integrity: sha512-zcrANcrRdcLtmGZETBxWqIkoQei8HaFpZWx/GHKxx79JZsiZ8j1du0VUJtu4eJjgFvU/iKL5lRXFXksVmI+5DA==} 1486 + 1487 + '@vue/runtime-core@3.5.29': 1488 + resolution: {integrity: sha512-8DpW2QfdwIWOLqtsNcds4s+QgwSaHSJY/SUe04LptianUQ/0xi6KVsu/pYVh+HO3NTVvVJjIPL2t6GdeKbS4Lg==} 1489 + 1490 + '@vue/runtime-dom@3.5.29': 1491 + resolution: {integrity: sha512-AHvvJEtcY9tw/uk+s/YRLSlxxQnqnAkjqvK25ZiM4CllCZWzElRAoQnCM42m9AHRLNJ6oe2kC5DCgD4AUdlvXg==} 1492 + 1493 + '@vue/server-renderer@3.5.29': 1494 + resolution: {integrity: sha512-G/1k6WK5MusLlbxSE2YTcqAAezS+VuwHhOvLx2KnQU7G2zCH6KIb+5Wyt6UjMq7a3qPzNEjJXs1hvAxDclQH+g==} 1495 + peerDependencies: 1496 + vue: 3.5.29 1497 + 1498 + '@vue/shared@3.5.29': 1499 + resolution: {integrity: sha512-w7SR0A5zyRByL9XUkCfdLs7t9XOHUyJ67qPGQjOou3p6GvBeBW+AVjUUmlxtZ4PIYaRvE+1LmK44O4uajlZwcg==} 1500 + 1501 + abort-controller@3.0.0: 1502 + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} 1503 + engines: {node: '>=6.5'} 1504 + 1505 + abstract-logging@2.0.1: 1506 + resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} 1507 + 1508 + acorn-jsx@5.3.2: 1509 + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 1510 + peerDependencies: 1511 + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 1512 + 1513 + acorn@8.16.0: 1514 + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} 1515 + engines: {node: '>=0.4.0'} 1516 + hasBin: true 1517 + 1518 + ajv@6.14.0: 1519 + resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} 1520 + 1521 + alien-signals@3.1.2: 1522 + resolution: {integrity: sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==} 1523 + 1524 + ansi-colors@4.1.3: 1525 + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} 1526 + engines: {node: '>=6'} 1527 + 1528 + ansi-escapes@7.3.0: 1529 + resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} 1530 + engines: {node: '>=18'} 1531 + 1532 + ansi-regex@5.0.1: 1533 + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 1534 + engines: {node: '>=8'} 1535 + 1536 + ansi-regex@6.2.2: 1537 + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} 1538 + engines: {node: '>=12'} 1539 + 1540 + ansi-styles@4.3.0: 1541 + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 1542 + engines: {node: '>=8'} 1543 + 1544 + ansi-styles@5.2.0: 1545 + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 1546 + engines: {node: '>=10'} 1547 + 1548 + ansi-styles@6.2.3: 1549 + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} 1550 + engines: {node: '>=12'} 1551 + 1552 + assertion-error@2.0.1: 1553 + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} 1554 + engines: {node: '>=12'} 1555 + 1556 + astring@1.9.0: 1557 + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} 1558 + hasBin: true 1559 + 1560 + async-retry@1.3.3: 1561 + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} 1562 + 1563 + asynckit@0.4.0: 1564 + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 1565 + 1566 + atomic-sleep@1.0.0: 1567 + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} 1568 + engines: {node: '>=8.0.0'} 1569 + 1570 + axios@1.13.6: 1571 + resolution: {integrity: sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==} 1572 + 1573 + balanced-match@4.0.4: 1574 + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} 1575 + engines: {node: 18 || 20 || >=22} 1576 + 1577 + base64-js@1.5.1: 1578 + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 1579 + 1580 + baseline-browser-mapping@2.10.0: 1581 + resolution: {integrity: sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==} 1582 + engines: {node: '>=6.0.0'} 1583 + hasBin: true 1584 + 1585 + basic-auth@2.0.1: 1586 + resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} 1587 + engines: {node: '>= 0.8'} 1588 + 1589 + better-sqlite3@12.6.2: 1590 + resolution: {integrity: sha512-8VYKM3MjCa9WcaSAI3hzwhmyHVlH8tiGFwf0RlTsZPWJ1I5MkzjiudCo4KC4DxOaL/53A5B1sI/IbldNFDbsKA==} 1591 + engines: {node: 20.x || 22.x || 23.x || 24.x || 25.x} 1592 + 1593 + bindings@1.5.0: 1594 + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} 1595 + 1596 + bl@4.1.0: 1597 + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 1598 + 1599 + brace-expansion@5.0.4: 1600 + resolution: {integrity: sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==} 1601 + engines: {node: 18 || 20 || >=22} 1602 + 1603 + braces@3.0.3: 1604 + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 1605 + engines: {node: '>=8'} 1606 + 1607 + browserslist@4.28.1: 1608 + resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} 1609 + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1610 + hasBin: true 1611 + 1612 + buffer@5.7.1: 1613 + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 1614 + 1615 + buffer@6.0.3: 1616 + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} 1617 + 1618 + builtin-modules@5.0.0: 1619 + resolution: {integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==} 1620 + engines: {node: '>=18.20'} 1621 + 1622 + bundle-name@4.1.0: 1623 + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} 1624 + engines: {node: '>=18'} 1625 + 1626 + bytes@3.1.2: 1627 + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 1628 + engines: {node: '>= 0.8'} 1629 + 1630 + call-bind-apply-helpers@1.0.2: 1631 + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 1632 + engines: {node: '>= 0.4'} 1633 + 1634 + call-bound@1.0.4: 1635 + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 1636 + engines: {node: '>= 0.4'} 1637 + 1638 + camelcase@9.0.0: 1639 + resolution: {integrity: sha512-TO9xmyXTZ9HUHI8M1OnvExxYB0eYVS/1e5s7IDMTAoIcwUd+aNcFODs6Xk83mobk0velyHFQgA1yIrvYc6wclw==} 1640 + engines: {node: '>=20'} 1641 + 1642 + caniuse-lite@1.0.30001775: 1643 + resolution: {integrity: sha512-s3Qv7Lht9zbVKE9XoTyRG6wVDCKdtOFIjBGg3+Yhn6JaytuNKPIjBMTMIY1AnOH3seL5mvF+x33oGAyK3hVt3A==} 1644 + 1645 + case-anything@3.1.2: 1646 + resolution: {integrity: sha512-wljhAjDDIv/hM2FzgJnYQg90AWmZMNtESCjTeLH680qTzdo0nErlCxOmgzgX4ZsZAtIvqHyD87ES8QyriXB+BQ==} 1647 + engines: {node: '>=18'} 1648 + 1649 + cborg@1.10.2: 1650 + resolution: {integrity: sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==} 1651 + hasBin: true 1652 + 1653 + chai@6.2.2: 1654 + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} 1655 + engines: {node: '>=18'} 1656 + 1657 + chalk@4.1.2: 1658 + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1659 + engines: {node: '>=10'} 1660 + 1661 + change-case@5.4.4: 1662 + resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} 1663 + 1664 + check-disk-space@3.4.0: 1665 + resolution: {integrity: sha512-drVkSqfwA+TvuEhFipiR1OC9boEGZL5RrWvVsOthdcvQNXyCCuKkEiTOTXZ7qxSf/GLwq4GvzfrQD/Wz325hgw==} 1666 + engines: {node: '>=16'} 1667 + 1668 + chevrotain@11.1.2: 1669 + resolution: {integrity: sha512-opLQzEVriiH1uUQ4Kctsd49bRoFDXGGSC4GUqj7pGyxM3RehRhvTlZJc1FL/Flew2p5uwxa1tUDWKzI4wNM8pg==} 1670 + 1671 + chokidar@5.0.0: 1672 + resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} 1673 + engines: {node: '>= 20.19.0'} 1674 + 1675 + chownr@1.1.4: 1676 + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} 1677 + 1678 + ci-info@4.4.0: 1679 + resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} 1680 + engines: {node: '>=8'} 1681 + 1682 + clean-regexp@1.0.0: 1683 + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} 1684 + engines: {node: '>=4'} 1685 + 1686 + cli-cursor@5.0.0: 1687 + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} 1688 + engines: {node: '>=18'} 1689 + 1690 + cli-table3@0.6.5: 1691 + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} 1692 + engines: {node: 10.* || >= 12.*} 1693 + 1694 + cli-truncate@5.1.1: 1695 + resolution: {integrity: sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==} 1696 + engines: {node: '>=20'} 1697 + 1698 + cliui@8.0.1: 1699 + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 1700 + engines: {node: '>=12'} 1701 + 1702 + code-block-writer@13.0.3: 1703 + resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} 1704 + 1705 + color-convert@2.0.1: 1706 + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1707 + engines: {node: '>=7.0.0'} 1708 + 1709 + color-name@1.1.4: 1710 + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1711 + 1712 + colorette@2.0.19: 1713 + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} 1714 + 1715 + colorette@2.0.20: 1716 + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} 1717 + 1718 + combined-stream@1.0.8: 1719 + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 1720 + engines: {node: '>= 0.8'} 1721 + 1722 + commander@10.0.1: 1723 + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} 1724 + engines: {node: '>=14'} 1725 + 1726 + common-path-prefix@3.0.0: 1727 + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} 1728 + 1729 + content-disposition@1.0.1: 1730 + resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==} 1731 + engines: {node: '>=18'} 1732 + 1733 + content-type@1.0.5: 1734 + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} 1735 + engines: {node: '>= 0.6'} 1736 + 1737 + cookie-es@2.0.0: 1738 + resolution: {integrity: sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg==} 1739 + 1740 + core-js-compat@3.48.0: 1741 + resolution: {integrity: sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==} 1742 + 1743 + core-js@3.48.0: 1744 + resolution: {integrity: sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==} 1745 + 1746 + cross-spawn@7.0.6: 1747 + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 1748 + engines: {node: '>= 8'} 1749 + 1750 + csrf@3.1.0: 1751 + resolution: {integrity: sha512-uTqEnCvWRk042asU6JtapDTcJeeailFy4ydOQS28bj1hcLnYRiqi8SsD2jS412AY1I/4qdOwWZun774iqywf9w==} 1752 + engines: {node: '>= 0.8'} 1753 + 1754 + csstype@3.2.3: 1755 + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} 1756 + 1757 + dateformat@4.6.3: 1758 + resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} 1759 + 1760 + dayjs@1.11.19: 1761 + resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} 1762 + 1763 + debug@4.3.4: 1764 + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1765 + engines: {node: '>=6.0'} 1766 + peerDependencies: 1767 + supports-color: '*' 1768 + peerDependenciesMeta: 1769 + supports-color: 1770 + optional: true 1771 + 1772 + debug@4.4.3: 1773 + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} 1774 + engines: {node: '>=6.0'} 1775 + peerDependencies: 1776 + supports-color: '*' 1777 + peerDependenciesMeta: 1778 + supports-color: 1779 + optional: true 1780 + 1781 + decompress-response@6.0.0: 1782 + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} 1783 + engines: {node: '>=10'} 1784 + 1785 + dedent@1.7.1: 1786 + resolution: {integrity: sha512-9JmrhGZpOlEgOLdQgSm0zxFaYoQon408V1v49aqTWuXENVlnCuY9JBZcXZiCsZQWDjTm5Qf/nIvAy77mXDAjEg==} 1787 + peerDependencies: 1788 + babel-plugin-macros: ^3.1.0 1789 + peerDependenciesMeta: 1790 + babel-plugin-macros: 1791 + optional: true 1792 + 1793 + deep-extend@0.6.0: 1794 + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} 1795 + engines: {node: '>=4.0.0'} 1796 + 1797 + deep-is@0.1.4: 1798 + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1799 + 1800 + deepmerge@4.3.1: 1801 + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 1802 + engines: {node: '>=0.10.0'} 1803 + 1804 + default-browser-id@5.0.1: 1805 + resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} 1806 + engines: {node: '>=18'} 1807 + 1808 + default-browser@5.5.0: 1809 + resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} 1810 + engines: {node: '>=18'} 1811 + 1812 + define-lazy-prop@3.0.0: 1813 + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} 1814 + engines: {node: '>=12'} 1815 + 1816 + delayed-stream@1.0.0: 1817 + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 1818 + engines: {node: '>=0.4.0'} 1819 + 1820 + depd@2.0.0: 1821 + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 1822 + engines: {node: '>= 0.8'} 1823 + 1824 + destroy@1.2.0: 1825 + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} 1826 + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 1827 + 1828 + detect-libc@2.1.2: 1829 + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} 1830 + engines: {node: '>=8'} 1831 + 1832 + dlv@1.1.3: 1833 + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 1834 + 1835 + dunder-proto@1.0.1: 1836 + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 1837 + engines: {node: '>= 0.4'} 1838 + 1839 + edge-error@4.0.2: 1840 + resolution: {integrity: sha512-jB76VYn8wapDHKHSOmP3vbKLoa77RJYsTLNmfl8+cuCD69uxZtP3h+kqV+Prw/YkYmN7yHyp4IApE15pDByk0A==} 1841 + engines: {node: '>=18.16.0'} 1842 + 1843 + edge-lexer@6.0.4: 1844 + resolution: {integrity: sha512-rHlTSZUQfBu/fwnAjoaLCGGmDzpRPgUC8FEqNdJtpPEjBRCqU3a4Le7iJ8KSQfY2WvWx6NTGAwti62xj3eIz1w==} 1845 + engines: {node: '>=18.16.0'} 1846 + 1847 + edge-parser@9.1.0: 1848 + resolution: {integrity: sha512-Z7sEbRNjjGuUVch3ELHMbjgksVjQlAjUASCwUWe+1I+nJ0mVBmUD2rn6zyes/+EjLssvEGQcIWMjLMNn1ChXgQ==} 1849 + engines: {node: '>=18.16.0'} 1850 + 1851 + edge.js@6.5.0: 1852 + resolution: {integrity: sha512-WEXNseOSK6n5+Maf6dBPCMgsOuw4mpOqItMniXmdILVCH5PcjQ/CZDfw8IYyMwAjhshoznG+8WjsERy4+56xhA==} 1853 + engines: {node: '>=18.16.0'} 1854 + 1855 + edgejs-parser@0.2.18: 1856 + resolution: {integrity: sha512-O1Xg3ISESg2bl8DqP5q3x1b88cqTSgLmEBqNhGH482JdAIexDY7gh7FA9Y5kHOFwRNsTLFoziwQou0lprJ1MYQ==} 1857 + 1858 + ee-first@1.1.1: 1859 + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 1860 + 1861 + electron-to-chromium@1.5.302: 1862 + resolution: {integrity: sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==} 1863 + 1864 + emittery@1.2.1: 1865 + resolution: {integrity: sha512-sFz64DCRjirhwHLxofFqxYQm6DCp6o0Ix7jwKQvuCHPn4GMRZNuBZyLPu9Ccmk/QSCAMZt6FOUqA8JZCQvA9fw==} 1866 + engines: {node: '>=14.16'} 1867 + 1868 + emoji-regex@8.0.0: 1869 + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1870 + 1871 + encodeurl@2.0.0: 1872 + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} 1873 + engines: {node: '>= 0.8'} 1874 + 1875 + end-of-stream@1.4.5: 1876 + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} 1877 + 1878 + enquirer@2.4.1: 1879 + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} 1880 + engines: {node: '>=8.6'} 1881 + 1882 + entities@7.0.1: 1883 + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} 1884 + engines: {node: '>=0.12'} 1885 + 1886 + environment@1.1.0: 1887 + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} 1888 + engines: {node: '>=18'} 1889 + 1890 + error-stack-parser-es@1.0.5: 1891 + resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} 1892 + 1893 + es-define-property@1.0.1: 1894 + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 1895 + engines: {node: '>= 0.4'} 1896 + 1897 + es-errors@1.3.0: 1898 + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 1899 + engines: {node: '>= 0.4'} 1900 + 1901 + es-module-lexer@1.7.0: 1902 + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} 1903 + 1904 + es-object-atoms@1.1.1: 1905 + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 1906 + engines: {node: '>= 0.4'} 1907 + 1908 + es-set-tostringtag@2.1.0: 1909 + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} 1910 + engines: {node: '>= 0.4'} 1911 + 1912 + esbuild@0.27.3: 1913 + resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} 1914 + engines: {node: '>=18'} 1915 + hasBin: true 1916 + 1917 + escalade@3.2.0: 1918 + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 1919 + engines: {node: '>=6'} 1920 + 1921 + escape-goat@4.0.0: 1922 + resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} 1923 + engines: {node: '>=12'} 1924 + 1925 + escape-html@1.0.3: 1926 + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 1927 + 1928 + escape-string-regexp@1.0.5: 1929 + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1930 + engines: {node: '>=0.8.0'} 1931 + 1932 + escape-string-regexp@4.0.0: 1933 + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1934 + engines: {node: '>=10'} 1935 + 1936 + escape-string-regexp@5.0.0: 1937 + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 1938 + engines: {node: '>=12'} 1939 + 1940 + eslint-config-prettier@10.1.8: 1941 + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} 1942 + hasBin: true 1943 + peerDependencies: 1944 + eslint: '>=7.0.0' 1945 + 1946 + eslint-plugin-prettier@5.5.5: 1947 + resolution: {integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==} 1948 + engines: {node: ^14.18.0 || >=16.0.0} 1949 + peerDependencies: 1950 + '@types/eslint': '>=8.0.0' 1951 + eslint: '>=8.0.0' 1952 + eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' 1953 + prettier: '>=3.0.0' 1954 + peerDependenciesMeta: 1955 + '@types/eslint': 1956 + optional: true 1957 + eslint-config-prettier: 1958 + optional: true 1959 + 1960 + eslint-plugin-unicorn@63.0.0: 1961 + resolution: {integrity: sha512-Iqecl9118uQEXYh7adylgEmGfkn5es3/mlQTLLkd4pXkIk9CTGrAbeUux+YljSa2ohXCBmQQ0+Ej1kZaFgcfkA==} 1962 + engines: {node: ^20.10.0 || >=21.0.0} 1963 + peerDependencies: 1964 + eslint: '>=9.38.0' 1965 + 1966 + eslint-scope@9.1.1: 1967 + resolution: {integrity: sha512-GaUN0sWim5qc8KVErfPBWmc31LEsOkrUJbvJZV+xuL3u2phMUK4HIvXlWAakfC8W4nzlK+chPEAkYOYb5ZScIw==} 1968 + engines: {node: ^20.19.0 || ^22.13.0 || >=24} 1969 + 1970 + eslint-visitor-keys@3.4.3: 1971 + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1972 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1973 + 1974 + eslint-visitor-keys@4.2.1: 1975 + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} 1976 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1977 + 1978 + eslint-visitor-keys@5.0.1: 1979 + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} 1980 + engines: {node: ^20.19.0 || ^22.13.0 || >=24} 1981 + 1982 + eslint@10.0.2: 1983 + resolution: {integrity: sha512-uYixubwmqJZH+KLVYIVKY1JQt7tysXhtj21WSvjcSmU5SVNzMus1bgLe+pAt816yQ8opKfheVVoPLqvVMGejYw==} 1984 + engines: {node: ^20.19.0 || ^22.13.0 || >=24} 1985 + hasBin: true 1986 + peerDependencies: 1987 + jiti: '*' 1988 + peerDependenciesMeta: 1989 + jiti: 1990 + optional: true 1991 + 1992 + esm@3.2.25: 1993 + resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} 1994 + engines: {node: '>=6'} 1995 + 1996 + espree@10.4.0: 1997 + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} 1998 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1999 + 2000 + espree@11.1.1: 2001 + resolution: {integrity: sha512-AVHPqQoZYc+RUM4/3Ly5udlZY/U4LS8pIG05jEjWM2lQMU/oaZ7qshzAl2YP1tfNmXfftH3ohurfwNAug+MnsQ==} 2002 + engines: {node: ^20.19.0 || ^22.13.0 || >=24} 2003 + 2004 + esquery@1.7.0: 2005 + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} 2006 + engines: {node: '>=0.10'} 2007 + 2008 + esrecurse@4.3.0: 2009 + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 2010 + engines: {node: '>=4.0'} 2011 + 2012 + estraverse@5.3.0: 2013 + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 2014 + engines: {node: '>=4.0'} 2015 + 2016 + estree-walker@2.0.2: 2017 + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 2018 + 2019 + esutils@2.0.3: 2020 + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 2021 + engines: {node: '>=0.10.0'} 2022 + 2023 + etag@1.8.1: 2024 + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 2025 + engines: {node: '>= 0.6'} 2026 + 2027 + event-target-shim@5.0.1: 2028 + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} 2029 + engines: {node: '>=6'} 2030 + 2031 + events@3.3.0: 2032 + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} 2033 + engines: {node: '>=0.8.x'} 2034 + 2035 + execa@9.6.1: 2036 + resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} 2037 + engines: {node: ^18.19.0 || >=20.5.0} 2038 + 2039 + expand-template@2.0.3: 2040 + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} 2041 + engines: {node: '>=6'} 2042 + 2043 + fast-copy@4.0.2: 2044 + resolution: {integrity: sha512-ybA6PDXIXOXivLJK/z9e+Otk7ve13I4ckBvGO5I2RRmBU1gMHLVDJYEuJYhGwez7YNlYji2M2DvVU+a9mSFDlw==} 2045 + 2046 + fast-deep-equal@3.1.3: 2047 + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 2048 + 2049 + fast-diff@1.3.0: 2050 + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} 2051 + 2052 + fast-glob@3.3.3: 2053 + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 2054 + engines: {node: '>=8.6.0'} 2055 + 2056 + fast-json-stable-stringify@2.1.0: 2057 + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 2058 + 2059 + fast-levenshtein@2.0.6: 2060 + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 2061 + 2062 + fast-redact@3.5.0: 2063 + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} 2064 + engines: {node: '>=6'} 2065 + 2066 + fast-safe-stringify@2.1.1: 2067 + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} 2068 + 2069 + fastest-levenshtein@1.0.16: 2070 + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} 2071 + engines: {node: '>= 4.9.1'} 2072 + 2073 + fastq@1.20.1: 2074 + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} 2075 + 2076 + fdir@6.5.0: 2077 + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} 2078 + engines: {node: '>=12.0.0'} 2079 + peerDependencies: 2080 + picomatch: ^3 || ^4 2081 + peerDependenciesMeta: 2082 + picomatch: 2083 + optional: true 2084 + 2085 + figures@6.1.0: 2086 + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} 2087 + engines: {node: '>=18'} 2088 + 2089 + file-entry-cache@8.0.0: 2090 + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 2091 + engines: {node: '>=16.0.0'} 2092 + 2093 + file-type@21.3.0: 2094 + resolution: {integrity: sha512-8kPJMIGz1Yt/aPEwOsrR97ZyZaD1Iqm8PClb1nYFclUCkBi0Ma5IsYNQzvSFS9ib51lWyIw5mIT9rWzI/xjpzA==} 2095 + engines: {node: '>=20'} 2096 + 2097 + file-uri-to-path@1.0.0: 2098 + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} 2099 + 2100 + fill-range@7.1.1: 2101 + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 2102 + engines: {node: '>=8'} 2103 + 2104 + find-cache-directory@6.0.0: 2105 + resolution: {integrity: sha512-CvFd5ivA6HcSHbD+59P7CyzINHXzwhuQK8RY7CxJZtgDSAtRlHiCaQpZQ2lMR/WRyUIEmzUvL6G2AGurMfegZA==} 2106 + engines: {node: '>=20'} 2107 + 2108 + find-up-simple@1.0.1: 2109 + resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} 2110 + engines: {node: '>=18'} 2111 + 2112 + find-up@5.0.0: 2113 + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 2114 + engines: {node: '>=10'} 2115 + 2116 + flat-cache@4.0.1: 2117 + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 2118 + engines: {node: '>=16'} 2119 + 2120 + flatted@3.3.3: 2121 + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 2122 + 2123 + flattie@1.1.1: 2124 + resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==} 2125 + engines: {node: '>=8'} 2126 + 2127 + follow-redirects@1.15.11: 2128 + resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} 2129 + engines: {node: '>=4.0'} 2130 + peerDependencies: 2131 + debug: '*' 2132 + peerDependenciesMeta: 2133 + debug: 2134 + optional: true 2135 + 2136 + form-data@4.0.5: 2137 + resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} 2138 + engines: {node: '>= 6'} 2139 + 2140 + forwarded@0.2.0: 2141 + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 2142 + engines: {node: '>= 0.6'} 2143 + 2144 + fresh@0.5.2: 2145 + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} 2146 + engines: {node: '>= 0.6'} 2147 + 2148 + fresh@2.0.0: 2149 + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} 2150 + engines: {node: '>= 0.8'} 2151 + 2152 + fs-constants@1.0.0: 2153 + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 2154 + 2155 + fsevents@2.3.2: 2156 + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 2157 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 2158 + os: [darwin] 2159 + 2160 + fsevents@2.3.3: 2161 + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 2162 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 2163 + os: [darwin] 2164 + 2165 + function-bind@1.1.2: 2166 + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 2167 + 2168 + get-caller-file@2.0.5: 2169 + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 2170 + engines: {node: 6.* || 8.* || >= 10.*} 2171 + 2172 + get-east-asian-width@1.5.0: 2173 + resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} 2174 + engines: {node: '>=18'} 2175 + 2176 + get-intrinsic@1.3.0: 2177 + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 2178 + engines: {node: '>= 0.4'} 2179 + 2180 + get-package-type@0.1.0: 2181 + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} 2182 + engines: {node: '>=8.0.0'} 2183 + 2184 + get-port@7.1.0: 2185 + resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} 2186 + engines: {node: '>=16'} 2187 + 2188 + get-proto@1.0.1: 2189 + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 2190 + engines: {node: '>= 0.4'} 2191 + 2192 + get-stream@9.0.1: 2193 + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} 2194 + engines: {node: '>=18'} 2195 + 2196 + get-tsconfig@4.13.6: 2197 + resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} 2198 + 2199 + getopts@2.3.0: 2200 + resolution: {integrity: sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==} 2201 + 2202 + github-from-package@0.0.0: 2203 + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} 2204 + 2205 + glob-parent@5.1.2: 2206 + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 2207 + engines: {node: '>= 6'} 2208 + 2209 + glob-parent@6.0.2: 2210 + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 2211 + engines: {node: '>=10.13.0'} 2212 + 2213 + globals@16.5.0: 2214 + resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} 2215 + engines: {node: '>=18'} 2216 + 2217 + gopd@1.2.0: 2218 + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 2219 + engines: {node: '>= 0.4'} 2220 + 2221 + has-flag@4.0.0: 2222 + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 2223 + engines: {node: '>=8'} 2224 + 2225 + has-symbols@1.1.0: 2226 + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 2227 + engines: {node: '>= 0.4'} 2228 + 2229 + has-tostringtag@1.0.2: 2230 + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 2231 + engines: {node: '>= 0.4'} 2232 + 2233 + hasown@2.0.2: 2234 + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 2235 + engines: {node: '>= 0.4'} 2236 + 2237 + he@1.2.0: 2238 + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} 2239 + hasBin: true 2240 + 2241 + help-me@5.0.0: 2242 + resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} 2243 + 2244 + hosted-git-info@9.0.2: 2245 + resolution: {integrity: sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==} 2246 + engines: {node: ^20.17.0 || >=22.9.0} 2247 + 2248 + hot-hook@1.0.0: 2249 + resolution: {integrity: sha512-OkZm5tTE4ej8ur8VlcQwMm8G9sFxu4D+shM+ol/h4mrUhuZvFkjk5n/nWKmLq3COmy6epLN7XIIQJ75tnqCGIw==} 2250 + 2251 + html-entities@2.6.0: 2252 + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} 2253 + 2254 + http-errors@2.0.1: 2255 + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} 2256 + engines: {node: '>= 0.8'} 2257 + 2258 + human-signals@8.0.1: 2259 + resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} 2260 + engines: {node: '>=18.18.0'} 2261 + 2262 + iconv-lite@0.7.2: 2263 + resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} 2264 + engines: {node: '>=0.10.0'} 2265 + 2266 + ieee754@1.2.1: 2267 + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 2268 + 2269 + igniculus@1.5.0: 2270 + resolution: {integrity: sha512-vhj2J/cSzNg2G5tcK4Z1KZdeYmQa5keoxFULUYAxctK/zHJb1oraO7noCqnJxKe1b2eZdiiaSL1IHPOFAI8UYQ==} 2271 + engines: {node: '>=4.0.0'} 2272 + 2273 + ignore@5.3.2: 2274 + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 2275 + engines: {node: '>= 4'} 2276 + 2277 + ignore@7.0.5: 2278 + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} 2279 + engines: {node: '>= 4'} 2280 + 2281 + import-meta-resolve@4.2.0: 2282 + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} 2283 + 2284 + imurmurhash@0.1.4: 2285 + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 2286 + engines: {node: '>=0.8.19'} 2287 + 2288 + indent-string@5.0.0: 2289 + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} 2290 + engines: {node: '>=12'} 2291 + 2292 + index-to-position@1.2.0: 2293 + resolution: {integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==} 2294 + engines: {node: '>=18'} 2295 + 2296 + inflation@2.1.0: 2297 + resolution: {integrity: sha512-t54PPJHG1Pp7VQvxyVCJ9mBbjG3Hqryges9bXoOO6GExCPa+//i/d5GSuFtpx3ALLd7lgIAur6zrIlBQyJuMlQ==} 2298 + engines: {node: '>= 0.8.0'} 2299 + 2300 + inherits@2.0.4: 2301 + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2302 + 2303 + ini@1.3.8: 2304 + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 2305 + 2306 + interpret@2.2.0: 2307 + resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==} 2308 + engines: {node: '>= 0.10'} 2309 + 2310 + ipaddr.js@1.9.1: 2311 + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 2312 + engines: {node: '>= 0.10'} 2313 + 2314 + ipaddr.js@2.3.0: 2315 + resolution: {integrity: sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==} 2316 + engines: {node: '>= 10'} 2317 + 2318 + is-builtin-module@5.0.0: 2319 + resolution: {integrity: sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==} 2320 + engines: {node: '>=18.20'} 2321 + 2322 + is-core-module@2.16.1: 2323 + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 2324 + engines: {node: '>= 0.4'} 2325 + 2326 + is-docker@3.0.0: 2327 + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} 2328 + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2329 + hasBin: true 2330 + 2331 + is-extglob@2.1.1: 2332 + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 2333 + engines: {node: '>=0.10.0'} 2334 + 2335 + is-fullwidth-code-point@3.0.0: 2336 + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 2337 + engines: {node: '>=8'} 2338 + 2339 + is-fullwidth-code-point@5.1.0: 2340 + resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} 2341 + engines: {node: '>=18'} 2342 + 2343 + is-glob@4.0.3: 2344 + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 2345 + engines: {node: '>=0.10.0'} 2346 + 2347 + is-in-ssh@1.0.0: 2348 + resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==} 2349 + engines: {node: '>=20'} 2350 + 2351 + is-inside-container@1.0.0: 2352 + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} 2353 + engines: {node: '>=14.16'} 2354 + hasBin: true 2355 + 2356 + is-number@7.0.0: 2357 + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2358 + engines: {node: '>=0.12.0'} 2359 + 2360 + is-plain-obj@4.1.0: 2361 + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} 2362 + engines: {node: '>=12'} 2363 + 2364 + is-stream@4.0.1: 2365 + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} 2366 + engines: {node: '>=18'} 2367 + 2368 + is-unicode-supported@2.1.0: 2369 + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} 2370 + engines: {node: '>=18'} 2371 + 2372 + is-wsl@3.1.1: 2373 + resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} 2374 + engines: {node: '>=16'} 2375 + 2376 + isexe@2.0.0: 2377 + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 2378 + 2379 + iso-datestring-validator@2.2.2: 2380 + resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==} 2381 + 2382 + jest-diff@30.2.0: 2383 + resolution: {integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==} 2384 + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} 2385 + 2386 + jose@5.10.0: 2387 + resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} 2388 + 2389 + joycon@3.1.1: 2390 + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 2391 + engines: {node: '>=10'} 2392 + 2393 + js-stringify@1.0.2: 2394 + resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==} 2395 + 2396 + js-tokens@4.0.0: 2397 + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2398 + 2399 + jsesc@3.1.0: 2400 + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} 2401 + engines: {node: '>=6'} 2402 + hasBin: true 2403 + 2404 + json-buffer@3.0.1: 2405 + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 2406 + 2407 + json-schema-traverse@0.4.1: 2408 + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 2409 + 2410 + json-stable-stringify-without-jsonify@1.0.1: 2411 + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 2412 + 2413 + jsonschema@1.5.0: 2414 + resolution: {integrity: sha512-K+A9hhqbn0f3pJX17Q/7H6yQfD/5OXgdrR5UE12gMXCiN9D5Xq2o5mddV2QEcX/bjla99ASsAAQUyMCCRWAEhw==} 2415 + 2416 + junk@4.0.1: 2417 + resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} 2418 + engines: {node: '>=12.20'} 2419 + 2420 + keyv@4.5.4: 2421 + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 2422 + 2423 + kleur@4.1.5: 2424 + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 2425 + engines: {node: '>=6'} 2426 + 2427 + knex-dynamic-connection@4.0.0-next.0: 2428 + resolution: {integrity: sha512-UCLUVzY9lfZHhpmZ+jPLZqeEFTqaVs8nkqVe5/FTWTT9IT/d0yvHJ2Yp2DCiX59ItPs4OtVmYTw4YukGaTJmeA==} 2429 + engines: {node: '>=24.0.0'} 2430 + 2431 + knex@3.1.0: 2432 + resolution: {integrity: sha512-GLoII6hR0c4ti243gMs5/1Rb3B+AjwMOfjYm97pu0FOQa7JH56hgBxYf5WK2525ceSbBY1cjeZ9yk99GPMB6Kw==} 2433 + engines: {node: '>=16'} 2434 + hasBin: true 2435 + peerDependencies: 2436 + better-sqlite3: '*' 2437 + mysql: '*' 2438 + mysql2: '*' 2439 + pg: '*' 2440 + pg-native: '*' 2441 + sqlite3: '*' 2442 + tedious: '*' 2443 + peerDependenciesMeta: 2444 + better-sqlite3: 2445 + optional: true 2446 + mysql: 2447 + optional: true 2448 + mysql2: 2449 + optional: true 2450 + pg: 2451 + optional: true 2452 + pg-native: 2453 + optional: true 2454 + sqlite3: 2455 + optional: true 2456 + tedious: 2457 + optional: true 2458 + 2459 + ky@1.14.3: 2460 + resolution: {integrity: sha512-9zy9lkjac+TR1c2tG+mkNSVlyOpInnWdSMiue4F+kq8TwJSgv6o8jhLRg8Ho6SnZ9wOYUq/yozts9qQCfk7bIw==} 2461 + engines: {node: '>=18'} 2462 + 2463 + laravel-precognition@1.0.2: 2464 + resolution: {integrity: sha512-0H08JDdMWONrL/N314fvsO3FATJwGGlFKGkMF3nNmizVFJaWs17816iM+sX7Rp8d5hUjYCx6WLfsehSKfaTxjg==} 2465 + 2466 + levn@0.4.1: 2467 + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2468 + engines: {node: '>= 0.8.0'} 2469 + 2470 + locate-path@6.0.0: 2471 + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 2472 + engines: {node: '>=10'} 2473 + 2474 + lodash-es@4.17.23: 2475 + resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==} 2476 + 2477 + lodash@4.17.23: 2478 + resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} 2479 + 2480 + log-update@7.2.0: 2481 + resolution: {integrity: sha512-iLs7dGSyjZiUgvrUvuD3FndAxVJk+TywBkkkwUSm9HdYoskJalWg5qVsEiXeufPvRVPbCUmNQewg798rx+sPXg==} 2482 + engines: {node: '>=20'} 2483 + 2484 + lru-cache@10.4.3: 2485 + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 2486 + 2487 + lru-cache@11.2.6: 2488 + resolution: {integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==} 2489 + engines: {node: 20 || >=22} 2490 + 2491 + luxon@3.7.2: 2492 + resolution: {integrity: sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==} 2493 + engines: {node: '>=12'} 2494 + 2495 + magic-string@0.30.21: 2496 + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} 2497 + 2498 + math-intrinsics@1.1.0: 2499 + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 2500 + engines: {node: '>= 0.4'} 2501 + 2502 + media-typer@1.1.0: 2503 + resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} 2504 + engines: {node: '>= 0.8'} 2505 + 2506 + merge2@1.4.1: 2507 + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2508 + engines: {node: '>= 8'} 2509 + 2510 + micromatch@4.0.8: 2511 + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 2512 + engines: {node: '>=8.6'} 2513 + 2514 + mime-db@1.52.0: 2515 + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 2516 + engines: {node: '>= 0.6'} 2517 + 2518 + mime-db@1.54.0: 2519 + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} 2520 + engines: {node: '>= 0.6'} 2521 + 2522 + mime-types@2.1.35: 2523 + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 2524 + engines: {node: '>= 0.6'} 2525 + 2526 + mime-types@3.0.2: 2527 + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} 2528 + engines: {node: '>=18'} 2529 + 2530 + mimic-function@5.0.1: 2531 + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} 2532 + engines: {node: '>=18'} 2533 + 2534 + mimic-response@3.1.0: 2535 + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} 2536 + engines: {node: '>=10'} 2537 + 2538 + minimatch@10.2.4: 2539 + resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} 2540 + engines: {node: 18 || 20 || >=22} 2541 + 2542 + minimist@1.2.8: 2543 + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 2544 + 2545 + mkdirp-classic@0.5.3: 2546 + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} 2547 + 2548 + ms@2.1.2: 2549 + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2550 + 2551 + ms@2.1.3: 2552 + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2553 + 2554 + muggle-string@0.4.1: 2555 + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} 2556 + 2557 + multiformats@9.9.0: 2558 + resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} 2559 + 2560 + nanoid@3.3.11: 2561 + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 2562 + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2563 + hasBin: true 2564 + 2565 + napi-build-utils@2.0.0: 2566 + resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} 2567 + 2568 + natural-compare@1.4.0: 2569 + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2570 + 2571 + node-abi@3.87.0: 2572 + resolution: {integrity: sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ==} 2573 + engines: {node: '>=10'} 2574 + 2575 + node-releases@2.0.27: 2576 + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} 2577 + 2578 + normalize-package-data@8.0.0: 2579 + resolution: {integrity: sha512-RWk+PI433eESQ7ounYxIp67CYuVsS1uYSonX3kA6ps/3LWfjVQa/ptEg6Y3T6uAMq1mWpX9PQ+qx+QaHpsc7gQ==} 2580 + engines: {node: ^20.17.0 || >=22.9.0} 2581 + 2582 + normalize-url@8.1.1: 2583 + resolution: {integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==} 2584 + engines: {node: '>=14.16'} 2585 + 2586 + npm-run-path@6.0.0: 2587 + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} 2588 + engines: {node: '>=18'} 2589 + 2590 + object-inspect@1.13.4: 2591 + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} 2592 + engines: {node: '>= 0.4'} 2593 + 2594 + object-to-formdata@4.5.1: 2595 + resolution: {integrity: sha512-QiM9D0NiU5jV6J6tjE1g7b4Z2tcUnKs1OPUi4iMb2zH+7jwlcUrASghgkFk9GtzqNNq8rTQJtT8AzjBAvLoNMw==} 2596 + 2597 + on-exit-leak-free@2.1.2: 2598 + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} 2599 + engines: {node: '>=14.0.0'} 2600 + 2601 + on-finished@2.4.1: 2602 + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} 2603 + engines: {node: '>= 0.8'} 2604 + 2605 + once@1.4.0: 2606 + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2607 + 2608 + onetime@7.0.0: 2609 + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} 2610 + engines: {node: '>=18'} 2611 + 2612 + open@11.0.0: 2613 + resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==} 2614 + engines: {node: '>=20'} 2615 + 2616 + optionator@0.9.4: 2617 + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 2618 + engines: {node: '>= 0.8.0'} 2619 + 2620 + p-limit@3.1.0: 2621 + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2622 + engines: {node: '>=10'} 2623 + 2624 + p-locate@5.0.0: 2625 + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2626 + engines: {node: '>=10'} 2627 + 2628 + package-manager-detector@1.6.0: 2629 + resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} 2630 + 2631 + parse-imports@3.0.0: 2632 + resolution: {integrity: sha512-IwiqoJANa4O6M76LBWEvoS2iPIUqBOnKG1lV3/J0oVM6V2XjED+mYAXedEMX5xUglVjfGpZOfaEyuOUjBuUE4g==} 2633 + engines: {node: '>= 22'} 2634 + 2635 + parse-json@8.3.0: 2636 + resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} 2637 + engines: {node: '>=18'} 2638 + 2639 + parse-ms@4.0.0: 2640 + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} 2641 + engines: {node: '>=18'} 2642 + 2643 + parseurl@1.3.3: 2644 + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 2645 + engines: {node: '>= 0.8'} 2646 + 2647 + path-browserify@1.0.1: 2648 + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} 2649 + 2650 + path-exists@4.0.0: 2651 + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2652 + engines: {node: '>=8'} 2653 + 2654 + path-key@3.1.1: 2655 + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2656 + engines: {node: '>=8'} 2657 + 2658 + path-key@4.0.0: 2659 + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 2660 + engines: {node: '>=12'} 2661 + 2662 + path-parse@1.0.7: 2663 + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2664 + 2665 + pg-connection-string@2.6.2: 2666 + resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} 2667 + 2668 + picocolors@1.1.1: 2669 + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 2670 + 2671 + picomatch@2.3.1: 2672 + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2673 + engines: {node: '>=8.6'} 2674 + 2675 + picomatch@4.0.3: 2676 + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} 2677 + engines: {node: '>=12'} 2678 + 2679 + pino-abstract-transport@1.2.0: 2680 + resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} 2681 + 2682 + pino-abstract-transport@3.0.0: 2683 + resolution: {integrity: sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==} 2684 + 2685 + pino-pretty@13.1.3: 2686 + resolution: {integrity: sha512-ttXRkkOz6WWC95KeY9+xxWL6AtImwbyMHrL1mSwqwW9u+vLp/WIElvHvCSDg0xO/Dzrggz1zv3rN5ovTRVowKg==} 2687 + hasBin: true 2688 + 2689 + pino-std-serializers@6.2.2: 2690 + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} 2691 + 2692 + pino-std-serializers@7.1.0: 2693 + resolution: {integrity: sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==} 2694 + 2695 + pino@10.3.1: 2696 + resolution: {integrity: sha512-r34yH/GlQpKZbU1BvFFqOjhISRo1MNx1tWYsYvmj6KIRHSPMT2+yHOEb1SG6NMvRoHRF0a07kCOox/9yakl1vg==} 2697 + hasBin: true 2698 + 2699 + pino@8.21.0: 2700 + resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} 2701 + hasBin: true 2702 + 2703 + pkg-dir@8.0.0: 2704 + resolution: {integrity: sha512-4peoBq4Wks0riS0z8741NVv+/8IiTvqnZAr8QGgtdifrtpdXbNw/FxRS1l6NFqm4EMzuS0EDqNNx4XGaz8cuyQ==} 2705 + engines: {node: '>=18'} 2706 + 2707 + playwright-core@1.58.2: 2708 + resolution: {integrity: sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==} 2709 + engines: {node: '>=18'} 2710 + hasBin: true 2711 + 2712 + playwright@1.58.2: 2713 + resolution: {integrity: sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==} 2714 + engines: {node: '>=18'} 2715 + hasBin: true 2716 + 2717 + pluralize@8.0.0: 2718 + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} 2719 + engines: {node: '>=4'} 2720 + 2721 + postcss@8.5.6: 2722 + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} 2723 + engines: {node: ^10 || ^12 || >=14} 2724 + 2725 + powershell-utils@0.1.0: 2726 + resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} 2727 + engines: {node: '>=20'} 2728 + 2729 + prebuild-install@7.1.3: 2730 + resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} 2731 + engines: {node: '>=10'} 2732 + deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available. 2733 + hasBin: true 2734 + 2735 + prelude-ls@1.2.1: 2736 + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2737 + engines: {node: '>= 0.8.0'} 2738 + 2739 + prettier-linter-helpers@1.0.1: 2740 + resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==} 2741 + engines: {node: '>=6.0.0'} 2742 + 2743 + prettier-plugin-edgejs@1.0.6: 2744 + resolution: {integrity: sha512-RZ3xPEiHfw6ca/YzfKmu6rSOviheC9THfGlqg7rs8srbr1RugJQ8k3KmjLHH1oXadQBzZeIeZ3d25Dhs+fe4UA==} 2745 + 2746 + prettier@3.8.1: 2747 + resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} 2748 + engines: {node: '>=14'} 2749 + hasBin: true 2750 + 2751 + pretty-format@30.2.0: 2752 + resolution: {integrity: sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==} 2753 + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} 2754 + 2755 + pretty-hrtime@1.0.3: 2756 + resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} 2757 + engines: {node: '>= 0.8'} 2758 + 2759 + pretty-ms@9.3.0: 2760 + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} 2761 + engines: {node: '>=18'} 2762 + 2763 + process-warning@3.0.0: 2764 + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} 2765 + 2766 + process-warning@5.0.0: 2767 + resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==} 2768 + 2769 + process@0.11.10: 2770 + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 2771 + engines: {node: '>= 0.6.0'} 2772 + 2773 + property-information@7.1.0: 2774 + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} 2775 + 2776 + proxy-addr@2.0.7: 2777 + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 2778 + engines: {node: '>= 0.10'} 2779 + 2780 + proxy-from-env@1.1.0: 2781 + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} 2782 + 2783 + pump@3.0.4: 2784 + resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} 2785 + 2786 + punycode@2.3.1: 2787 + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 2788 + engines: {node: '>=6'} 2789 + 2790 + qs@6.15.0: 2791 + resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} 2792 + engines: {node: '>=0.6'} 2793 + 2794 + queue-microtask@1.2.3: 2795 + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2796 + 2797 + quick-format-unescaped@4.0.4: 2798 + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} 2799 + 2800 + random-bytes@1.0.0: 2801 + resolution: {integrity: sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==} 2802 + engines: {node: '>= 0.8'} 2803 + 2804 + range-parser@1.2.1: 2805 + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} 2806 + engines: {node: '>= 0.6'} 2807 + 2808 + raw-body@3.0.2: 2809 + resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} 2810 + engines: {node: '>= 0.10'} 2811 + 2812 + rc@1.2.8: 2813 + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} 2814 + hasBin: true 2815 + 2816 + react-is@18.3.1: 2817 + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} 2818 + 2819 + read-package-up@12.0.0: 2820 + resolution: {integrity: sha512-Q5hMVBYur/eQNWDdbF4/Wqqr9Bjvtrw2kjGxxBbKLbx8bVCL8gcArjTy8zDUuLGQicftpMuU0riQNcAsbtOVsw==} 2821 + engines: {node: '>=20'} 2822 + 2823 + read-pkg@10.1.0: 2824 + resolution: {integrity: sha512-I8g2lArQiP78ll51UeMZojewtYgIRCKCWqZEgOO8c/uefTI+XDXvCSXu3+YNUaTNvZzobrL5+SqHjBrByRRTdg==} 2825 + engines: {node: '>=20'} 2826 + 2827 + readable-stream@3.6.2: 2828 + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 2829 + engines: {node: '>= 6'} 2830 + 2831 + readable-stream@4.7.0: 2832 + resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} 2833 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 2834 + 2835 + readdirp@5.0.0: 2836 + resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} 2837 + engines: {node: '>= 20.19.0'} 2838 + 2839 + real-require@0.2.0: 2840 + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} 2841 + engines: {node: '>= 12.13.0'} 2842 + 2843 + rechoir@0.8.0: 2844 + resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} 2845 + engines: {node: '>= 10.13.0'} 2846 + 2847 + reflect-metadata@0.2.2: 2848 + resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} 2849 + 2850 + regexp-tree@0.1.27: 2851 + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} 2852 + hasBin: true 2853 + 2854 + regjsparser@0.13.0: 2855 + resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} 2856 + hasBin: true 2857 + 2858 + require-directory@2.1.1: 2859 + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 2860 + engines: {node: '>=0.10.0'} 2861 + 2862 + resolve-from@5.0.0: 2863 + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 2864 + engines: {node: '>=8'} 2865 + 2866 + resolve-pkg-maps@1.0.0: 2867 + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 2868 + 2869 + resolve@1.22.11: 2870 + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} 2871 + engines: {node: '>= 0.4'} 2872 + hasBin: true 2873 + 2874 + restore-cursor@5.1.0: 2875 + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} 2876 + engines: {node: '>=18'} 2877 + 2878 + retry@0.13.1: 2879 + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} 2880 + engines: {node: '>= 4'} 2881 + 2882 + reusify@1.1.0: 2883 + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 2884 + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2885 + 2886 + rndm@1.2.0: 2887 + resolution: {integrity: sha512-fJhQQI5tLrQvYIYFpOnFinzv9dwmR7hRnUz1XqP3OJ1jIweTNOd6aTO4jwQSgcBSFUB+/KHJxuGneime+FdzOw==} 2888 + 2889 + rollup@4.59.0: 2890 + resolution: {integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==} 2891 + engines: {node: '>=18.0.0', npm: '>=8.0.0'} 2892 + hasBin: true 2893 + 2894 + run-applescript@7.1.0: 2895 + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} 2896 + engines: {node: '>=18'} 2897 + 2898 + run-parallel@1.2.0: 2899 + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2900 + 2901 + safe-buffer@5.1.2: 2902 + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 2903 + 2904 + safe-buffer@5.2.1: 2905 + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 2906 + 2907 + safe-stable-stringify@2.5.0: 2908 + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} 2909 + engines: {node: '>=10'} 2910 + 2911 + safer-buffer@2.1.2: 2912 + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 2913 + 2914 + secure-json-parse@4.1.0: 2915 + resolution: {integrity: sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==} 2916 + 2917 + semver@7.7.4: 2918 + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} 2919 + engines: {node: '>=10'} 2920 + hasBin: true 2921 + 2922 + send@1.2.1: 2923 + resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} 2924 + engines: {node: '>= 18'} 2925 + 2926 + serve-static@2.2.1: 2927 + resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} 2928 + engines: {node: '>= 18'} 2929 + 2930 + setprototypeof@1.2.0: 2931 + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 2932 + 2933 + shebang-command@2.0.0: 2934 + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2935 + engines: {node: '>=8'} 2936 + 2937 + shebang-regex@3.0.0: 2938 + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2939 + engines: {node: '>=8'} 2940 + 2941 + side-channel-list@1.0.0: 2942 + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 2943 + engines: {node: '>= 0.4'} 2944 + 2945 + side-channel-map@1.0.1: 2946 + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} 2947 + engines: {node: '>= 0.4'} 2948 + 2949 + side-channel-weakmap@1.0.2: 2950 + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 2951 + engines: {node: '>= 0.4'} 2952 + 2953 + side-channel@1.1.0: 2954 + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 2955 + engines: {node: '>= 0.4'} 2956 + 2957 + signal-exit@4.1.0: 2958 + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 2959 + engines: {node: '>=14'} 2960 + 2961 + simple-concat@1.0.1: 2962 + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} 2963 + 2964 + simple-get@4.0.1: 2965 + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} 2966 + 2967 + slash@5.1.0: 2968 + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} 2969 + engines: {node: '>=14.16'} 2970 + 2971 + slashes@3.0.12: 2972 + resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==} 2973 + 2974 + slice-ansi@7.1.2: 2975 + resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==} 2976 + engines: {node: '>=18'} 2977 + 2978 + slice-ansi@8.0.0: 2979 + resolution: {integrity: sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==} 2980 + engines: {node: '>=20'} 2981 + 2982 + slugify@1.6.6: 2983 + resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} 2984 + engines: {node: '>=8.0.0'} 2985 + 2986 + sonic-boom@3.8.1: 2987 + resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} 2988 + 2989 + sonic-boom@4.2.1: 2990 + resolution: {integrity: sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==} 2991 + 2992 + source-map-js@1.2.1: 2993 + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 2994 + engines: {node: '>=0.10.0'} 2995 + 2996 + spdx-correct@3.2.0: 2997 + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 2998 + 2999 + spdx-exceptions@2.5.0: 3000 + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} 3001 + 3002 + spdx-expression-parse@3.0.1: 3003 + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 3004 + 3005 + spdx-license-ids@3.0.23: 3006 + resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} 3007 + 3008 + split-lines@3.0.0: 3009 + resolution: {integrity: sha512-d0TpRBL/VfKDXsk8JxPF7zgF5pCUDdBMSlEL36xBgVeaX448t+yGXcJaikUyzkoKOJ0l6KpMfygzJU9naIuivw==} 3010 + engines: {node: '>=12'} 3011 + 3012 + split2@4.2.0: 3013 + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} 3014 + engines: {node: '>= 10.x'} 3015 + 3016 + statuses@2.0.2: 3017 + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} 3018 + engines: {node: '>= 0.8'} 3019 + 3020 + string-width@4.2.3: 3021 + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 3022 + engines: {node: '>=8'} 3023 + 3024 + string-width@8.2.0: 3025 + resolution: {integrity: sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==} 3026 + engines: {node: '>=20'} 3027 + 3028 + string_decoder@1.3.0: 3029 + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 3030 + 3031 + stringify-attributes@4.0.0: 3032 + resolution: {integrity: sha512-6Hq3K153wTTfhEHb4V/viuqmb0DRn08JCrRnmqc4Q/tmoNuvd4DEyqkiiJXtvVz8ZSUhlCQr7zCpCVTgrelesg==} 3033 + engines: {node: '>=14.16'} 3034 + 3035 + strip-ansi@6.0.1: 3036 + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3037 + engines: {node: '>=8'} 3038 + 3039 + strip-ansi@7.2.0: 3040 + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} 3041 + engines: {node: '>=12'} 3042 + 3043 + strip-final-newline@4.0.0: 3044 + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} 3045 + engines: {node: '>=18'} 3046 + 3047 + strip-indent@4.1.1: 3048 + resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==} 3049 + engines: {node: '>=12'} 3050 + 3051 + strip-json-comments@2.0.1: 3052 + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} 3053 + engines: {node: '>=0.10.0'} 3054 + 3055 + strip-json-comments@5.0.3: 3056 + resolution: {integrity: sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==} 3057 + engines: {node: '>=14.16'} 3058 + 3059 + strtok3@10.3.4: 3060 + resolution: {integrity: sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==} 3061 + engines: {node: '>=18'} 3062 + 3063 + supports-color@10.2.2: 3064 + resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} 3065 + engines: {node: '>=18'} 3066 + 3067 + supports-color@7.2.0: 3068 + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 3069 + engines: {node: '>=8'} 3070 + 3071 + supports-preserve-symlinks-flag@1.0.0: 3072 + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 3073 + engines: {node: '>= 0.4'} 3074 + 3075 + synckit@0.11.12: 3076 + resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==} 3077 + engines: {node: ^14.18.0 || >=16.0.0} 3078 + 3079 + tagged-tag@1.0.0: 3080 + resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} 3081 + engines: {node: '>=20'} 3082 + 3083 + tar-fs@2.1.4: 3084 + resolution: {integrity: sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==} 3085 + 3086 + tar-stream@2.2.0: 3087 + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} 3088 + engines: {node: '>=6'} 3089 + 3090 + tarn@3.0.2: 3091 + resolution: {integrity: sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==} 3092 + engines: {node: '>=8.0.0'} 3093 + 3094 + tempura@0.4.1: 3095 + resolution: {integrity: sha512-NQ4Cs23jM6UUp3CcS5vjmyjTC6dtA5EsflBG2cyG0wZvP65AV26tJ920MGvTRYIImCY13RBpOhc7q4/pu+FG5A==} 3096 + engines: {node: '>=10'} 3097 + 3098 + thread-stream@2.7.0: 3099 + resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} 3100 + 3101 + thread-stream@4.0.0: 3102 + resolution: {integrity: sha512-4iMVL6HAINXWf1ZKZjIPcz5wYaOdPhtO8ATvZ+Xqp3BTdaqtAwQkNmKORqcIo5YkQqGXq5cwfswDwMqqQNrpJA==} 3103 + engines: {node: '>=20'} 3104 + 3105 + tildify@2.0.0: 3106 + resolution: {integrity: sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==} 3107 + engines: {node: '>=8'} 3108 + 3109 + timekeeper@2.3.1: 3110 + resolution: {integrity: sha512-LeQRS7/4JcC0PgdSFnfUiStQEdiuySlCj/5SJ18D+T1n9BoY7PxKFfCwLulpHXoLUFr67HxBddQdEX47lDGx1g==} 3111 + 3112 + tinyexec@1.0.2: 3113 + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} 3114 + engines: {node: '>=18'} 3115 + 3116 + tinyglobby@0.2.15: 3117 + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} 3118 + engines: {node: '>=12.0.0'} 3119 + 3120 + tmp-cache@1.1.0: 3121 + resolution: {integrity: sha512-j040fkL/x+XAZQ9K3bKGEPwgYhOZNBQLa3NXEADUiuno9C+3N2JJA4bVPDREixp604G3/vTXWA3DIPpA9lu1RQ==} 3122 + engines: {node: '>=6'} 3123 + 3124 + to-regex-range@5.0.1: 3125 + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 3126 + engines: {node: '>=8.0'} 3127 + 3128 + toidentifier@1.0.1: 3129 + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 3130 + engines: {node: '>=0.6'} 3131 + 3132 + token-types@6.1.2: 3133 + resolution: {integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==} 3134 + engines: {node: '>=14.16'} 3135 + 3136 + ts-api-utils@2.4.0: 3137 + resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} 3138 + engines: {node: '>=18.12'} 3139 + peerDependencies: 3140 + typescript: '>=4.8.4' 3141 + 3142 + ts-morph@27.0.2: 3143 + resolution: {integrity: sha512-fhUhgeljcrdZ+9DZND1De1029PrE+cMkIP7ooqkLRTrRLTqcki2AstsyJm0vRNbTbVCNJ0idGlbBrfqc7/nA8w==} 3144 + 3145 + tslib@2.8.1: 3146 + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 3147 + 3148 + tsscmp@1.0.6: 3149 + resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} 3150 + engines: {node: '>=0.6.x'} 3151 + 3152 + tunnel-agent@0.6.0: 3153 + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} 3154 + 3155 + type-check@0.4.0: 3156 + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 3157 + engines: {node: '>= 0.8.0'} 3158 + 3159 + type-fest@4.41.0: 3160 + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} 3161 + engines: {node: '>=16'} 3162 + 3163 + type-fest@5.4.4: 3164 + resolution: {integrity: sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==} 3165 + engines: {node: '>=20'} 3166 + 3167 + type-is@2.0.1: 3168 + resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} 3169 + engines: {node: '>= 0.6'} 3170 + 3171 + typescript-eslint@8.56.1: 3172 + resolution: {integrity: sha512-U4lM6pjmBX7J5wk4szltF7I1cGBHXZopnAXCMXb3+fZ3B/0Z3hq3wS/CCUB2NZBNAExK92mCU2tEohWuwVMsDQ==} 3173 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 3174 + peerDependencies: 3175 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 3176 + typescript: '>=4.8.4 <6.0.0' 3177 + 3178 + typescript@5.9.3: 3179 + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 3180 + engines: {node: '>=14.17'} 3181 + hasBin: true 3182 + 3183 + uglify-js@3.19.3: 3184 + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} 3185 + engines: {node: '>=0.8.0'} 3186 + hasBin: true 3187 + 3188 + uid-safe@2.1.5: 3189 + resolution: {integrity: sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==} 3190 + engines: {node: '>= 0.8'} 3191 + 3192 + uint8array-extras@1.5.0: 3193 + resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} 3194 + engines: {node: '>=18'} 3195 + 3196 + uint8arrays@3.0.0: 3197 + resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==} 3198 + 3199 + undici-types@7.16.0: 3200 + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} 3201 + 3202 + undici@6.23.0: 3203 + resolution: {integrity: sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==} 3204 + engines: {node: '>=18.17'} 3205 + 3206 + unicode-segmenter@0.14.5: 3207 + resolution: {integrity: sha512-jHGmj2LUuqDcX3hqY12Ql+uhUTn8huuxNZGq7GvtF6bSybzH3aFgedYu/KTzQStEgt1Ra2F3HxadNXsNjb3m3g==} 3208 + 3209 + unicorn-magic@0.3.0: 3210 + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} 3211 + engines: {node: '>=18'} 3212 + 3213 + unicorn-magic@0.4.0: 3214 + resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} 3215 + engines: {node: '>=20'} 3216 + 3217 + unpipe@1.0.0: 3218 + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 3219 + engines: {node: '>= 0.8'} 3220 + 3221 + update-browserslist-db@1.2.3: 3222 + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} 3223 + hasBin: true 3224 + peerDependencies: 3225 + browserslist: '>= 4.21.0' 3226 + 3227 + uri-js@4.4.1: 3228 + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 3229 + 3230 + util-deprecate@1.0.2: 3231 + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 3232 + 3233 + validate-npm-package-license@3.0.4: 3234 + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 3235 + 3236 + validator@13.15.26: 3237 + resolution: {integrity: sha512-spH26xU080ydGggxRyR1Yhcbgx+j3y5jbNXk/8L+iRvdIEQ4uTRH2Sgf2dokud6Q4oAtsbNvJ1Ft+9xmm6IZcA==} 3238 + engines: {node: '>= 0.10'} 3239 + 3240 + varint@6.0.0: 3241 + resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} 3242 + 3243 + vary@1.1.2: 3244 + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 3245 + engines: {node: '>= 0.8'} 3246 + 3247 + vite-plugin-restart@2.0.0: 3248 + resolution: {integrity: sha512-OYsD89msjtd72HHpXnidZmQ+14ztJR74IxQq9aPa48LUx3IeukS+NmnVtk+/VaNoYQJLnTFWG3Sbq/AEwaAyeQ==} 3249 + peerDependencies: 3250 + vite: ^2.9.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 3251 + 3252 + vite@7.3.1: 3253 + resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} 3254 + engines: {node: ^20.19.0 || >=22.12.0} 3255 + hasBin: true 3256 + peerDependencies: 3257 + '@types/node': ^20.19.0 || >=22.12.0 3258 + jiti: '>=1.21.0' 3259 + less: ^4.0.0 3260 + lightningcss: ^1.21.0 3261 + sass: ^1.70.0 3262 + sass-embedded: ^1.70.0 3263 + stylus: '>=0.54.8' 3264 + sugarss: ^5.0.0 3265 + terser: ^5.16.0 3266 + tsx: ^4.8.1 3267 + yaml: ^2.4.2 3268 + peerDependenciesMeta: 3269 + '@types/node': 3270 + optional: true 3271 + jiti: 3272 + optional: true 3273 + less: 3274 + optional: true 3275 + lightningcss: 3276 + optional: true 3277 + sass: 3278 + optional: true 3279 + sass-embedded: 3280 + optional: true 3281 + stylus: 3282 + optional: true 3283 + sugarss: 3284 + optional: true 3285 + terser: 3286 + optional: true 3287 + tsx: 3288 + optional: true 3289 + yaml: 3290 + optional: true 3291 + 3292 + vscode-uri@3.1.0: 3293 + resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} 3294 + 3295 + vue-sonner@2.0.9: 3296 + resolution: {integrity: sha512-i6BokNlNDL93fpzNxN/LZSn6D6MzlO+i3qXt6iVZne3x1k7R46d5HlFB4P8tYydhgqOrRbIZEsnRd3kG7qGXyw==} 3297 + peerDependencies: 3298 + '@nuxt/kit': ^4.0.3 3299 + '@nuxt/schema': ^4.0.3 3300 + nuxt: ^4.0.3 3301 + peerDependenciesMeta: 3302 + '@nuxt/kit': 3303 + optional: true 3304 + '@nuxt/schema': 3305 + optional: true 3306 + nuxt: 3307 + optional: true 3308 + 3309 + vue-tsc@3.2.5: 3310 + resolution: {integrity: sha512-/htfTCMluQ+P2FISGAooul8kO4JMheOTCbCy4M6dYnYYjqLe3BExZudAua6MSIKSFYQtFOYAll7XobYwcpokGA==} 3311 + hasBin: true 3312 + peerDependencies: 3313 + typescript: '>=5.0.0' 3314 + 3315 + vue@3.5.29: 3316 + resolution: {integrity: sha512-BZqN4Ze6mDQVNAni0IHeMJ5mwr8VAJ3MQC9FmprRhcBYENw+wOAAjRj8jfmN6FLl0j96OXbR+CjWhmAmM+QGnA==} 3317 + peerDependencies: 3318 + typescript: '*' 3319 + peerDependenciesMeta: 3320 + typescript: 3321 + optional: true 3322 + 3323 + which@2.0.2: 3324 + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3325 + engines: {node: '>= 8'} 3326 + hasBin: true 3327 + 3328 + word-wrap@1.2.5: 3329 + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 3330 + engines: {node: '>=0.10.0'} 3331 + 3332 + wrap-ansi@10.0.0: 3333 + resolution: {integrity: sha512-SGcvg80f0wUy2/fXES19feHMz8E0JoXv2uNgHOu4Dgi2OrCy1lqwFYEJz1BLbDI0exjPMe/ZdzZ/YpGECBG/aQ==} 3334 + engines: {node: '>=20'} 3335 + 3336 + wrap-ansi@7.0.0: 3337 + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3338 + engines: {node: '>=10'} 3339 + 3340 + wrappy@1.0.2: 3341 + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3342 + 3343 + wsl-utils@0.3.1: 3344 + resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==} 3345 + engines: {node: '>=20'} 3346 + 3347 + y18n@5.0.8: 3348 + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 3349 + engines: {node: '>=10'} 3350 + 3351 + yargs-parser@21.1.1: 3352 + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 3353 + engines: {node: '>=12'} 3354 + 3355 + yargs-parser@22.0.0: 3356 + resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} 3357 + engines: {node: ^20.19.0 || ^22.12.0 || >=23} 3358 + 3359 + yargs@17.7.2: 3360 + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 3361 + engines: {node: '>=12'} 3362 + 3363 + yocto-queue@0.1.0: 3364 + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 3365 + engines: {node: '>=10'} 3366 + 3367 + yoctocolors@2.1.2: 3368 + resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} 3369 + engines: {node: '>=18'} 3370 + 3371 + youch-core@0.3.3: 3372 + resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} 3373 + 3374 + youch@4.1.0: 3375 + resolution: {integrity: sha512-cYekNh2tUoU+voS11X0D0UQntVCSO6LQ1h10VriQGmfbpf0mnGTruwZICts23UUNiZCXm8H8hQBtRrdsbhuNNg==} 3376 + 3377 + zod@3.25.76: 3378 + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} 3379 + 3380 + snapshots: 3381 + 3382 + '@adobe/css-tools@4.4.4': {} 3383 + 3384 + '@adonisjs/ace@14.0.1(youch@4.1.0)': 3385 + dependencies: 3386 + '@poppinss/cliui': 6.7.0 3387 + '@poppinss/hooks': 7.3.0 3388 + '@poppinss/macroable': 1.1.0 3389 + '@poppinss/prompts': 3.1.6 3390 + '@poppinss/utils': 7.0.1 3391 + fastest-levenshtein: 1.0.16 3392 + jsonschema: 1.5.0 3393 + string-width: 8.2.0 3394 + yargs-parser: 22.0.0 3395 + youch: 4.1.0 3396 + 3397 + '@adonisjs/application@9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0)': 3398 + dependencies: 3399 + '@adonisjs/config': 6.1.0 3400 + '@adonisjs/fold': 11.0.0 3401 + '@poppinss/hooks': 7.3.0 3402 + '@poppinss/macroable': 1.1.0 3403 + '@poppinss/utils': 7.0.1 3404 + glob-parent: 6.0.2 3405 + tempura: 0.4.1 3406 + optionalDependencies: 3407 + '@adonisjs/assembler': 8.0.0(typescript@5.9.3) 3408 + 3409 + '@adonisjs/assembler@8.0.0(typescript@5.9.3)': 3410 + dependencies: 3411 + '@adonisjs/env': 7.0.0 3412 + '@antfu/install-pkg': 1.1.0 3413 + '@ast-grep/napi': 0.41.0 3414 + '@poppinss/cliui': 6.7.0 3415 + '@poppinss/hooks': 7.3.0 3416 + '@poppinss/utils': 7.0.1 3417 + chokidar: 5.0.0 3418 + dedent: 1.7.1 3419 + execa: 9.6.1 3420 + fast-glob: 3.3.3 3421 + fdir: 6.5.0(picomatch@4.0.3) 3422 + get-port: 7.1.0 3423 + get-tsconfig: 4.13.6 3424 + import-meta-resolve: 4.2.0 3425 + junk: 4.0.1 3426 + open: 11.0.0 3427 + parse-imports: 3.0.0 3428 + picomatch: 4.0.3 3429 + pretty-hrtime: 1.0.3 3430 + tmp-cache: 1.1.0 3431 + ts-morph: 27.0.2 3432 + typescript: 5.9.3 3433 + transitivePeerDependencies: 3434 + - babel-plugin-macros 3435 + 3436 + '@adonisjs/auth@10.0.0(7a795e257a369dca83d66a2101ce9b7c)': 3437 + dependencies: 3438 + '@adonisjs/core': 7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0) 3439 + '@adonisjs/presets': 3.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0)) 3440 + basic-auth: 2.0.1 3441 + optionalDependencies: 3442 + '@adonisjs/assembler': 8.0.0(typescript@5.9.3) 3443 + '@adonisjs/lucid': 22.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@vinejs/vine@4.3.0)(better-sqlite3@12.6.2)(luxon@3.7.2) 3444 + '@adonisjs/session': 8.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@adonisjs/lucid@22.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@vinejs/vine@4.3.0)(better-sqlite3@12.6.2)(luxon@3.7.2))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/plugin-adonisjs@5.1.0(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/runner@5.3.0)(playwright@1.58.2))(edge.js@6.5.0) 3445 + '@japa/browser-client': 2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2) 3446 + '@japa/plugin-adonisjs': 5.1.0(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/runner@5.3.0)(playwright@1.58.2) 3447 + 3448 + '@adonisjs/bodyparser@11.0.0(@adonisjs/http-server@8.0.0(@adonisjs/application@9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0))(@adonisjs/events@10.1.0(@adonisjs/application@9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0))(@adonisjs/fold@11.0.0))(@adonisjs/fold@11.0.0)(@adonisjs/logger@7.1.0(pino-pretty@13.1.3))(@boringnode/encryption@1.0.0)(youch@4.1.0))': 3449 + dependencies: 3450 + '@adonisjs/http-server': 8.0.0(@adonisjs/application@9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0))(@adonisjs/events@10.1.0(@adonisjs/application@9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0))(@adonisjs/fold@11.0.0))(@adonisjs/fold@11.0.0)(@adonisjs/logger@7.1.0(pino-pretty@13.1.3))(@boringnode/encryption@1.0.0)(youch@4.1.0) 3451 + '@poppinss/macroable': 1.1.0 3452 + '@poppinss/middleware': 3.2.7 3453 + '@poppinss/multiparty': 3.0.0 3454 + '@poppinss/qs': 6.15.0 3455 + '@poppinss/utils': 7.0.1 3456 + file-type: 21.3.0 3457 + inflation: 2.1.0 3458 + media-typer: 1.1.0 3459 + raw-body: 3.0.2 3460 + transitivePeerDependencies: 3461 + - supports-color 3462 + 3463 + '@adonisjs/config@6.1.0': 3464 + dependencies: 3465 + '@poppinss/utils': 7.0.1 3466 + 3467 + '@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0)': 3468 + dependencies: 3469 + '@adonisjs/ace': 14.0.1(youch@4.1.0) 3470 + '@adonisjs/application': 9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0) 3471 + '@adonisjs/bodyparser': 11.0.0(@adonisjs/http-server@8.0.0(@adonisjs/application@9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0))(@adonisjs/events@10.1.0(@adonisjs/application@9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0))(@adonisjs/fold@11.0.0))(@adonisjs/fold@11.0.0)(@adonisjs/logger@7.1.0(pino-pretty@13.1.3))(@boringnode/encryption@1.0.0)(youch@4.1.0)) 3472 + '@adonisjs/config': 6.1.0 3473 + '@adonisjs/env': 7.0.0 3474 + '@adonisjs/events': 10.1.0(@adonisjs/application@9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0))(@adonisjs/fold@11.0.0) 3475 + '@adonisjs/fold': 11.0.0 3476 + '@adonisjs/hash': 10.0.0 3477 + '@adonisjs/health': 3.1.0 3478 + '@adonisjs/http-server': 8.0.0(@adonisjs/application@9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0))(@adonisjs/events@10.1.0(@adonisjs/application@9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0))(@adonisjs/fold@11.0.0))(@adonisjs/fold@11.0.0)(@adonisjs/logger@7.1.0(pino-pretty@13.1.3))(@boringnode/encryption@1.0.0)(youch@4.1.0) 3479 + '@adonisjs/http-transformers': 2.3.1(@adonisjs/fold@11.0.0) 3480 + '@adonisjs/logger': 7.1.0(pino-pretty@13.1.3) 3481 + '@adonisjs/repl': 5.0.0 3482 + '@boringnode/encryption': 1.0.0 3483 + '@poppinss/colors': 4.1.6 3484 + '@poppinss/dumper': 0.7.0 3485 + '@poppinss/macroable': 1.1.0 3486 + '@poppinss/utils': 7.0.1 3487 + '@sindresorhus/is': 7.2.0 3488 + '@types/he': 1.2.3 3489 + error-stack-parser-es: 1.0.5 3490 + he: 1.2.0 3491 + pretty-hrtime: 1.0.3 3492 + string-width: 8.2.0 3493 + optionalDependencies: 3494 + '@adonisjs/assembler': 8.0.0(typescript@5.9.3) 3495 + '@vinejs/vine': 4.3.0 3496 + edge.js: 6.5.0 3497 + pino-pretty: 13.1.3 3498 + youch: 4.1.0 3499 + transitivePeerDependencies: 3500 + - supports-color 3501 + 3502 + '@adonisjs/cors@3.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))': 3503 + dependencies: 3504 + '@adonisjs/core': 7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0) 3505 + optionalDependencies: 3506 + '@adonisjs/assembler': 8.0.0(typescript@5.9.3) 3507 + 3508 + '@adonisjs/env@7.0.0': 3509 + dependencies: 3510 + '@poppinss/utils': 7.0.1 3511 + '@poppinss/validator-lite': 2.1.2 3512 + split-lines: 3.0.0 3513 + 3514 + '@adonisjs/eslint-config@3.0.0(eslint@10.0.2)(prettier@3.8.1)(typescript@5.9.3)': 3515 + dependencies: 3516 + '@adonisjs/eslint-plugin': 2.2.2(eslint@10.0.2)(typescript@5.9.3) 3517 + '@stylistic/eslint-plugin': 5.9.0(eslint@10.0.2) 3518 + eslint: 10.0.2 3519 + eslint-config-prettier: 10.1.8(eslint@10.0.2) 3520 + eslint-plugin-prettier: 5.5.5(eslint-config-prettier@10.1.8(eslint@10.0.2))(eslint@10.0.2)(prettier@3.8.1) 3521 + eslint-plugin-unicorn: 63.0.0(eslint@10.0.2) 3522 + prettier: 3.8.1 3523 + typescript-eslint: 8.56.1(eslint@10.0.2)(typescript@5.9.3) 3524 + transitivePeerDependencies: 3525 + - '@types/eslint' 3526 + - supports-color 3527 + - typescript 3528 + 3529 + '@adonisjs/eslint-plugin@2.2.2(eslint@10.0.2)(typescript@5.9.3)': 3530 + dependencies: 3531 + '@typescript-eslint/utils': 8.56.1(eslint@10.0.2)(typescript@5.9.3) 3532 + eslint: 10.0.2 3533 + micromatch: 4.0.8 3534 + read-package-up: 12.0.0 3535 + transitivePeerDependencies: 3536 + - supports-color 3537 + - typescript 3538 + 3539 + '@adonisjs/events@10.1.0(@adonisjs/application@9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0))(@adonisjs/fold@11.0.0)': 3540 + dependencies: 3541 + '@adonisjs/application': 9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0) 3542 + '@adonisjs/fold': 11.0.0 3543 + '@poppinss/utils': 7.0.1 3544 + '@sindresorhus/is': 7.2.0 3545 + emittery: 1.2.1 3546 + 3547 + '@adonisjs/fold@11.0.0': 3548 + dependencies: 3549 + '@poppinss/utils': 7.0.1 3550 + parse-imports: 3.0.0 3551 + 3552 + '@adonisjs/hash@10.0.0': 3553 + dependencies: 3554 + '@phc/format': 1.0.0 3555 + '@poppinss/utils': 7.0.1 3556 + 3557 + '@adonisjs/health@3.1.0': 3558 + dependencies: 3559 + '@poppinss/utils': 7.0.1 3560 + check-disk-space: 3.4.0 3561 + 3562 + '@adonisjs/http-server@8.0.0(@adonisjs/application@9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0))(@adonisjs/events@10.1.0(@adonisjs/application@9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0))(@adonisjs/fold@11.0.0))(@adonisjs/fold@11.0.0)(@adonisjs/logger@7.1.0(pino-pretty@13.1.3))(@boringnode/encryption@1.0.0)(youch@4.1.0)': 3563 + dependencies: 3564 + '@adonisjs/application': 9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0) 3565 + '@adonisjs/events': 10.1.0(@adonisjs/application@9.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/config@6.1.0)(@adonisjs/fold@11.0.0))(@adonisjs/fold@11.0.0) 3566 + '@adonisjs/fold': 11.0.0 3567 + '@adonisjs/logger': 7.1.0(pino-pretty@13.1.3) 3568 + '@boringnode/encryption': 1.0.0 3569 + '@poppinss/macroable': 1.1.0 3570 + '@poppinss/matchit': 3.2.0 3571 + '@poppinss/middleware': 3.2.7 3572 + '@poppinss/qs': 6.15.0 3573 + '@poppinss/utils': 7.0.1 3574 + '@sindresorhus/is': 7.2.0 3575 + content-disposition: 1.0.1 3576 + cookie-es: 2.0.0 3577 + destroy: 1.2.0 3578 + encodeurl: 2.0.0 3579 + etag: 1.8.1 3580 + fresh: 0.5.2 3581 + mime-types: 3.0.2 3582 + on-finished: 2.4.1 3583 + proxy-addr: 2.0.7 3584 + tmp-cache: 1.1.0 3585 + type-is: 2.0.1 3586 + vary: 1.1.2 3587 + optionalDependencies: 3588 + youch: 4.1.0 3589 + 3590 + '@adonisjs/http-transformers@2.3.1(@adonisjs/fold@11.0.0)': 3591 + dependencies: 3592 + '@adonisjs/fold': 11.0.0 3593 + '@poppinss/exception': 1.2.3 3594 + '@poppinss/types': 1.2.1 3595 + 3596 + '@adonisjs/inertia@4.1.0(2f8d1c79f297068b57529b94992ba956)': 3597 + dependencies: 3598 + '@adonisjs/core': 7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0) 3599 + '@adonisjs/session': 8.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@adonisjs/lucid@22.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@vinejs/vine@4.3.0)(better-sqlite3@12.6.2)(luxon@3.7.2))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/plugin-adonisjs@5.1.0(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/runner@5.3.0)(playwright@1.58.2))(edge.js@6.5.0) 3600 + '@adonisjs/vite': 5.1.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@adonisjs/shield@9.0.0(2974f212515c0e83b2d07b7b39656372))(edge.js@6.5.0)(vite@7.3.1(@types/node@24.11.0)) 3601 + '@poppinss/utils': 7.0.1 3602 + edge-error: 4.0.2 3603 + edge.js: 6.5.0 3604 + html-entities: 2.6.0 3605 + optionalDependencies: 3606 + '@adonisjs/assembler': 8.0.0(typescript@5.9.3) 3607 + '@inertiajs/vue3': 2.3.17(vue@3.5.29(typescript@5.9.3)) 3608 + '@japa/plugin-adonisjs': 5.1.0(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/runner@5.3.0)(playwright@1.58.2) 3609 + '@tuyau/core': 1.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0)) 3610 + vue: 3.5.29(typescript@5.9.3) 3611 + 3612 + '@adonisjs/logger@7.1.0(pino-pretty@13.1.3)': 3613 + dependencies: 3614 + '@poppinss/utils': 7.0.1 3615 + abstract-logging: 2.0.1 3616 + pino: 10.3.1 3617 + optionalDependencies: 3618 + pino-pretty: 13.1.3 3619 + 3620 + '@adonisjs/lucid@22.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@vinejs/vine@4.3.0)(better-sqlite3@12.6.2)(luxon@3.7.2)': 3621 + dependencies: 3622 + '@adonisjs/core': 7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0) 3623 + '@adonisjs/presets': 3.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0)) 3624 + '@faker-js/faker': 10.3.0 3625 + '@poppinss/hooks': 7.3.0 3626 + '@poppinss/macroable': 1.1.0 3627 + '@poppinss/qs': 6.15.0 3628 + '@poppinss/utils': 7.0.1 3629 + deepmerge: 4.3.1 3630 + fast-deep-equal: 3.1.3 3631 + igniculus: 1.5.0 3632 + kleur: 4.1.5 3633 + knex: 3.1.0(better-sqlite3@12.6.2) 3634 + knex-dynamic-connection: 4.0.0-next.0(better-sqlite3@12.6.2) 3635 + pretty-hrtime: 1.0.3 3636 + slash: 5.1.0 3637 + tarn: 3.0.2 3638 + optionalDependencies: 3639 + '@adonisjs/assembler': 8.0.0(typescript@5.9.3) 3640 + '@vinejs/vine': 4.3.0 3641 + luxon: 3.7.2 3642 + transitivePeerDependencies: 3643 + - better-sqlite3 3644 + - mysql 3645 + - mysql2 3646 + - pg 3647 + - pg-native 3648 + - sqlite3 3649 + - supports-color 3650 + - tedious 3651 + 3652 + '@adonisjs/presets@3.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))': 3653 + dependencies: 3654 + '@adonisjs/core': 7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0) 3655 + optionalDependencies: 3656 + '@adonisjs/assembler': 8.0.0(typescript@5.9.3) 3657 + 3658 + '@adonisjs/prettier-config@1.4.5': 3659 + dependencies: 3660 + prettier-plugin-edgejs: 1.0.6 3661 + 3662 + '@adonisjs/repl@5.0.0': 3663 + dependencies: 3664 + '@poppinss/colors': 4.1.6 3665 + string-width: 8.2.0 3666 + 3667 + '@adonisjs/session@8.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@adonisjs/lucid@22.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@vinejs/vine@4.3.0)(better-sqlite3@12.6.2)(luxon@3.7.2))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/plugin-adonisjs@5.1.0(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/runner@5.3.0)(playwright@1.58.2))(edge.js@6.5.0)': 3668 + dependencies: 3669 + '@adonisjs/core': 7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0) 3670 + '@poppinss/macroable': 1.1.0 3671 + '@poppinss/utils': 7.0.1 3672 + optionalDependencies: 3673 + '@adonisjs/assembler': 8.0.0(typescript@5.9.3) 3674 + '@adonisjs/lucid': 22.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@vinejs/vine@4.3.0)(better-sqlite3@12.6.2)(luxon@3.7.2) 3675 + '@japa/browser-client': 2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2) 3676 + '@japa/plugin-adonisjs': 5.1.0(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/runner@5.3.0)(playwright@1.58.2) 3677 + edge.js: 6.5.0 3678 + 3679 + '@adonisjs/shield@9.0.0(2974f212515c0e83b2d07b7b39656372)': 3680 + dependencies: 3681 + '@adonisjs/core': 7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0) 3682 + '@adonisjs/session': 8.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@adonisjs/lucid@22.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@vinejs/vine@4.3.0)(better-sqlite3@12.6.2)(luxon@3.7.2))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/plugin-adonisjs@5.1.0(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/runner@5.3.0)(playwright@1.58.2))(edge.js@6.5.0) 3683 + csrf: 3.1.0 3684 + optionalDependencies: 3685 + '@adonisjs/assembler': 8.0.0(typescript@5.9.3) 3686 + '@japa/plugin-adonisjs': 5.1.0(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/runner@5.3.0)(playwright@1.58.2) 3687 + edge.js: 6.5.0 3688 + 3689 + '@adonisjs/static@2.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))': 3690 + dependencies: 3691 + '@adonisjs/core': 7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0) 3692 + serve-static: 2.2.1 3693 + optionalDependencies: 3694 + '@adonisjs/assembler': 8.0.0(typescript@5.9.3) 3695 + transitivePeerDependencies: 3696 + - supports-color 3697 + 3698 + '@adonisjs/tsconfig@2.0.0': {} 3699 + 3700 + '@adonisjs/vite@5.1.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@adonisjs/shield@9.0.0(2974f212515c0e83b2d07b7b39656372))(edge.js@6.5.0)(vite@7.3.1(@types/node@24.11.0))': 3701 + dependencies: 3702 + '@adonisjs/core': 7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0) 3703 + '@poppinss/utils': 7.0.1 3704 + edge-error: 4.0.2 3705 + vite: 7.3.1(@types/node@24.11.0) 3706 + vite-plugin-restart: 2.0.0(vite@7.3.1(@types/node@24.11.0)) 3707 + optionalDependencies: 3708 + '@adonisjs/assembler': 8.0.0(typescript@5.9.3) 3709 + '@adonisjs/shield': 9.0.0(2974f212515c0e83b2d07b7b39656372) 3710 + edge.js: 6.5.0 3711 + 3712 + '@antfu/install-pkg@1.1.0': 3713 + dependencies: 3714 + package-manager-detector: 1.6.0 3715 + tinyexec: 1.0.2 3716 + 3717 + '@arr/every@1.0.1': {} 3718 + 3719 + '@ast-grep/napi-darwin-arm64@0.41.0': 3720 + optional: true 3721 + 3722 + '@ast-grep/napi-darwin-x64@0.41.0': 3723 + optional: true 3724 + 3725 + '@ast-grep/napi-linux-arm64-gnu@0.41.0': 3726 + optional: true 3727 + 3728 + '@ast-grep/napi-linux-arm64-musl@0.41.0': 3729 + optional: true 3730 + 3731 + '@ast-grep/napi-linux-x64-gnu@0.41.0': 3732 + optional: true 3733 + 3734 + '@ast-grep/napi-linux-x64-musl@0.41.0': 3735 + optional: true 3736 + 3737 + '@ast-grep/napi-win32-arm64-msvc@0.41.0': 3738 + optional: true 3739 + 3740 + '@ast-grep/napi-win32-ia32-msvc@0.41.0': 3741 + optional: true 3742 + 3743 + '@ast-grep/napi-win32-x64-msvc@0.41.0': 3744 + optional: true 3745 + 3746 + '@ast-grep/napi@0.41.0': 3747 + optionalDependencies: 3748 + '@ast-grep/napi-darwin-arm64': 0.41.0 3749 + '@ast-grep/napi-darwin-x64': 0.41.0 3750 + '@ast-grep/napi-linux-arm64-gnu': 0.41.0 3751 + '@ast-grep/napi-linux-arm64-musl': 0.41.0 3752 + '@ast-grep/napi-linux-x64-gnu': 0.41.0 3753 + '@ast-grep/napi-linux-x64-musl': 0.41.0 3754 + '@ast-grep/napi-win32-arm64-msvc': 0.41.0 3755 + '@ast-grep/napi-win32-ia32-msvc': 0.41.0 3756 + '@ast-grep/napi-win32-x64-msvc': 0.41.0 3757 + 3758 + '@atproto-labs/did-resolver@0.2.6': 3759 + dependencies: 3760 + '@atproto-labs/fetch': 0.2.3 3761 + '@atproto-labs/pipe': 0.1.1 3762 + '@atproto-labs/simple-store': 0.3.0 3763 + '@atproto-labs/simple-store-memory': 0.1.4 3764 + '@atproto/did': 0.3.0 3765 + zod: 3.25.76 3766 + 3767 + '@atproto-labs/fetch-node@0.2.0': 3768 + dependencies: 3769 + '@atproto-labs/fetch': 0.2.3 3770 + '@atproto-labs/pipe': 0.1.1 3771 + ipaddr.js: 2.3.0 3772 + undici: 6.23.0 3773 + 3774 + '@atproto-labs/fetch@0.2.3': 3775 + dependencies: 3776 + '@atproto-labs/pipe': 0.1.1 3777 + 3778 + '@atproto-labs/handle-resolver-node@0.1.25': 3779 + dependencies: 3780 + '@atproto-labs/fetch-node': 0.2.0 3781 + '@atproto-labs/handle-resolver': 0.3.6 3782 + '@atproto/did': 0.3.0 3783 + 3784 + '@atproto-labs/handle-resolver@0.3.6': 3785 + dependencies: 3786 + '@atproto-labs/simple-store': 0.3.0 3787 + '@atproto-labs/simple-store-memory': 0.1.4 3788 + '@atproto/did': 0.3.0 3789 + zod: 3.25.76 3790 + 3791 + '@atproto-labs/identity-resolver@0.3.6': 3792 + dependencies: 3793 + '@atproto-labs/did-resolver': 0.2.6 3794 + '@atproto-labs/handle-resolver': 0.3.6 3795 + 3796 + '@atproto-labs/pipe@0.1.1': {} 3797 + 3798 + '@atproto-labs/simple-store-memory@0.1.4': 3799 + dependencies: 3800 + '@atproto-labs/simple-store': 0.3.0 3801 + lru-cache: 10.4.3 3802 + 3803 + '@atproto-labs/simple-store@0.3.0': {} 3804 + 3805 + '@atproto/common-web@0.4.17': 3806 + dependencies: 3807 + '@atproto/lex-data': 0.0.12 3808 + '@atproto/lex-json': 0.0.12 3809 + '@atproto/syntax': 0.4.3 3810 + zod: 3.25.76 3811 + 3812 + '@atproto/common@0.5.13': 3813 + dependencies: 3814 + '@atproto/common-web': 0.4.17 3815 + '@atproto/lex-cbor': 0.0.13 3816 + '@atproto/lex-data': 0.0.12 3817 + iso-datestring-validator: 2.2.2 3818 + multiformats: 9.9.0 3819 + pino: 8.21.0 3820 + 3821 + '@atproto/crypto@0.4.5': 3822 + dependencies: 3823 + '@noble/curves': 1.9.7 3824 + '@noble/hashes': 1.8.0 3825 + uint8arrays: 3.0.0 3826 + 3827 + '@atproto/did@0.3.0': 3828 + dependencies: 3829 + zod: 3.25.76 3830 + 3831 + '@atproto/jwk-jose@0.1.11': 3832 + dependencies: 3833 + '@atproto/jwk': 0.6.0 3834 + jose: 5.10.0 3835 + 3836 + '@atproto/jwk-webcrypto@0.2.0': 3837 + dependencies: 3838 + '@atproto/jwk': 0.6.0 3839 + '@atproto/jwk-jose': 0.1.11 3840 + zod: 3.25.76 3841 + 3842 + '@atproto/jwk@0.6.0': 3843 + dependencies: 3844 + multiformats: 9.9.0 3845 + zod: 3.25.76 3846 + 3847 + '@atproto/lex-builder@0.0.16': 3848 + dependencies: 3849 + '@atproto/lex-document': 0.0.14 3850 + '@atproto/lex-schema': 0.0.13 3851 + prettier: 3.8.1 3852 + ts-morph: 27.0.2 3853 + tslib: 2.8.1 3854 + 3855 + '@atproto/lex-cbor@0.0.13': 3856 + dependencies: 3857 + '@atproto/lex-data': 0.0.12 3858 + tslib: 2.8.1 3859 + 3860 + '@atproto/lex-client@0.0.14': 3861 + dependencies: 3862 + '@atproto/lex-data': 0.0.12 3863 + '@atproto/lex-json': 0.0.12 3864 + '@atproto/lex-schema': 0.0.13 3865 + tslib: 2.8.1 3866 + 3867 + '@atproto/lex-data@0.0.12': 3868 + dependencies: 3869 + multiformats: 9.9.0 3870 + tslib: 2.8.1 3871 + uint8arrays: 3.0.0 3872 + unicode-segmenter: 0.14.5 3873 + 3874 + '@atproto/lex-document@0.0.14': 3875 + dependencies: 3876 + '@atproto/lex-schema': 0.0.13 3877 + core-js: 3.48.0 3878 + tslib: 2.8.1 3879 + 3880 + '@atproto/lex-installer@0.0.19': 3881 + dependencies: 3882 + '@atproto/lex-builder': 0.0.16 3883 + '@atproto/lex-cbor': 0.0.13 3884 + '@atproto/lex-data': 0.0.12 3885 + '@atproto/lex-document': 0.0.14 3886 + '@atproto/lex-resolver': 0.0.16 3887 + '@atproto/lex-schema': 0.0.13 3888 + '@atproto/syntax': 0.4.3 3889 + tslib: 2.8.1 3890 + 3891 + '@atproto/lex-json@0.0.12': 3892 + dependencies: 3893 + '@atproto/lex-data': 0.0.12 3894 + tslib: 2.8.1 3895 + 3896 + '@atproto/lex-resolver@0.0.16': 3897 + dependencies: 3898 + '@atproto-labs/did-resolver': 0.2.6 3899 + '@atproto/crypto': 0.4.5 3900 + '@atproto/lex-client': 0.0.14 3901 + '@atproto/lex-data': 0.0.12 3902 + '@atproto/lex-document': 0.0.14 3903 + '@atproto/lex-schema': 0.0.13 3904 + '@atproto/repo': 0.8.12 3905 + '@atproto/syntax': 0.4.3 3906 + tslib: 2.8.1 3907 + 3908 + '@atproto/lex-schema@0.0.13': 3909 + dependencies: 3910 + '@atproto/lex-data': 0.0.12 3911 + '@atproto/syntax': 0.4.3 3912 + tslib: 2.8.1 3913 + 3914 + '@atproto/lex@0.0.19': 3915 + dependencies: 3916 + '@atproto/lex-builder': 0.0.16 3917 + '@atproto/lex-client': 0.0.14 3918 + '@atproto/lex-data': 0.0.12 3919 + '@atproto/lex-installer': 0.0.19 3920 + '@atproto/lex-json': 0.0.12 3921 + '@atproto/lex-schema': 0.0.13 3922 + tslib: 2.8.1 3923 + yargs: 17.7.2 3924 + 3925 + '@atproto/lexicon@0.6.1': 3926 + dependencies: 3927 + '@atproto/common-web': 0.4.17 3928 + '@atproto/syntax': 0.4.3 3929 + iso-datestring-validator: 2.2.2 3930 + multiformats: 9.9.0 3931 + zod: 3.25.76 3932 + 3933 + '@atproto/oauth-client-node@0.3.17': 3934 + dependencies: 3935 + '@atproto-labs/did-resolver': 0.2.6 3936 + '@atproto-labs/handle-resolver-node': 0.1.25 3937 + '@atproto-labs/simple-store': 0.3.0 3938 + '@atproto/did': 0.3.0 3939 + '@atproto/jwk': 0.6.0 3940 + '@atproto/jwk-jose': 0.1.11 3941 + '@atproto/jwk-webcrypto': 0.2.0 3942 + '@atproto/oauth-client': 0.6.0 3943 + '@atproto/oauth-types': 0.6.3 3944 + 3945 + '@atproto/oauth-client@0.6.0': 3946 + dependencies: 3947 + '@atproto-labs/did-resolver': 0.2.6 3948 + '@atproto-labs/fetch': 0.2.3 3949 + '@atproto-labs/handle-resolver': 0.3.6 3950 + '@atproto-labs/identity-resolver': 0.3.6 3951 + '@atproto-labs/simple-store': 0.3.0 3952 + '@atproto-labs/simple-store-memory': 0.1.4 3953 + '@atproto/did': 0.3.0 3954 + '@atproto/jwk': 0.6.0 3955 + '@atproto/oauth-types': 0.6.3 3956 + '@atproto/xrpc': 0.7.7 3957 + core-js: 3.48.0 3958 + multiformats: 9.9.0 3959 + zod: 3.25.76 3960 + 3961 + '@atproto/oauth-types@0.6.3': 3962 + dependencies: 3963 + '@atproto/did': 0.3.0 3964 + '@atproto/jwk': 0.6.0 3965 + zod: 3.25.76 3966 + 3967 + '@atproto/repo@0.8.12': 3968 + dependencies: 3969 + '@atproto/common': 0.5.13 3970 + '@atproto/common-web': 0.4.17 3971 + '@atproto/crypto': 0.4.5 3972 + '@atproto/lexicon': 0.6.1 3973 + '@ipld/dag-cbor': 7.0.3 3974 + multiformats: 9.9.0 3975 + uint8arrays: 3.0.0 3976 + varint: 6.0.0 3977 + zod: 3.25.76 3978 + 3979 + '@atproto/syntax@0.4.3': 3980 + dependencies: 3981 + tslib: 2.8.1 3982 + 3983 + '@atproto/xrpc@0.7.7': 3984 + dependencies: 3985 + '@atproto/lexicon': 0.6.1 3986 + zod: 3.25.76 3987 + 3988 + '@babel/code-frame@7.29.0': 3989 + dependencies: 3990 + '@babel/helper-validator-identifier': 7.28.5 3991 + js-tokens: 4.0.0 3992 + picocolors: 1.1.1 3993 + 3994 + '@babel/helper-string-parser@7.27.1': {} 3995 + 3996 + '@babel/helper-validator-identifier@7.28.5': {} 3997 + 3998 + '@babel/parser@7.29.0': 3999 + dependencies: 4000 + '@babel/types': 7.29.0 4001 + 4002 + '@babel/types@7.29.0': 4003 + dependencies: 4004 + '@babel/helper-string-parser': 7.27.1 4005 + '@babel/helper-validator-identifier': 7.28.5 4006 + 4007 + '@borewit/text-codec@0.2.1': {} 4008 + 4009 + '@boringnode/encryption@1.0.0': 4010 + dependencies: 4011 + '@poppinss/utils': 7.0.1 4012 + 4013 + '@chevrotain/cst-dts-gen@11.1.2': 4014 + dependencies: 4015 + '@chevrotain/gast': 11.1.2 4016 + '@chevrotain/types': 11.1.2 4017 + lodash-es: 4.17.23 4018 + 4019 + '@chevrotain/gast@11.1.2': 4020 + dependencies: 4021 + '@chevrotain/types': 11.1.2 4022 + lodash-es: 4.17.23 4023 + 4024 + '@chevrotain/regexp-to-ast@11.1.2': {} 4025 + 4026 + '@chevrotain/types@11.1.2': {} 4027 + 4028 + '@chevrotain/utils@11.1.2': {} 4029 + 4030 + '@colors/colors@1.5.0': 4031 + optional: true 4032 + 4033 + '@esbuild/aix-ppc64@0.27.3': 4034 + optional: true 4035 + 4036 + '@esbuild/android-arm64@0.27.3': 4037 + optional: true 4038 + 4039 + '@esbuild/android-arm@0.27.3': 4040 + optional: true 4041 + 4042 + '@esbuild/android-x64@0.27.3': 4043 + optional: true 4044 + 4045 + '@esbuild/darwin-arm64@0.27.3': 4046 + optional: true 4047 + 4048 + '@esbuild/darwin-x64@0.27.3': 4049 + optional: true 4050 + 4051 + '@esbuild/freebsd-arm64@0.27.3': 4052 + optional: true 4053 + 4054 + '@esbuild/freebsd-x64@0.27.3': 4055 + optional: true 4056 + 4057 + '@esbuild/linux-arm64@0.27.3': 4058 + optional: true 4059 + 4060 + '@esbuild/linux-arm@0.27.3': 4061 + optional: true 4062 + 4063 + '@esbuild/linux-ia32@0.27.3': 4064 + optional: true 4065 + 4066 + '@esbuild/linux-loong64@0.27.3': 4067 + optional: true 4068 + 4069 + '@esbuild/linux-mips64el@0.27.3': 4070 + optional: true 4071 + 4072 + '@esbuild/linux-ppc64@0.27.3': 4073 + optional: true 4074 + 4075 + '@esbuild/linux-riscv64@0.27.3': 4076 + optional: true 4077 + 4078 + '@esbuild/linux-s390x@0.27.3': 4079 + optional: true 4080 + 4081 + '@esbuild/linux-x64@0.27.3': 4082 + optional: true 4083 + 4084 + '@esbuild/netbsd-arm64@0.27.3': 4085 + optional: true 4086 + 4087 + '@esbuild/netbsd-x64@0.27.3': 4088 + optional: true 4089 + 4090 + '@esbuild/openbsd-arm64@0.27.3': 4091 + optional: true 4092 + 4093 + '@esbuild/openbsd-x64@0.27.3': 4094 + optional: true 4095 + 4096 + '@esbuild/openharmony-arm64@0.27.3': 4097 + optional: true 4098 + 4099 + '@esbuild/sunos-x64@0.27.3': 4100 + optional: true 4101 + 4102 + '@esbuild/win32-arm64@0.27.3': 4103 + optional: true 4104 + 4105 + '@esbuild/win32-ia32@0.27.3': 4106 + optional: true 4107 + 4108 + '@esbuild/win32-x64@0.27.3': 4109 + optional: true 4110 + 4111 + '@eslint-community/eslint-utils@4.9.1(eslint@10.0.2)': 4112 + dependencies: 4113 + eslint: 10.0.2 4114 + eslint-visitor-keys: 3.4.3 4115 + 4116 + '@eslint-community/regexpp@4.12.2': {} 4117 + 4118 + '@eslint/config-array@0.23.2': 4119 + dependencies: 4120 + '@eslint/object-schema': 3.0.2 4121 + debug: 4.4.3 4122 + minimatch: 10.2.4 4123 + transitivePeerDependencies: 4124 + - supports-color 4125 + 4126 + '@eslint/config-helpers@0.5.2': 4127 + dependencies: 4128 + '@eslint/core': 1.1.0 4129 + 4130 + '@eslint/core@1.1.0': 4131 + dependencies: 4132 + '@types/json-schema': 7.0.15 4133 + 4134 + '@eslint/object-schema@3.0.2': {} 4135 + 4136 + '@eslint/plugin-kit@0.6.0': 4137 + dependencies: 4138 + '@eslint/core': 1.1.0 4139 + levn: 0.4.1 4140 + 4141 + '@faker-js/faker@10.3.0': {} 4142 + 4143 + '@humanfs/core@0.19.1': {} 4144 + 4145 + '@humanfs/node@0.16.7': 4146 + dependencies: 4147 + '@humanfs/core': 0.19.1 4148 + '@humanwhocodes/retry': 0.4.3 4149 + 4150 + '@humanwhocodes/module-importer@1.0.1': {} 4151 + 4152 + '@humanwhocodes/retry@0.4.3': {} 4153 + 4154 + '@inertiajs/core@2.3.17': 4155 + dependencies: 4156 + '@types/lodash-es': 4.17.12 4157 + axios: 1.13.6 4158 + laravel-precognition: 1.0.2 4159 + lodash-es: 4.17.23 4160 + qs: 6.15.0 4161 + transitivePeerDependencies: 4162 + - debug 4163 + 4164 + '@inertiajs/vue3@2.3.17(vue@3.5.29(typescript@5.9.3))': 4165 + dependencies: 4166 + '@inertiajs/core': 2.3.17 4167 + '@types/lodash-es': 4.17.12 4168 + laravel-precognition: 1.0.2 4169 + lodash-es: 4.17.23 4170 + vue: 3.5.29(typescript@5.9.3) 4171 + transitivePeerDependencies: 4172 + - debug 4173 + 4174 + '@ipld/dag-cbor@7.0.3': 4175 + dependencies: 4176 + cborg: 1.10.2 4177 + multiformats: 9.9.0 4178 + 4179 + '@japa/assert@4.2.0(@japa/runner@5.3.0)': 4180 + dependencies: 4181 + '@japa/runner': 5.3.0 4182 + '@poppinss/macroable': 1.1.0 4183 + '@types/chai': 5.2.3 4184 + assertion-error: 2.0.1 4185 + chai: 6.2.2 4186 + 4187 + '@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2)': 4188 + dependencies: 4189 + '@japa/assert': 4.2.0(@japa/runner@5.3.0) 4190 + '@japa/runner': 5.3.0 4191 + '@poppinss/qs': 6.15.0 4192 + '@sindresorhus/slugify': 3.0.0 4193 + playwright: 1.58.2 4194 + 4195 + '@japa/core@10.4.0': 4196 + dependencies: 4197 + '@poppinss/hooks': 7.3.0 4198 + '@poppinss/macroable': 1.1.0 4199 + '@poppinss/string': 1.7.1 4200 + async-retry: 1.3.3 4201 + emittery: 1.2.1 4202 + string-width: 8.2.0 4203 + 4204 + '@japa/errors-printer@4.1.4': 4205 + dependencies: 4206 + '@poppinss/colors': 4.1.6 4207 + jest-diff: 30.2.0 4208 + supports-color: 10.2.2 4209 + youch: 4.1.0 4210 + 4211 + '@japa/plugin-adonisjs@5.1.0(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@japa/browser-client@2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2))(@japa/runner@5.3.0)(playwright@1.58.2)': 4212 + dependencies: 4213 + '@adonisjs/core': 7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0) 4214 + '@japa/runner': 5.3.0 4215 + optionalDependencies: 4216 + '@japa/browser-client': 2.3.0(@japa/assert@4.2.0(@japa/runner@5.3.0))(@japa/runner@5.3.0)(playwright@1.58.2) 4217 + playwright: 1.58.2 4218 + 4219 + '@japa/runner@5.3.0': 4220 + dependencies: 4221 + '@japa/core': 10.4.0 4222 + '@japa/errors-printer': 4.1.4 4223 + '@poppinss/colors': 4.1.6 4224 + '@poppinss/hooks': 7.3.0 4225 + '@poppinss/string': 1.7.1 4226 + '@poppinss/utils': 7.0.1 4227 + error-stack-parser-es: 1.0.5 4228 + find-cache-directory: 6.0.0 4229 + getopts: 2.3.0 4230 + supports-color: 10.2.2 4231 + timekeeper: 2.3.1 4232 + 4233 + '@jest/diff-sequences@30.0.1': {} 4234 + 4235 + '@jest/get-type@30.1.0': {} 4236 + 4237 + '@jest/schemas@30.0.5': 4238 + dependencies: 4239 + '@sinclair/typebox': 0.34.48 4240 + 4241 + '@jridgewell/sourcemap-codec@1.5.5': {} 4242 + 4243 + '@noble/curves@1.9.7': 4244 + dependencies: 4245 + '@noble/hashes': 1.8.0 4246 + 4247 + '@noble/hashes@1.8.0': {} 4248 + 4249 + '@nodelib/fs.scandir@2.1.5': 4250 + dependencies: 4251 + '@nodelib/fs.stat': 2.0.5 4252 + run-parallel: 1.2.0 4253 + 4254 + '@nodelib/fs.stat@2.0.5': {} 4255 + 4256 + '@nodelib/fs.walk@1.2.8': 4257 + dependencies: 4258 + '@nodelib/fs.scandir': 2.1.5 4259 + fastq: 1.20.1 4260 + 4261 + '@phc/format@1.0.0': {} 4262 + 4263 + '@pinojs/redact@0.4.0': {} 4264 + 4265 + '@pkgr/core@0.2.9': {} 4266 + 4267 + '@poppinss/cliui@6.7.0': 4268 + dependencies: 4269 + '@poppinss/colors': 4.1.6 4270 + cli-table3: 0.6.5 4271 + cli-truncate: 5.1.1 4272 + log-update: 7.2.0 4273 + pretty-hrtime: 1.0.3 4274 + string-width: 8.2.0 4275 + supports-color: 10.2.2 4276 + 4277 + '@poppinss/colors@4.1.6': 4278 + dependencies: 4279 + kleur: 4.1.5 4280 + 4281 + '@poppinss/dumper@0.7.0': 4282 + dependencies: 4283 + '@poppinss/colors': 4.1.6 4284 + '@sindresorhus/is': 7.2.0 4285 + supports-color: 10.2.2 4286 + 4287 + '@poppinss/exception@1.2.3': {} 4288 + 4289 + '@poppinss/hooks@7.3.0': {} 4290 + 4291 + '@poppinss/inspect@1.0.1': {} 4292 + 4293 + '@poppinss/macroable@1.1.0': {} 4294 + 4295 + '@poppinss/matchit@3.2.0': 4296 + dependencies: 4297 + '@arr/every': 1.0.1 4298 + 4299 + '@poppinss/middleware@3.2.7': {} 4300 + 4301 + '@poppinss/multiparty@3.0.0': 4302 + dependencies: 4303 + http-errors: 2.0.1 4304 + 4305 + '@poppinss/object-builder@1.1.0': {} 4306 + 4307 + '@poppinss/prompts@3.1.6': 4308 + dependencies: 4309 + '@poppinss/colors': 4.1.6 4310 + '@poppinss/exception': 1.2.3 4311 + '@poppinss/object-builder': 1.1.0 4312 + enquirer: 2.4.1 4313 + 4314 + '@poppinss/qs@6.15.0': {} 4315 + 4316 + '@poppinss/string@1.7.1': 4317 + dependencies: 4318 + '@types/pluralize': 0.0.33 4319 + case-anything: 3.1.2 4320 + pluralize: 8.0.0 4321 + slugify: 1.6.6 4322 + 4323 + '@poppinss/ts-exec@1.4.4': 4324 + dependencies: 4325 + '@swc/core': 1.15.17 4326 + get-tsconfig: 4.13.6 4327 + transitivePeerDependencies: 4328 + - '@swc/helpers' 4329 + 4330 + '@poppinss/types@1.2.1': {} 4331 + 4332 + '@poppinss/utils@7.0.1': 4333 + dependencies: 4334 + '@poppinss/exception': 1.2.3 4335 + '@poppinss/object-builder': 1.1.0 4336 + '@poppinss/string': 1.7.1 4337 + '@poppinss/types': 1.2.1 4338 + flattie: 1.1.1 4339 + 4340 + '@poppinss/validator-lite@2.1.2': {} 4341 + 4342 + '@rolldown/pluginutils@1.0.0-rc.2': {} 4343 + 4344 + '@rollup/rollup-android-arm-eabi@4.59.0': 4345 + optional: true 4346 + 4347 + '@rollup/rollup-android-arm64@4.59.0': 4348 + optional: true 4349 + 4350 + '@rollup/rollup-darwin-arm64@4.59.0': 4351 + optional: true 4352 + 4353 + '@rollup/rollup-darwin-x64@4.59.0': 4354 + optional: true 4355 + 4356 + '@rollup/rollup-freebsd-arm64@4.59.0': 4357 + optional: true 4358 + 4359 + '@rollup/rollup-freebsd-x64@4.59.0': 4360 + optional: true 4361 + 4362 + '@rollup/rollup-linux-arm-gnueabihf@4.59.0': 4363 + optional: true 4364 + 4365 + '@rollup/rollup-linux-arm-musleabihf@4.59.0': 4366 + optional: true 4367 + 4368 + '@rollup/rollup-linux-arm64-gnu@4.59.0': 4369 + optional: true 4370 + 4371 + '@rollup/rollup-linux-arm64-musl@4.59.0': 4372 + optional: true 4373 + 4374 + '@rollup/rollup-linux-loong64-gnu@4.59.0': 4375 + optional: true 4376 + 4377 + '@rollup/rollup-linux-loong64-musl@4.59.0': 4378 + optional: true 4379 + 4380 + '@rollup/rollup-linux-ppc64-gnu@4.59.0': 4381 + optional: true 4382 + 4383 + '@rollup/rollup-linux-ppc64-musl@4.59.0': 4384 + optional: true 4385 + 4386 + '@rollup/rollup-linux-riscv64-gnu@4.59.0': 4387 + optional: true 4388 + 4389 + '@rollup/rollup-linux-riscv64-musl@4.59.0': 4390 + optional: true 4391 + 4392 + '@rollup/rollup-linux-s390x-gnu@4.59.0': 4393 + optional: true 4394 + 4395 + '@rollup/rollup-linux-x64-gnu@4.59.0': 4396 + optional: true 4397 + 4398 + '@rollup/rollup-linux-x64-musl@4.59.0': 4399 + optional: true 4400 + 4401 + '@rollup/rollup-openbsd-x64@4.59.0': 4402 + optional: true 4403 + 4404 + '@rollup/rollup-openharmony-arm64@4.59.0': 4405 + optional: true 4406 + 4407 + '@rollup/rollup-win32-arm64-msvc@4.59.0': 4408 + optional: true 4409 + 4410 + '@rollup/rollup-win32-ia32-msvc@4.59.0': 4411 + optional: true 4412 + 4413 + '@rollup/rollup-win32-x64-gnu@4.59.0': 4414 + optional: true 4415 + 4416 + '@rollup/rollup-win32-x64-msvc@4.59.0': 4417 + optional: true 4418 + 4419 + '@sec-ant/readable-stream@0.4.1': {} 4420 + 4421 + '@sinclair/typebox@0.34.48': {} 4422 + 4423 + '@sindresorhus/is@7.2.0': {} 4424 + 4425 + '@sindresorhus/merge-streams@4.0.0': {} 4426 + 4427 + '@sindresorhus/slugify@3.0.0': 4428 + dependencies: 4429 + '@sindresorhus/transliterate': 2.3.1 4430 + escape-string-regexp: 5.0.0 4431 + 4432 + '@sindresorhus/transliterate@2.3.1': {} 4433 + 4434 + '@speed-highlight/core@1.2.14': {} 4435 + 4436 + '@standard-schema/spec@1.1.0': {} 4437 + 4438 + '@stylistic/eslint-plugin@5.9.0(eslint@10.0.2)': 4439 + dependencies: 4440 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2) 4441 + '@typescript-eslint/types': 8.56.1 4442 + eslint: 10.0.2 4443 + eslint-visitor-keys: 4.2.1 4444 + espree: 10.4.0 4445 + estraverse: 5.3.0 4446 + picomatch: 4.0.3 4447 + 4448 + '@swc/core-darwin-arm64@1.15.17': 4449 + optional: true 4450 + 4451 + '@swc/core-darwin-x64@1.15.17': 4452 + optional: true 4453 + 4454 + '@swc/core-linux-arm-gnueabihf@1.15.17': 4455 + optional: true 4456 + 4457 + '@swc/core-linux-arm64-gnu@1.15.17': 4458 + optional: true 4459 + 4460 + '@swc/core-linux-arm64-musl@1.15.17': 4461 + optional: true 4462 + 4463 + '@swc/core-linux-x64-gnu@1.15.17': 4464 + optional: true 4465 + 4466 + '@swc/core-linux-x64-musl@1.15.17': 4467 + optional: true 4468 + 4469 + '@swc/core-win32-arm64-msvc@1.15.17': 4470 + optional: true 4471 + 4472 + '@swc/core-win32-ia32-msvc@1.15.17': 4473 + optional: true 4474 + 4475 + '@swc/core-win32-x64-msvc@1.15.17': 4476 + optional: true 4477 + 4478 + '@swc/core@1.15.17': 4479 + dependencies: 4480 + '@swc/counter': 0.1.3 4481 + '@swc/types': 0.1.25 4482 + optionalDependencies: 4483 + '@swc/core-darwin-arm64': 1.15.17 4484 + '@swc/core-darwin-x64': 1.15.17 4485 + '@swc/core-linux-arm-gnueabihf': 1.15.17 4486 + '@swc/core-linux-arm64-gnu': 1.15.17 4487 + '@swc/core-linux-arm64-musl': 1.15.17 4488 + '@swc/core-linux-x64-gnu': 1.15.17 4489 + '@swc/core-linux-x64-musl': 1.15.17 4490 + '@swc/core-win32-arm64-msvc': 1.15.17 4491 + '@swc/core-win32-ia32-msvc': 1.15.17 4492 + '@swc/core-win32-x64-msvc': 1.15.17 4493 + 4494 + '@swc/counter@0.1.3': {} 4495 + 4496 + '@swc/types@0.1.25': 4497 + dependencies: 4498 + '@swc/counter': 0.1.3 4499 + 4500 + '@thisismissem/adonisjs-atproto-oauth@1.0.2(@adonisjs/auth@10.0.0(7a795e257a369dca83d66a2101ce9b7c))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@adonisjs/lucid@22.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@vinejs/vine@4.3.0)(better-sqlite3@12.6.2)(luxon@3.7.2))(@atproto-labs/simple-store@0.3.0)(@atproto/jwk-jose@0.1.11)(@atproto/lex@0.0.19)(@atproto/oauth-client-node@0.3.17)(@vinejs/vine@4.3.0)(luxon@3.7.2)': 4501 + dependencies: 4502 + '@adonisjs/auth': 10.0.0(7a795e257a369dca83d66a2101ce9b7c) 4503 + '@adonisjs/core': 7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0) 4504 + '@adonisjs/lucid': 22.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))(@vinejs/vine@4.3.0)(better-sqlite3@12.6.2)(luxon@3.7.2) 4505 + '@atproto-labs/simple-store': 0.3.0 4506 + '@atproto/jwk-jose': 0.1.11 4507 + '@atproto/lex': 0.0.19 4508 + '@atproto/oauth-client-node': 0.3.17 4509 + '@poppinss/macroable': 1.1.0 4510 + '@vinejs/vine': 4.3.0 4511 + luxon: 3.7.2 4512 + 4513 + '@tokenizer/inflate@0.4.1': 4514 + dependencies: 4515 + debug: 4.4.3 4516 + token-types: 6.1.2 4517 + transitivePeerDependencies: 4518 + - supports-color 4519 + 4520 + '@tokenizer/token@0.3.0': {} 4521 + 4522 + '@ts-morph/common@0.28.1': 4523 + dependencies: 4524 + minimatch: 10.2.4 4525 + path-browserify: 1.0.1 4526 + tinyglobby: 0.2.15 4527 + 4528 + '@tuyau/core@1.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@adonisjs/core@7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0))': 4529 + dependencies: 4530 + ky: 1.14.3 4531 + object-to-formdata: 4.5.1 4532 + optionalDependencies: 4533 + '@adonisjs/assembler': 8.0.0(typescript@5.9.3) 4534 + '@adonisjs/core': 7.0.0(@adonisjs/assembler@8.0.0(typescript@5.9.3))(@vinejs/vine@4.3.0)(edge.js@6.5.0)(pino-pretty@13.1.3)(youch@4.1.0) 4535 + 4536 + '@types/chai@5.2.3': 4537 + dependencies: 4538 + '@types/deep-eql': 4.0.2 4539 + assertion-error: 2.0.1 4540 + 4541 + '@types/deep-eql@4.0.2': {} 4542 + 4543 + '@types/esrecurse@4.3.1': {} 4544 + 4545 + '@types/estree@1.0.8': {} 4546 + 4547 + '@types/he@1.2.3': {} 4548 + 4549 + '@types/json-schema@7.0.15': {} 4550 + 4551 + '@types/lodash-es@4.17.12': 4552 + dependencies: 4553 + '@types/lodash': 4.17.24 4554 + 4555 + '@types/lodash@4.17.24': {} 4556 + 4557 + '@types/luxon@3.7.1': {} 4558 + 4559 + '@types/node@24.11.0': 4560 + dependencies: 4561 + undici-types: 7.16.0 4562 + 4563 + '@types/normalize-package-data@2.4.4': {} 4564 + 4565 + '@types/pluralize@0.0.33': {} 4566 + 4567 + '@types/validator@13.15.10': {} 4568 + 4569 + '@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2)(typescript@5.9.3))(eslint@10.0.2)(typescript@5.9.3)': 4570 + dependencies: 4571 + '@eslint-community/regexpp': 4.12.2 4572 + '@typescript-eslint/parser': 8.56.1(eslint@10.0.2)(typescript@5.9.3) 4573 + '@typescript-eslint/scope-manager': 8.56.1 4574 + '@typescript-eslint/type-utils': 8.56.1(eslint@10.0.2)(typescript@5.9.3) 4575 + '@typescript-eslint/utils': 8.56.1(eslint@10.0.2)(typescript@5.9.3) 4576 + '@typescript-eslint/visitor-keys': 8.56.1 4577 + eslint: 10.0.2 4578 + ignore: 7.0.5 4579 + natural-compare: 1.4.0 4580 + ts-api-utils: 2.4.0(typescript@5.9.3) 4581 + typescript: 5.9.3 4582 + transitivePeerDependencies: 4583 + - supports-color 4584 + 4585 + '@typescript-eslint/parser@8.56.1(eslint@10.0.2)(typescript@5.9.3)': 4586 + dependencies: 4587 + '@typescript-eslint/scope-manager': 8.56.1 4588 + '@typescript-eslint/types': 8.56.1 4589 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) 4590 + '@typescript-eslint/visitor-keys': 8.56.1 4591 + debug: 4.4.3 4592 + eslint: 10.0.2 4593 + typescript: 5.9.3 4594 + transitivePeerDependencies: 4595 + - supports-color 4596 + 4597 + '@typescript-eslint/project-service@8.56.1(typescript@5.9.3)': 4598 + dependencies: 4599 + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) 4600 + '@typescript-eslint/types': 8.56.1 4601 + debug: 4.4.3 4602 + typescript: 5.9.3 4603 + transitivePeerDependencies: 4604 + - supports-color 4605 + 4606 + '@typescript-eslint/scope-manager@8.56.1': 4607 + dependencies: 4608 + '@typescript-eslint/types': 8.56.1 4609 + '@typescript-eslint/visitor-keys': 8.56.1 4610 + 4611 + '@typescript-eslint/tsconfig-utils@8.56.1(typescript@5.9.3)': 4612 + dependencies: 4613 + typescript: 5.9.3 4614 + 4615 + '@typescript-eslint/type-utils@8.56.1(eslint@10.0.2)(typescript@5.9.3)': 4616 + dependencies: 4617 + '@typescript-eslint/types': 8.56.1 4618 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) 4619 + '@typescript-eslint/utils': 8.56.1(eslint@10.0.2)(typescript@5.9.3) 4620 + debug: 4.4.3 4621 + eslint: 10.0.2 4622 + ts-api-utils: 2.4.0(typescript@5.9.3) 4623 + typescript: 5.9.3 4624 + transitivePeerDependencies: 4625 + - supports-color 4626 + 4627 + '@typescript-eslint/types@8.56.1': {} 4628 + 4629 + '@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3)': 4630 + dependencies: 4631 + '@typescript-eslint/project-service': 8.56.1(typescript@5.9.3) 4632 + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) 4633 + '@typescript-eslint/types': 8.56.1 4634 + '@typescript-eslint/visitor-keys': 8.56.1 4635 + debug: 4.4.3 4636 + minimatch: 10.2.4 4637 + semver: 7.7.4 4638 + tinyglobby: 0.2.15 4639 + ts-api-utils: 2.4.0(typescript@5.9.3) 4640 + typescript: 5.9.3 4641 + transitivePeerDependencies: 4642 + - supports-color 4643 + 4644 + '@typescript-eslint/utils@8.56.1(eslint@10.0.2)(typescript@5.9.3)': 4645 + dependencies: 4646 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2) 4647 + '@typescript-eslint/scope-manager': 8.56.1 4648 + '@typescript-eslint/types': 8.56.1 4649 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) 4650 + eslint: 10.0.2 4651 + typescript: 5.9.3 4652 + transitivePeerDependencies: 4653 + - supports-color 4654 + 4655 + '@typescript-eslint/visitor-keys@8.56.1': 4656 + dependencies: 4657 + '@typescript-eslint/types': 8.56.1 4658 + eslint-visitor-keys: 5.0.1 4659 + 4660 + '@vinejs/compiler@4.1.3': {} 4661 + 4662 + '@vinejs/vine@4.3.0': 4663 + dependencies: 4664 + '@poppinss/macroable': 1.1.0 4665 + '@poppinss/types': 1.2.1 4666 + '@standard-schema/spec': 1.1.0 4667 + '@types/validator': 13.15.10 4668 + '@vinejs/compiler': 4.1.3 4669 + camelcase: 9.0.0 4670 + dayjs: 1.11.19 4671 + dlv: 1.1.3 4672 + normalize-url: 8.1.1 4673 + validator: 13.15.26 4674 + 4675 + '@vitejs/plugin-vue@6.0.4(vite@7.3.1(@types/node@24.11.0))(vue@3.5.29(typescript@5.9.3))': 4676 + dependencies: 4677 + '@rolldown/pluginutils': 1.0.0-rc.2 4678 + vite: 7.3.1(@types/node@24.11.0) 4679 + vue: 3.5.29(typescript@5.9.3) 4680 + 4681 + '@volar/language-core@2.4.28': 4682 + dependencies: 4683 + '@volar/source-map': 2.4.28 4684 + 4685 + '@volar/source-map@2.4.28': {} 4686 + 4687 + '@volar/typescript@2.4.28': 4688 + dependencies: 4689 + '@volar/language-core': 2.4.28 4690 + path-browserify: 1.0.1 4691 + vscode-uri: 3.1.0 4692 + 4693 + '@vue/compiler-core@3.5.29': 4694 + dependencies: 4695 + '@babel/parser': 7.29.0 4696 + '@vue/shared': 3.5.29 4697 + entities: 7.0.1 4698 + estree-walker: 2.0.2 4699 + source-map-js: 1.2.1 4700 + 4701 + '@vue/compiler-dom@3.5.29': 4702 + dependencies: 4703 + '@vue/compiler-core': 3.5.29 4704 + '@vue/shared': 3.5.29 4705 + 4706 + '@vue/compiler-sfc@3.5.29': 4707 + dependencies: 4708 + '@babel/parser': 7.29.0 4709 + '@vue/compiler-core': 3.5.29 4710 + '@vue/compiler-dom': 3.5.29 4711 + '@vue/compiler-ssr': 3.5.29 4712 + '@vue/shared': 3.5.29 4713 + estree-walker: 2.0.2 4714 + magic-string: 0.30.21 4715 + postcss: 8.5.6 4716 + source-map-js: 1.2.1 4717 + 4718 + '@vue/compiler-ssr@3.5.29': 4719 + dependencies: 4720 + '@vue/compiler-dom': 3.5.29 4721 + '@vue/shared': 3.5.29 4722 + 4723 + '@vue/language-core@3.2.5': 4724 + dependencies: 4725 + '@volar/language-core': 2.4.28 4726 + '@vue/compiler-dom': 3.5.29 4727 + '@vue/shared': 3.5.29 4728 + alien-signals: 3.1.2 4729 + muggle-string: 0.4.1 4730 + path-browserify: 1.0.1 4731 + picomatch: 4.0.3 4732 + 4733 + '@vue/reactivity@3.5.29': 4734 + dependencies: 4735 + '@vue/shared': 3.5.29 4736 + 4737 + '@vue/runtime-core@3.5.29': 4738 + dependencies: 4739 + '@vue/reactivity': 3.5.29 4740 + '@vue/shared': 3.5.29 4741 + 4742 + '@vue/runtime-dom@3.5.29': 4743 + dependencies: 4744 + '@vue/reactivity': 3.5.29 4745 + '@vue/runtime-core': 3.5.29 4746 + '@vue/shared': 3.5.29 4747 + csstype: 3.2.3 4748 + 4749 + '@vue/server-renderer@3.5.29(vue@3.5.29(typescript@5.9.3))': 4750 + dependencies: 4751 + '@vue/compiler-ssr': 3.5.29 4752 + '@vue/shared': 3.5.29 4753 + vue: 3.5.29(typescript@5.9.3) 4754 + 4755 + '@vue/shared@3.5.29': {} 4756 + 4757 + abort-controller@3.0.0: 4758 + dependencies: 4759 + event-target-shim: 5.0.1 4760 + 4761 + abstract-logging@2.0.1: {} 4762 + 4763 + acorn-jsx@5.3.2(acorn@8.16.0): 4764 + dependencies: 4765 + acorn: 8.16.0 4766 + 4767 + acorn@8.16.0: {} 4768 + 4769 + ajv@6.14.0: 4770 + dependencies: 4771 + fast-deep-equal: 3.1.3 4772 + fast-json-stable-stringify: 2.1.0 4773 + json-schema-traverse: 0.4.1 4774 + uri-js: 4.4.1 4775 + 4776 + alien-signals@3.1.2: {} 4777 + 4778 + ansi-colors@4.1.3: {} 4779 + 4780 + ansi-escapes@7.3.0: 4781 + dependencies: 4782 + environment: 1.1.0 4783 + 4784 + ansi-regex@5.0.1: {} 4785 + 4786 + ansi-regex@6.2.2: {} 4787 + 4788 + ansi-styles@4.3.0: 4789 + dependencies: 4790 + color-convert: 2.0.1 4791 + 4792 + ansi-styles@5.2.0: {} 4793 + 4794 + ansi-styles@6.2.3: {} 4795 + 4796 + assertion-error@2.0.1: {} 4797 + 4798 + astring@1.9.0: {} 4799 + 4800 + async-retry@1.3.3: 4801 + dependencies: 4802 + retry: 0.13.1 4803 + 4804 + asynckit@0.4.0: {} 4805 + 4806 + atomic-sleep@1.0.0: {} 4807 + 4808 + axios@1.13.6: 4809 + dependencies: 4810 + follow-redirects: 1.15.11 4811 + form-data: 4.0.5 4812 + proxy-from-env: 1.1.0 4813 + transitivePeerDependencies: 4814 + - debug 4815 + 4816 + balanced-match@4.0.4: {} 4817 + 4818 + base64-js@1.5.1: {} 4819 + 4820 + baseline-browser-mapping@2.10.0: {} 4821 + 4822 + basic-auth@2.0.1: 4823 + dependencies: 4824 + safe-buffer: 5.1.2 4825 + 4826 + better-sqlite3@12.6.2: 4827 + dependencies: 4828 + bindings: 1.5.0 4829 + prebuild-install: 7.1.3 4830 + 4831 + bindings@1.5.0: 4832 + dependencies: 4833 + file-uri-to-path: 1.0.0 4834 + 4835 + bl@4.1.0: 4836 + dependencies: 4837 + buffer: 5.7.1 4838 + inherits: 2.0.4 4839 + readable-stream: 3.6.2 4840 + 4841 + brace-expansion@5.0.4: 4842 + dependencies: 4843 + balanced-match: 4.0.4 4844 + 4845 + braces@3.0.3: 4846 + dependencies: 4847 + fill-range: 7.1.1 4848 + 4849 + browserslist@4.28.1: 4850 + dependencies: 4851 + baseline-browser-mapping: 2.10.0 4852 + caniuse-lite: 1.0.30001775 4853 + electron-to-chromium: 1.5.302 4854 + node-releases: 2.0.27 4855 + update-browserslist-db: 1.2.3(browserslist@4.28.1) 4856 + 4857 + buffer@5.7.1: 4858 + dependencies: 4859 + base64-js: 1.5.1 4860 + ieee754: 1.2.1 4861 + 4862 + buffer@6.0.3: 4863 + dependencies: 4864 + base64-js: 1.5.1 4865 + ieee754: 1.2.1 4866 + 4867 + builtin-modules@5.0.0: {} 4868 + 4869 + bundle-name@4.1.0: 4870 + dependencies: 4871 + run-applescript: 7.1.0 4872 + 4873 + bytes@3.1.2: {} 4874 + 4875 + call-bind-apply-helpers@1.0.2: 4876 + dependencies: 4877 + es-errors: 1.3.0 4878 + function-bind: 1.1.2 4879 + 4880 + call-bound@1.0.4: 4881 + dependencies: 4882 + call-bind-apply-helpers: 1.0.2 4883 + get-intrinsic: 1.3.0 4884 + 4885 + camelcase@9.0.0: {} 4886 + 4887 + caniuse-lite@1.0.30001775: {} 4888 + 4889 + case-anything@3.1.2: {} 4890 + 4891 + cborg@1.10.2: {} 4892 + 4893 + chai@6.2.2: {} 4894 + 4895 + chalk@4.1.2: 4896 + dependencies: 4897 + ansi-styles: 4.3.0 4898 + supports-color: 7.2.0 4899 + 4900 + change-case@5.4.4: {} 4901 + 4902 + check-disk-space@3.4.0: {} 4903 + 4904 + chevrotain@11.1.2: 4905 + dependencies: 4906 + '@chevrotain/cst-dts-gen': 11.1.2 4907 + '@chevrotain/gast': 11.1.2 4908 + '@chevrotain/regexp-to-ast': 11.1.2 4909 + '@chevrotain/types': 11.1.2 4910 + '@chevrotain/utils': 11.1.2 4911 + lodash-es: 4.17.23 4912 + 4913 + chokidar@5.0.0: 4914 + dependencies: 4915 + readdirp: 5.0.0 4916 + 4917 + chownr@1.1.4: {} 4918 + 4919 + ci-info@4.4.0: {} 4920 + 4921 + clean-regexp@1.0.0: 4922 + dependencies: 4923 + escape-string-regexp: 1.0.5 4924 + 4925 + cli-cursor@5.0.0: 4926 + dependencies: 4927 + restore-cursor: 5.1.0 4928 + 4929 + cli-table3@0.6.5: 4930 + dependencies: 4931 + string-width: 4.2.3 4932 + optionalDependencies: 4933 + '@colors/colors': 1.5.0 4934 + 4935 + cli-truncate@5.1.1: 4936 + dependencies: 4937 + slice-ansi: 7.1.2 4938 + string-width: 8.2.0 4939 + 4940 + cliui@8.0.1: 4941 + dependencies: 4942 + string-width: 4.2.3 4943 + strip-ansi: 6.0.1 4944 + wrap-ansi: 7.0.0 4945 + 4946 + code-block-writer@13.0.3: {} 4947 + 4948 + color-convert@2.0.1: 4949 + dependencies: 4950 + color-name: 1.1.4 4951 + 4952 + color-name@1.1.4: {} 4953 + 4954 + colorette@2.0.19: {} 4955 + 4956 + colorette@2.0.20: {} 4957 + 4958 + combined-stream@1.0.8: 4959 + dependencies: 4960 + delayed-stream: 1.0.0 4961 + 4962 + commander@10.0.1: {} 4963 + 4964 + common-path-prefix@3.0.0: {} 4965 + 4966 + content-disposition@1.0.1: {} 4967 + 4968 + content-type@1.0.5: {} 4969 + 4970 + cookie-es@2.0.0: {} 4971 + 4972 + core-js-compat@3.48.0: 4973 + dependencies: 4974 + browserslist: 4.28.1 4975 + 4976 + core-js@3.48.0: {} 4977 + 4978 + cross-spawn@7.0.6: 4979 + dependencies: 4980 + path-key: 3.1.1 4981 + shebang-command: 2.0.0 4982 + which: 2.0.2 4983 + 4984 + csrf@3.1.0: 4985 + dependencies: 4986 + rndm: 1.2.0 4987 + tsscmp: 1.0.6 4988 + uid-safe: 2.1.5 4989 + 4990 + csstype@3.2.3: {} 4991 + 4992 + dateformat@4.6.3: {} 4993 + 4994 + dayjs@1.11.19: {} 4995 + 4996 + debug@4.3.4: 4997 + dependencies: 4998 + ms: 2.1.2 4999 + 5000 + debug@4.4.3: 5001 + dependencies: 5002 + ms: 2.1.3 5003 + 5004 + decompress-response@6.0.0: 5005 + dependencies: 5006 + mimic-response: 3.1.0 5007 + 5008 + dedent@1.7.1: {} 5009 + 5010 + deep-extend@0.6.0: {} 5011 + 5012 + deep-is@0.1.4: {} 5013 + 5014 + deepmerge@4.3.1: {} 5015 + 5016 + default-browser-id@5.0.1: {} 5017 + 5018 + default-browser@5.5.0: 5019 + dependencies: 5020 + bundle-name: 4.1.0 5021 + default-browser-id: 5.0.1 5022 + 5023 + define-lazy-prop@3.0.0: {} 5024 + 5025 + delayed-stream@1.0.0: {} 5026 + 5027 + depd@2.0.0: {} 5028 + 5029 + destroy@1.2.0: {} 5030 + 5031 + detect-libc@2.1.2: {} 5032 + 5033 + dlv@1.1.3: {} 5034 + 5035 + dunder-proto@1.0.1: 5036 + dependencies: 5037 + call-bind-apply-helpers: 1.0.2 5038 + es-errors: 1.3.0 5039 + gopd: 1.2.0 5040 + 5041 + edge-error@4.0.2: {} 5042 + 5043 + edge-lexer@6.0.4: 5044 + dependencies: 5045 + edge-error: 4.0.2 5046 + 5047 + edge-parser@9.1.0: 5048 + dependencies: 5049 + acorn: 8.16.0 5050 + astring: 1.9.0 5051 + edge-error: 4.0.2 5052 + edge-lexer: 6.0.4 5053 + js-stringify: 1.0.2 5054 + 5055 + edge.js@6.5.0: 5056 + dependencies: 5057 + '@poppinss/inspect': 1.0.1 5058 + '@poppinss/macroable': 1.1.0 5059 + '@poppinss/utils': 7.0.1 5060 + edge-error: 4.0.2 5061 + edge-lexer: 6.0.4 5062 + edge-parser: 9.1.0 5063 + he: 1.2.0 5064 + property-information: 7.1.0 5065 + stringify-attributes: 4.0.0 5066 + 5067 + edgejs-parser@0.2.18: 5068 + dependencies: 5069 + chevrotain: 11.1.2 5070 + 5071 + ee-first@1.1.1: {} 5072 + 5073 + electron-to-chromium@1.5.302: {} 5074 + 5075 + emittery@1.2.1: {} 5076 + 5077 + emoji-regex@8.0.0: {} 5078 + 5079 + encodeurl@2.0.0: {} 5080 + 5081 + end-of-stream@1.4.5: 5082 + dependencies: 5083 + once: 1.4.0 5084 + 5085 + enquirer@2.4.1: 5086 + dependencies: 5087 + ansi-colors: 4.1.3 5088 + strip-ansi: 6.0.1 5089 + 5090 + entities@7.0.1: {} 5091 + 5092 + environment@1.1.0: {} 5093 + 5094 + error-stack-parser-es@1.0.5: {} 5095 + 5096 + es-define-property@1.0.1: {} 5097 + 5098 + es-errors@1.3.0: {} 5099 + 5100 + es-module-lexer@1.7.0: {} 5101 + 5102 + es-object-atoms@1.1.1: 5103 + dependencies: 5104 + es-errors: 1.3.0 5105 + 5106 + es-set-tostringtag@2.1.0: 5107 + dependencies: 5108 + es-errors: 1.3.0 5109 + get-intrinsic: 1.3.0 5110 + has-tostringtag: 1.0.2 5111 + hasown: 2.0.2 5112 + 5113 + esbuild@0.27.3: 5114 + optionalDependencies: 5115 + '@esbuild/aix-ppc64': 0.27.3 5116 + '@esbuild/android-arm': 0.27.3 5117 + '@esbuild/android-arm64': 0.27.3 5118 + '@esbuild/android-x64': 0.27.3 5119 + '@esbuild/darwin-arm64': 0.27.3 5120 + '@esbuild/darwin-x64': 0.27.3 5121 + '@esbuild/freebsd-arm64': 0.27.3 5122 + '@esbuild/freebsd-x64': 0.27.3 5123 + '@esbuild/linux-arm': 0.27.3 5124 + '@esbuild/linux-arm64': 0.27.3 5125 + '@esbuild/linux-ia32': 0.27.3 5126 + '@esbuild/linux-loong64': 0.27.3 5127 + '@esbuild/linux-mips64el': 0.27.3 5128 + '@esbuild/linux-ppc64': 0.27.3 5129 + '@esbuild/linux-riscv64': 0.27.3 5130 + '@esbuild/linux-s390x': 0.27.3 5131 + '@esbuild/linux-x64': 0.27.3 5132 + '@esbuild/netbsd-arm64': 0.27.3 5133 + '@esbuild/netbsd-x64': 0.27.3 5134 + '@esbuild/openbsd-arm64': 0.27.3 5135 + '@esbuild/openbsd-x64': 0.27.3 5136 + '@esbuild/openharmony-arm64': 0.27.3 5137 + '@esbuild/sunos-x64': 0.27.3 5138 + '@esbuild/win32-arm64': 0.27.3 5139 + '@esbuild/win32-ia32': 0.27.3 5140 + '@esbuild/win32-x64': 0.27.3 5141 + 5142 + escalade@3.2.0: {} 5143 + 5144 + escape-goat@4.0.0: {} 5145 + 5146 + escape-html@1.0.3: {} 5147 + 5148 + escape-string-regexp@1.0.5: {} 5149 + 5150 + escape-string-regexp@4.0.0: {} 5151 + 5152 + escape-string-regexp@5.0.0: {} 5153 + 5154 + eslint-config-prettier@10.1.8(eslint@10.0.2): 5155 + dependencies: 5156 + eslint: 10.0.2 5157 + 5158 + eslint-plugin-prettier@5.5.5(eslint-config-prettier@10.1.8(eslint@10.0.2))(eslint@10.0.2)(prettier@3.8.1): 5159 + dependencies: 5160 + eslint: 10.0.2 5161 + prettier: 3.8.1 5162 + prettier-linter-helpers: 1.0.1 5163 + synckit: 0.11.12 5164 + optionalDependencies: 5165 + eslint-config-prettier: 10.1.8(eslint@10.0.2) 5166 + 5167 + eslint-plugin-unicorn@63.0.0(eslint@10.0.2): 5168 + dependencies: 5169 + '@babel/helper-validator-identifier': 7.28.5 5170 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2) 5171 + change-case: 5.4.4 5172 + ci-info: 4.4.0 5173 + clean-regexp: 1.0.0 5174 + core-js-compat: 3.48.0 5175 + eslint: 10.0.2 5176 + find-up-simple: 1.0.1 5177 + globals: 16.5.0 5178 + indent-string: 5.0.0 5179 + is-builtin-module: 5.0.0 5180 + jsesc: 3.1.0 5181 + pluralize: 8.0.0 5182 + regexp-tree: 0.1.27 5183 + regjsparser: 0.13.0 5184 + semver: 7.7.4 5185 + strip-indent: 4.1.1 5186 + 5187 + eslint-scope@9.1.1: 5188 + dependencies: 5189 + '@types/esrecurse': 4.3.1 5190 + '@types/estree': 1.0.8 5191 + esrecurse: 4.3.0 5192 + estraverse: 5.3.0 5193 + 5194 + eslint-visitor-keys@3.4.3: {} 5195 + 5196 + eslint-visitor-keys@4.2.1: {} 5197 + 5198 + eslint-visitor-keys@5.0.1: {} 5199 + 5200 + eslint@10.0.2: 5201 + dependencies: 5202 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2) 5203 + '@eslint-community/regexpp': 4.12.2 5204 + '@eslint/config-array': 0.23.2 5205 + '@eslint/config-helpers': 0.5.2 5206 + '@eslint/core': 1.1.0 5207 + '@eslint/plugin-kit': 0.6.0 5208 + '@humanfs/node': 0.16.7 5209 + '@humanwhocodes/module-importer': 1.0.1 5210 + '@humanwhocodes/retry': 0.4.3 5211 + '@types/estree': 1.0.8 5212 + ajv: 6.14.0 5213 + cross-spawn: 7.0.6 5214 + debug: 4.4.3 5215 + escape-string-regexp: 4.0.0 5216 + eslint-scope: 9.1.1 5217 + eslint-visitor-keys: 5.0.1 5218 + espree: 11.1.1 5219 + esquery: 1.7.0 5220 + esutils: 2.0.3 5221 + fast-deep-equal: 3.1.3 5222 + file-entry-cache: 8.0.0 5223 + find-up: 5.0.0 5224 + glob-parent: 6.0.2 5225 + ignore: 5.3.2 5226 + imurmurhash: 0.1.4 5227 + is-glob: 4.0.3 5228 + json-stable-stringify-without-jsonify: 1.0.1 5229 + minimatch: 10.2.4 5230 + natural-compare: 1.4.0 5231 + optionator: 0.9.4 5232 + transitivePeerDependencies: 5233 + - supports-color 5234 + 5235 + esm@3.2.25: {} 5236 + 5237 + espree@10.4.0: 5238 + dependencies: 5239 + acorn: 8.16.0 5240 + acorn-jsx: 5.3.2(acorn@8.16.0) 5241 + eslint-visitor-keys: 4.2.1 5242 + 5243 + espree@11.1.1: 5244 + dependencies: 5245 + acorn: 8.16.0 5246 + acorn-jsx: 5.3.2(acorn@8.16.0) 5247 + eslint-visitor-keys: 5.0.1 5248 + 5249 + esquery@1.7.0: 5250 + dependencies: 5251 + estraverse: 5.3.0 5252 + 5253 + esrecurse@4.3.0: 5254 + dependencies: 5255 + estraverse: 5.3.0 5256 + 5257 + estraverse@5.3.0: {} 5258 + 5259 + estree-walker@2.0.2: {} 5260 + 5261 + esutils@2.0.3: {} 5262 + 5263 + etag@1.8.1: {} 5264 + 5265 + event-target-shim@5.0.1: {} 5266 + 5267 + events@3.3.0: {} 5268 + 5269 + execa@9.6.1: 5270 + dependencies: 5271 + '@sindresorhus/merge-streams': 4.0.0 5272 + cross-spawn: 7.0.6 5273 + figures: 6.1.0 5274 + get-stream: 9.0.1 5275 + human-signals: 8.0.1 5276 + is-plain-obj: 4.1.0 5277 + is-stream: 4.0.1 5278 + npm-run-path: 6.0.0 5279 + pretty-ms: 9.3.0 5280 + signal-exit: 4.1.0 5281 + strip-final-newline: 4.0.0 5282 + yoctocolors: 2.1.2 5283 + 5284 + expand-template@2.0.3: {} 5285 + 5286 + fast-copy@4.0.2: {} 5287 + 5288 + fast-deep-equal@3.1.3: {} 5289 + 5290 + fast-diff@1.3.0: {} 5291 + 5292 + fast-glob@3.3.3: 5293 + dependencies: 5294 + '@nodelib/fs.stat': 2.0.5 5295 + '@nodelib/fs.walk': 1.2.8 5296 + glob-parent: 5.1.2 5297 + merge2: 1.4.1 5298 + micromatch: 4.0.8 5299 + 5300 + fast-json-stable-stringify@2.1.0: {} 5301 + 5302 + fast-levenshtein@2.0.6: {} 5303 + 5304 + fast-redact@3.5.0: {} 5305 + 5306 + fast-safe-stringify@2.1.1: {} 5307 + 5308 + fastest-levenshtein@1.0.16: {} 5309 + 5310 + fastq@1.20.1: 5311 + dependencies: 5312 + reusify: 1.1.0 5313 + 5314 + fdir@6.5.0(picomatch@4.0.3): 5315 + optionalDependencies: 5316 + picomatch: 4.0.3 5317 + 5318 + figures@6.1.0: 5319 + dependencies: 5320 + is-unicode-supported: 2.1.0 5321 + 5322 + file-entry-cache@8.0.0: 5323 + dependencies: 5324 + flat-cache: 4.0.1 5325 + 5326 + file-type@21.3.0: 5327 + dependencies: 5328 + '@tokenizer/inflate': 0.4.1 5329 + strtok3: 10.3.4 5330 + token-types: 6.1.2 5331 + uint8array-extras: 1.5.0 5332 + transitivePeerDependencies: 5333 + - supports-color 5334 + 5335 + file-uri-to-path@1.0.0: {} 5336 + 5337 + fill-range@7.1.1: 5338 + dependencies: 5339 + to-regex-range: 5.0.1 5340 + 5341 + find-cache-directory@6.0.0: 5342 + dependencies: 5343 + common-path-prefix: 3.0.0 5344 + pkg-dir: 8.0.0 5345 + 5346 + find-up-simple@1.0.1: {} 5347 + 5348 + find-up@5.0.0: 5349 + dependencies: 5350 + locate-path: 6.0.0 5351 + path-exists: 4.0.0 5352 + 5353 + flat-cache@4.0.1: 5354 + dependencies: 5355 + flatted: 3.3.3 5356 + keyv: 4.5.4 5357 + 5358 + flatted@3.3.3: {} 5359 + 5360 + flattie@1.1.1: {} 5361 + 5362 + follow-redirects@1.15.11: {} 5363 + 5364 + form-data@4.0.5: 5365 + dependencies: 5366 + asynckit: 0.4.0 5367 + combined-stream: 1.0.8 5368 + es-set-tostringtag: 2.1.0 5369 + hasown: 2.0.2 5370 + mime-types: 2.1.35 5371 + 5372 + forwarded@0.2.0: {} 5373 + 5374 + fresh@0.5.2: {} 5375 + 5376 + fresh@2.0.0: {} 5377 + 5378 + fs-constants@1.0.0: {} 5379 + 5380 + fsevents@2.3.2: 5381 + optional: true 5382 + 5383 + fsevents@2.3.3: 5384 + optional: true 5385 + 5386 + function-bind@1.1.2: {} 5387 + 5388 + get-caller-file@2.0.5: {} 5389 + 5390 + get-east-asian-width@1.5.0: {} 5391 + 5392 + get-intrinsic@1.3.0: 5393 + dependencies: 5394 + call-bind-apply-helpers: 1.0.2 5395 + es-define-property: 1.0.1 5396 + es-errors: 1.3.0 5397 + es-object-atoms: 1.1.1 5398 + function-bind: 1.1.2 5399 + get-proto: 1.0.1 5400 + gopd: 1.2.0 5401 + has-symbols: 1.1.0 5402 + hasown: 2.0.2 5403 + math-intrinsics: 1.1.0 5404 + 5405 + get-package-type@0.1.0: {} 5406 + 5407 + get-port@7.1.0: {} 5408 + 5409 + get-proto@1.0.1: 5410 + dependencies: 5411 + dunder-proto: 1.0.1 5412 + es-object-atoms: 1.1.1 5413 + 5414 + get-stream@9.0.1: 5415 + dependencies: 5416 + '@sec-ant/readable-stream': 0.4.1 5417 + is-stream: 4.0.1 5418 + 5419 + get-tsconfig@4.13.6: 5420 + dependencies: 5421 + resolve-pkg-maps: 1.0.0 5422 + 5423 + getopts@2.3.0: {} 5424 + 5425 + github-from-package@0.0.0: {} 5426 + 5427 + glob-parent@5.1.2: 5428 + dependencies: 5429 + is-glob: 4.0.3 5430 + 5431 + glob-parent@6.0.2: 5432 + dependencies: 5433 + is-glob: 4.0.3 5434 + 5435 + globals@16.5.0: {} 5436 + 5437 + gopd@1.2.0: {} 5438 + 5439 + has-flag@4.0.0: {} 5440 + 5441 + has-symbols@1.1.0: {} 5442 + 5443 + has-tostringtag@1.0.2: 5444 + dependencies: 5445 + has-symbols: 1.1.0 5446 + 5447 + hasown@2.0.2: 5448 + dependencies: 5449 + function-bind: 1.1.2 5450 + 5451 + he@1.2.0: {} 5452 + 5453 + help-me@5.0.0: {} 5454 + 5455 + hosted-git-info@9.0.2: 5456 + dependencies: 5457 + lru-cache: 11.2.6 5458 + 5459 + hot-hook@1.0.0: 5460 + dependencies: 5461 + chokidar: 5.0.0 5462 + fast-glob: 3.3.3 5463 + parse-imports: 3.0.0 5464 + picomatch: 4.0.3 5465 + read-package-up: 12.0.0 5466 + 5467 + html-entities@2.6.0: {} 5468 + 5469 + http-errors@2.0.1: 5470 + dependencies: 5471 + depd: 2.0.0 5472 + inherits: 2.0.4 5473 + setprototypeof: 1.2.0 5474 + statuses: 2.0.2 5475 + toidentifier: 1.0.1 5476 + 5477 + human-signals@8.0.1: {} 5478 + 5479 + iconv-lite@0.7.2: 5480 + dependencies: 5481 + safer-buffer: 2.1.2 5482 + 5483 + ieee754@1.2.1: {} 5484 + 5485 + igniculus@1.5.0: {} 5486 + 5487 + ignore@5.3.2: {} 5488 + 5489 + ignore@7.0.5: {} 5490 + 5491 + import-meta-resolve@4.2.0: {} 5492 + 5493 + imurmurhash@0.1.4: {} 5494 + 5495 + indent-string@5.0.0: {} 5496 + 5497 + index-to-position@1.2.0: {} 5498 + 5499 + inflation@2.1.0: {} 5500 + 5501 + inherits@2.0.4: {} 5502 + 5503 + ini@1.3.8: {} 5504 + 5505 + interpret@2.2.0: {} 5506 + 5507 + ipaddr.js@1.9.1: {} 5508 + 5509 + ipaddr.js@2.3.0: {} 5510 + 5511 + is-builtin-module@5.0.0: 5512 + dependencies: 5513 + builtin-modules: 5.0.0 5514 + 5515 + is-core-module@2.16.1: 5516 + dependencies: 5517 + hasown: 2.0.2 5518 + 5519 + is-docker@3.0.0: {} 5520 + 5521 + is-extglob@2.1.1: {} 5522 + 5523 + is-fullwidth-code-point@3.0.0: {} 5524 + 5525 + is-fullwidth-code-point@5.1.0: 5526 + dependencies: 5527 + get-east-asian-width: 1.5.0 5528 + 5529 + is-glob@4.0.3: 5530 + dependencies: 5531 + is-extglob: 2.1.1 5532 + 5533 + is-in-ssh@1.0.0: {} 5534 + 5535 + is-inside-container@1.0.0: 5536 + dependencies: 5537 + is-docker: 3.0.0 5538 + 5539 + is-number@7.0.0: {} 5540 + 5541 + is-plain-obj@4.1.0: {} 5542 + 5543 + is-stream@4.0.1: {} 5544 + 5545 + is-unicode-supported@2.1.0: {} 5546 + 5547 + is-wsl@3.1.1: 5548 + dependencies: 5549 + is-inside-container: 1.0.0 5550 + 5551 + isexe@2.0.0: {} 5552 + 5553 + iso-datestring-validator@2.2.2: {} 5554 + 5555 + jest-diff@30.2.0: 5556 + dependencies: 5557 + '@jest/diff-sequences': 30.0.1 5558 + '@jest/get-type': 30.1.0 5559 + chalk: 4.1.2 5560 + pretty-format: 30.2.0 5561 + 5562 + jose@5.10.0: {} 5563 + 5564 + joycon@3.1.1: {} 5565 + 5566 + js-stringify@1.0.2: {} 5567 + 5568 + js-tokens@4.0.0: {} 5569 + 5570 + jsesc@3.1.0: {} 5571 + 5572 + json-buffer@3.0.1: {} 5573 + 5574 + json-schema-traverse@0.4.1: {} 5575 + 5576 + json-stable-stringify-without-jsonify@1.0.1: {} 5577 + 5578 + jsonschema@1.5.0: {} 5579 + 5580 + junk@4.0.1: {} 5581 + 5582 + keyv@4.5.4: 5583 + dependencies: 5584 + json-buffer: 3.0.1 5585 + 5586 + kleur@4.1.5: {} 5587 + 5588 + knex-dynamic-connection@4.0.0-next.0(better-sqlite3@12.6.2): 5589 + dependencies: 5590 + debug: 4.4.3 5591 + knex: 3.1.0(better-sqlite3@12.6.2) 5592 + transitivePeerDependencies: 5593 + - better-sqlite3 5594 + - mysql 5595 + - mysql2 5596 + - pg 5597 + - pg-native 5598 + - sqlite3 5599 + - supports-color 5600 + - tedious 5601 + 5602 + knex@3.1.0(better-sqlite3@12.6.2): 5603 + dependencies: 5604 + colorette: 2.0.19 5605 + commander: 10.0.1 5606 + debug: 4.3.4 5607 + escalade: 3.2.0 5608 + esm: 3.2.25 5609 + get-package-type: 0.1.0 5610 + getopts: 2.3.0 5611 + interpret: 2.2.0 5612 + lodash: 4.17.23 5613 + pg-connection-string: 2.6.2 5614 + rechoir: 0.8.0 5615 + resolve-from: 5.0.0 5616 + tarn: 3.0.2 5617 + tildify: 2.0.0 5618 + optionalDependencies: 5619 + better-sqlite3: 12.6.2 5620 + transitivePeerDependencies: 5621 + - supports-color 5622 + 5623 + ky@1.14.3: {} 5624 + 5625 + laravel-precognition@1.0.2: 5626 + dependencies: 5627 + axios: 1.13.6 5628 + lodash-es: 4.17.23 5629 + transitivePeerDependencies: 5630 + - debug 5631 + 5632 + levn@0.4.1: 5633 + dependencies: 5634 + prelude-ls: 1.2.1 5635 + type-check: 0.4.0 5636 + 5637 + locate-path@6.0.0: 5638 + dependencies: 5639 + p-locate: 5.0.0 5640 + 5641 + lodash-es@4.17.23: {} 5642 + 5643 + lodash@4.17.23: {} 5644 + 5645 + log-update@7.2.0: 5646 + dependencies: 5647 + ansi-escapes: 7.3.0 5648 + cli-cursor: 5.0.0 5649 + slice-ansi: 8.0.0 5650 + strip-ansi: 7.2.0 5651 + wrap-ansi: 10.0.0 5652 + 5653 + lru-cache@10.4.3: {} 5654 + 5655 + lru-cache@11.2.6: {} 5656 + 5657 + luxon@3.7.2: {} 5658 + 5659 + magic-string@0.30.21: 5660 + dependencies: 5661 + '@jridgewell/sourcemap-codec': 1.5.5 5662 + 5663 + math-intrinsics@1.1.0: {} 5664 + 5665 + media-typer@1.1.0: {} 5666 + 5667 + merge2@1.4.1: {} 5668 + 5669 + micromatch@4.0.8: 5670 + dependencies: 5671 + braces: 3.0.3 5672 + picomatch: 2.3.1 5673 + 5674 + mime-db@1.52.0: {} 5675 + 5676 + mime-db@1.54.0: {} 5677 + 5678 + mime-types@2.1.35: 5679 + dependencies: 5680 + mime-db: 1.52.0 5681 + 5682 + mime-types@3.0.2: 5683 + dependencies: 5684 + mime-db: 1.54.0 5685 + 5686 + mimic-function@5.0.1: {} 5687 + 5688 + mimic-response@3.1.0: {} 5689 + 5690 + minimatch@10.2.4: 5691 + dependencies: 5692 + brace-expansion: 5.0.4 5693 + 5694 + minimist@1.2.8: {} 5695 + 5696 + mkdirp-classic@0.5.3: {} 5697 + 5698 + ms@2.1.2: {} 5699 + 5700 + ms@2.1.3: {} 5701 + 5702 + muggle-string@0.4.1: {} 5703 + 5704 + multiformats@9.9.0: {} 5705 + 5706 + nanoid@3.3.11: {} 5707 + 5708 + napi-build-utils@2.0.0: {} 5709 + 5710 + natural-compare@1.4.0: {} 5711 + 5712 + node-abi@3.87.0: 5713 + dependencies: 5714 + semver: 7.7.4 5715 + 5716 + node-releases@2.0.27: {} 5717 + 5718 + normalize-package-data@8.0.0: 5719 + dependencies: 5720 + hosted-git-info: 9.0.2 5721 + semver: 7.7.4 5722 + validate-npm-package-license: 3.0.4 5723 + 5724 + normalize-url@8.1.1: {} 5725 + 5726 + npm-run-path@6.0.0: 5727 + dependencies: 5728 + path-key: 4.0.0 5729 + unicorn-magic: 0.3.0 5730 + 5731 + object-inspect@1.13.4: {} 5732 + 5733 + object-to-formdata@4.5.1: {} 5734 + 5735 + on-exit-leak-free@2.1.2: {} 5736 + 5737 + on-finished@2.4.1: 5738 + dependencies: 5739 + ee-first: 1.1.1 5740 + 5741 + once@1.4.0: 5742 + dependencies: 5743 + wrappy: 1.0.2 5744 + 5745 + onetime@7.0.0: 5746 + dependencies: 5747 + mimic-function: 5.0.1 5748 + 5749 + open@11.0.0: 5750 + dependencies: 5751 + default-browser: 5.5.0 5752 + define-lazy-prop: 3.0.0 5753 + is-in-ssh: 1.0.0 5754 + is-inside-container: 1.0.0 5755 + powershell-utils: 0.1.0 5756 + wsl-utils: 0.3.1 5757 + 5758 + optionator@0.9.4: 5759 + dependencies: 5760 + deep-is: 0.1.4 5761 + fast-levenshtein: 2.0.6 5762 + levn: 0.4.1 5763 + prelude-ls: 1.2.1 5764 + type-check: 0.4.0 5765 + word-wrap: 1.2.5 5766 + 5767 + p-limit@3.1.0: 5768 + dependencies: 5769 + yocto-queue: 0.1.0 5770 + 5771 + p-locate@5.0.0: 5772 + dependencies: 5773 + p-limit: 3.1.0 5774 + 5775 + package-manager-detector@1.6.0: {} 5776 + 5777 + parse-imports@3.0.0: 5778 + dependencies: 5779 + es-module-lexer: 1.7.0 5780 + slashes: 3.0.12 5781 + 5782 + parse-json@8.3.0: 5783 + dependencies: 5784 + '@babel/code-frame': 7.29.0 5785 + index-to-position: 1.2.0 5786 + type-fest: 4.41.0 5787 + 5788 + parse-ms@4.0.0: {} 5789 + 5790 + parseurl@1.3.3: {} 5791 + 5792 + path-browserify@1.0.1: {} 5793 + 5794 + path-exists@4.0.0: {} 5795 + 5796 + path-key@3.1.1: {} 5797 + 5798 + path-key@4.0.0: {} 5799 + 5800 + path-parse@1.0.7: {} 5801 + 5802 + pg-connection-string@2.6.2: {} 5803 + 5804 + picocolors@1.1.1: {} 5805 + 5806 + picomatch@2.3.1: {} 5807 + 5808 + picomatch@4.0.3: {} 5809 + 5810 + pino-abstract-transport@1.2.0: 5811 + dependencies: 5812 + readable-stream: 4.7.0 5813 + split2: 4.2.0 5814 + 5815 + pino-abstract-transport@3.0.0: 5816 + dependencies: 5817 + split2: 4.2.0 5818 + 5819 + pino-pretty@13.1.3: 5820 + dependencies: 5821 + colorette: 2.0.20 5822 + dateformat: 4.6.3 5823 + fast-copy: 4.0.2 5824 + fast-safe-stringify: 2.1.1 5825 + help-me: 5.0.0 5826 + joycon: 3.1.1 5827 + minimist: 1.2.8 5828 + on-exit-leak-free: 2.1.2 5829 + pino-abstract-transport: 3.0.0 5830 + pump: 3.0.4 5831 + secure-json-parse: 4.1.0 5832 + sonic-boom: 4.2.1 5833 + strip-json-comments: 5.0.3 5834 + 5835 + pino-std-serializers@6.2.2: {} 5836 + 5837 + pino-std-serializers@7.1.0: {} 5838 + 5839 + pino@10.3.1: 5840 + dependencies: 5841 + '@pinojs/redact': 0.4.0 5842 + atomic-sleep: 1.0.0 5843 + on-exit-leak-free: 2.1.2 5844 + pino-abstract-transport: 3.0.0 5845 + pino-std-serializers: 7.1.0 5846 + process-warning: 5.0.0 5847 + quick-format-unescaped: 4.0.4 5848 + real-require: 0.2.0 5849 + safe-stable-stringify: 2.5.0 5850 + sonic-boom: 4.2.1 5851 + thread-stream: 4.0.0 5852 + 5853 + pino@8.21.0: 5854 + dependencies: 5855 + atomic-sleep: 1.0.0 5856 + fast-redact: 3.5.0 5857 + on-exit-leak-free: 2.1.2 5858 + pino-abstract-transport: 1.2.0 5859 + pino-std-serializers: 6.2.2 5860 + process-warning: 3.0.0 5861 + quick-format-unescaped: 4.0.4 5862 + real-require: 0.2.0 5863 + safe-stable-stringify: 2.5.0 5864 + sonic-boom: 3.8.1 5865 + thread-stream: 2.7.0 5866 + 5867 + pkg-dir@8.0.0: 5868 + dependencies: 5869 + find-up-simple: 1.0.1 5870 + 5871 + playwright-core@1.58.2: {} 5872 + 5873 + playwright@1.58.2: 5874 + dependencies: 5875 + playwright-core: 1.58.2 5876 + optionalDependencies: 5877 + fsevents: 2.3.2 5878 + 5879 + pluralize@8.0.0: {} 5880 + 5881 + postcss@8.5.6: 5882 + dependencies: 5883 + nanoid: 3.3.11 5884 + picocolors: 1.1.1 5885 + source-map-js: 1.2.1 5886 + 5887 + powershell-utils@0.1.0: {} 5888 + 5889 + prebuild-install@7.1.3: 5890 + dependencies: 5891 + detect-libc: 2.1.2 5892 + expand-template: 2.0.3 5893 + github-from-package: 0.0.0 5894 + minimist: 1.2.8 5895 + mkdirp-classic: 0.5.3 5896 + napi-build-utils: 2.0.0 5897 + node-abi: 3.87.0 5898 + pump: 3.0.4 5899 + rc: 1.2.8 5900 + simple-get: 4.0.1 5901 + tar-fs: 2.1.4 5902 + tunnel-agent: 0.6.0 5903 + 5904 + prelude-ls@1.2.1: {} 5905 + 5906 + prettier-linter-helpers@1.0.1: 5907 + dependencies: 5908 + fast-diff: 1.3.0 5909 + 5910 + prettier-plugin-edgejs@1.0.6: 5911 + dependencies: 5912 + '@adobe/css-tools': 4.4.4 5913 + edgejs-parser: 0.2.18 5914 + prettier: 3.8.1 5915 + uglify-js: 3.19.3 5916 + 5917 + prettier@3.8.1: {} 5918 + 5919 + pretty-format@30.2.0: 5920 + dependencies: 5921 + '@jest/schemas': 30.0.5 5922 + ansi-styles: 5.2.0 5923 + react-is: 18.3.1 5924 + 5925 + pretty-hrtime@1.0.3: {} 5926 + 5927 + pretty-ms@9.3.0: 5928 + dependencies: 5929 + parse-ms: 4.0.0 5930 + 5931 + process-warning@3.0.0: {} 5932 + 5933 + process-warning@5.0.0: {} 5934 + 5935 + process@0.11.10: {} 5936 + 5937 + property-information@7.1.0: {} 5938 + 5939 + proxy-addr@2.0.7: 5940 + dependencies: 5941 + forwarded: 0.2.0 5942 + ipaddr.js: 1.9.1 5943 + 5944 + proxy-from-env@1.1.0: {} 5945 + 5946 + pump@3.0.4: 5947 + dependencies: 5948 + end-of-stream: 1.4.5 5949 + once: 1.4.0 5950 + 5951 + punycode@2.3.1: {} 5952 + 5953 + qs@6.15.0: 5954 + dependencies: 5955 + side-channel: 1.1.0 5956 + 5957 + queue-microtask@1.2.3: {} 5958 + 5959 + quick-format-unescaped@4.0.4: {} 5960 + 5961 + random-bytes@1.0.0: {} 5962 + 5963 + range-parser@1.2.1: {} 5964 + 5965 + raw-body@3.0.2: 5966 + dependencies: 5967 + bytes: 3.1.2 5968 + http-errors: 2.0.1 5969 + iconv-lite: 0.7.2 5970 + unpipe: 1.0.0 5971 + 5972 + rc@1.2.8: 5973 + dependencies: 5974 + deep-extend: 0.6.0 5975 + ini: 1.3.8 5976 + minimist: 1.2.8 5977 + strip-json-comments: 2.0.1 5978 + 5979 + react-is@18.3.1: {} 5980 + 5981 + read-package-up@12.0.0: 5982 + dependencies: 5983 + find-up-simple: 1.0.1 5984 + read-pkg: 10.1.0 5985 + type-fest: 5.4.4 5986 + 5987 + read-pkg@10.1.0: 5988 + dependencies: 5989 + '@types/normalize-package-data': 2.4.4 5990 + normalize-package-data: 8.0.0 5991 + parse-json: 8.3.0 5992 + type-fest: 5.4.4 5993 + unicorn-magic: 0.4.0 5994 + 5995 + readable-stream@3.6.2: 5996 + dependencies: 5997 + inherits: 2.0.4 5998 + string_decoder: 1.3.0 5999 + util-deprecate: 1.0.2 6000 + 6001 + readable-stream@4.7.0: 6002 + dependencies: 6003 + abort-controller: 3.0.0 6004 + buffer: 6.0.3 6005 + events: 3.3.0 6006 + process: 0.11.10 6007 + string_decoder: 1.3.0 6008 + 6009 + readdirp@5.0.0: {} 6010 + 6011 + real-require@0.2.0: {} 6012 + 6013 + rechoir@0.8.0: 6014 + dependencies: 6015 + resolve: 1.22.11 6016 + 6017 + reflect-metadata@0.2.2: {} 6018 + 6019 + regexp-tree@0.1.27: {} 6020 + 6021 + regjsparser@0.13.0: 6022 + dependencies: 6023 + jsesc: 3.1.0 6024 + 6025 + require-directory@2.1.1: {} 6026 + 6027 + resolve-from@5.0.0: {} 6028 + 6029 + resolve-pkg-maps@1.0.0: {} 6030 + 6031 + resolve@1.22.11: 6032 + dependencies: 6033 + is-core-module: 2.16.1 6034 + path-parse: 1.0.7 6035 + supports-preserve-symlinks-flag: 1.0.0 6036 + 6037 + restore-cursor@5.1.0: 6038 + dependencies: 6039 + onetime: 7.0.0 6040 + signal-exit: 4.1.0 6041 + 6042 + retry@0.13.1: {} 6043 + 6044 + reusify@1.1.0: {} 6045 + 6046 + rndm@1.2.0: {} 6047 + 6048 + rollup@4.59.0: 6049 + dependencies: 6050 + '@types/estree': 1.0.8 6051 + optionalDependencies: 6052 + '@rollup/rollup-android-arm-eabi': 4.59.0 6053 + '@rollup/rollup-android-arm64': 4.59.0 6054 + '@rollup/rollup-darwin-arm64': 4.59.0 6055 + '@rollup/rollup-darwin-x64': 4.59.0 6056 + '@rollup/rollup-freebsd-arm64': 4.59.0 6057 + '@rollup/rollup-freebsd-x64': 4.59.0 6058 + '@rollup/rollup-linux-arm-gnueabihf': 4.59.0 6059 + '@rollup/rollup-linux-arm-musleabihf': 4.59.0 6060 + '@rollup/rollup-linux-arm64-gnu': 4.59.0 6061 + '@rollup/rollup-linux-arm64-musl': 4.59.0 6062 + '@rollup/rollup-linux-loong64-gnu': 4.59.0 6063 + '@rollup/rollup-linux-loong64-musl': 4.59.0 6064 + '@rollup/rollup-linux-ppc64-gnu': 4.59.0 6065 + '@rollup/rollup-linux-ppc64-musl': 4.59.0 6066 + '@rollup/rollup-linux-riscv64-gnu': 4.59.0 6067 + '@rollup/rollup-linux-riscv64-musl': 4.59.0 6068 + '@rollup/rollup-linux-s390x-gnu': 4.59.0 6069 + '@rollup/rollup-linux-x64-gnu': 4.59.0 6070 + '@rollup/rollup-linux-x64-musl': 4.59.0 6071 + '@rollup/rollup-openbsd-x64': 4.59.0 6072 + '@rollup/rollup-openharmony-arm64': 4.59.0 6073 + '@rollup/rollup-win32-arm64-msvc': 4.59.0 6074 + '@rollup/rollup-win32-ia32-msvc': 4.59.0 6075 + '@rollup/rollup-win32-x64-gnu': 4.59.0 6076 + '@rollup/rollup-win32-x64-msvc': 4.59.0 6077 + fsevents: 2.3.3 6078 + 6079 + run-applescript@7.1.0: {} 6080 + 6081 + run-parallel@1.2.0: 6082 + dependencies: 6083 + queue-microtask: 1.2.3 6084 + 6085 + safe-buffer@5.1.2: {} 6086 + 6087 + safe-buffer@5.2.1: {} 6088 + 6089 + safe-stable-stringify@2.5.0: {} 6090 + 6091 + safer-buffer@2.1.2: {} 6092 + 6093 + secure-json-parse@4.1.0: {} 6094 + 6095 + semver@7.7.4: {} 6096 + 6097 + send@1.2.1: 6098 + dependencies: 6099 + debug: 4.4.3 6100 + encodeurl: 2.0.0 6101 + escape-html: 1.0.3 6102 + etag: 1.8.1 6103 + fresh: 2.0.0 6104 + http-errors: 2.0.1 6105 + mime-types: 3.0.2 6106 + ms: 2.1.3 6107 + on-finished: 2.4.1 6108 + range-parser: 1.2.1 6109 + statuses: 2.0.2 6110 + transitivePeerDependencies: 6111 + - supports-color 6112 + 6113 + serve-static@2.2.1: 6114 + dependencies: 6115 + encodeurl: 2.0.0 6116 + escape-html: 1.0.3 6117 + parseurl: 1.3.3 6118 + send: 1.2.1 6119 + transitivePeerDependencies: 6120 + - supports-color 6121 + 6122 + setprototypeof@1.2.0: {} 6123 + 6124 + shebang-command@2.0.0: 6125 + dependencies: 6126 + shebang-regex: 3.0.0 6127 + 6128 + shebang-regex@3.0.0: {} 6129 + 6130 + side-channel-list@1.0.0: 6131 + dependencies: 6132 + es-errors: 1.3.0 6133 + object-inspect: 1.13.4 6134 + 6135 + side-channel-map@1.0.1: 6136 + dependencies: 6137 + call-bound: 1.0.4 6138 + es-errors: 1.3.0 6139 + get-intrinsic: 1.3.0 6140 + object-inspect: 1.13.4 6141 + 6142 + side-channel-weakmap@1.0.2: 6143 + dependencies: 6144 + call-bound: 1.0.4 6145 + es-errors: 1.3.0 6146 + get-intrinsic: 1.3.0 6147 + object-inspect: 1.13.4 6148 + side-channel-map: 1.0.1 6149 + 6150 + side-channel@1.1.0: 6151 + dependencies: 6152 + es-errors: 1.3.0 6153 + object-inspect: 1.13.4 6154 + side-channel-list: 1.0.0 6155 + side-channel-map: 1.0.1 6156 + side-channel-weakmap: 1.0.2 6157 + 6158 + signal-exit@4.1.0: {} 6159 + 6160 + simple-concat@1.0.1: {} 6161 + 6162 + simple-get@4.0.1: 6163 + dependencies: 6164 + decompress-response: 6.0.0 6165 + once: 1.4.0 6166 + simple-concat: 1.0.1 6167 + 6168 + slash@5.1.0: {} 6169 + 6170 + slashes@3.0.12: {} 6171 + 6172 + slice-ansi@7.1.2: 6173 + dependencies: 6174 + ansi-styles: 6.2.3 6175 + is-fullwidth-code-point: 5.1.0 6176 + 6177 + slice-ansi@8.0.0: 6178 + dependencies: 6179 + ansi-styles: 6.2.3 6180 + is-fullwidth-code-point: 5.1.0 6181 + 6182 + slugify@1.6.6: {} 6183 + 6184 + sonic-boom@3.8.1: 6185 + dependencies: 6186 + atomic-sleep: 1.0.0 6187 + 6188 + sonic-boom@4.2.1: 6189 + dependencies: 6190 + atomic-sleep: 1.0.0 6191 + 6192 + source-map-js@1.2.1: {} 6193 + 6194 + spdx-correct@3.2.0: 6195 + dependencies: 6196 + spdx-expression-parse: 3.0.1 6197 + spdx-license-ids: 3.0.23 6198 + 6199 + spdx-exceptions@2.5.0: {} 6200 + 6201 + spdx-expression-parse@3.0.1: 6202 + dependencies: 6203 + spdx-exceptions: 2.5.0 6204 + spdx-license-ids: 3.0.23 6205 + 6206 + spdx-license-ids@3.0.23: {} 6207 + 6208 + split-lines@3.0.0: {} 6209 + 6210 + split2@4.2.0: {} 6211 + 6212 + statuses@2.0.2: {} 6213 + 6214 + string-width@4.2.3: 6215 + dependencies: 6216 + emoji-regex: 8.0.0 6217 + is-fullwidth-code-point: 3.0.0 6218 + strip-ansi: 6.0.1 6219 + 6220 + string-width@8.2.0: 6221 + dependencies: 6222 + get-east-asian-width: 1.5.0 6223 + strip-ansi: 7.2.0 6224 + 6225 + string_decoder@1.3.0: 6226 + dependencies: 6227 + safe-buffer: 5.2.1 6228 + 6229 + stringify-attributes@4.0.0: 6230 + dependencies: 6231 + escape-goat: 4.0.0 6232 + 6233 + strip-ansi@6.0.1: 6234 + dependencies: 6235 + ansi-regex: 5.0.1 6236 + 6237 + strip-ansi@7.2.0: 6238 + dependencies: 6239 + ansi-regex: 6.2.2 6240 + 6241 + strip-final-newline@4.0.0: {} 6242 + 6243 + strip-indent@4.1.1: {} 6244 + 6245 + strip-json-comments@2.0.1: {} 6246 + 6247 + strip-json-comments@5.0.3: {} 6248 + 6249 + strtok3@10.3.4: 6250 + dependencies: 6251 + '@tokenizer/token': 0.3.0 6252 + 6253 + supports-color@10.2.2: {} 6254 + 6255 + supports-color@7.2.0: 6256 + dependencies: 6257 + has-flag: 4.0.0 6258 + 6259 + supports-preserve-symlinks-flag@1.0.0: {} 6260 + 6261 + synckit@0.11.12: 6262 + dependencies: 6263 + '@pkgr/core': 0.2.9 6264 + 6265 + tagged-tag@1.0.0: {} 6266 + 6267 + tar-fs@2.1.4: 6268 + dependencies: 6269 + chownr: 1.1.4 6270 + mkdirp-classic: 0.5.3 6271 + pump: 3.0.4 6272 + tar-stream: 2.2.0 6273 + 6274 + tar-stream@2.2.0: 6275 + dependencies: 6276 + bl: 4.1.0 6277 + end-of-stream: 1.4.5 6278 + fs-constants: 1.0.0 6279 + inherits: 2.0.4 6280 + readable-stream: 3.6.2 6281 + 6282 + tarn@3.0.2: {} 6283 + 6284 + tempura@0.4.1: {} 6285 + 6286 + thread-stream@2.7.0: 6287 + dependencies: 6288 + real-require: 0.2.0 6289 + 6290 + thread-stream@4.0.0: 6291 + dependencies: 6292 + real-require: 0.2.0 6293 + 6294 + tildify@2.0.0: {} 6295 + 6296 + timekeeper@2.3.1: {} 6297 + 6298 + tinyexec@1.0.2: {} 6299 + 6300 + tinyglobby@0.2.15: 6301 + dependencies: 6302 + fdir: 6.5.0(picomatch@4.0.3) 6303 + picomatch: 4.0.3 6304 + 6305 + tmp-cache@1.1.0: {} 6306 + 6307 + to-regex-range@5.0.1: 6308 + dependencies: 6309 + is-number: 7.0.0 6310 + 6311 + toidentifier@1.0.1: {} 6312 + 6313 + token-types@6.1.2: 6314 + dependencies: 6315 + '@borewit/text-codec': 0.2.1 6316 + '@tokenizer/token': 0.3.0 6317 + ieee754: 1.2.1 6318 + 6319 + ts-api-utils@2.4.0(typescript@5.9.3): 6320 + dependencies: 6321 + typescript: 5.9.3 6322 + 6323 + ts-morph@27.0.2: 6324 + dependencies: 6325 + '@ts-morph/common': 0.28.1 6326 + code-block-writer: 13.0.3 6327 + 6328 + tslib@2.8.1: {} 6329 + 6330 + tsscmp@1.0.6: {} 6331 + 6332 + tunnel-agent@0.6.0: 6333 + dependencies: 6334 + safe-buffer: 5.2.1 6335 + 6336 + type-check@0.4.0: 6337 + dependencies: 6338 + prelude-ls: 1.2.1 6339 + 6340 + type-fest@4.41.0: {} 6341 + 6342 + type-fest@5.4.4: 6343 + dependencies: 6344 + tagged-tag: 1.0.0 6345 + 6346 + type-is@2.0.1: 6347 + dependencies: 6348 + content-type: 1.0.5 6349 + media-typer: 1.1.0 6350 + mime-types: 3.0.2 6351 + 6352 + typescript-eslint@8.56.1(eslint@10.0.2)(typescript@5.9.3): 6353 + dependencies: 6354 + '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2)(typescript@5.9.3))(eslint@10.0.2)(typescript@5.9.3) 6355 + '@typescript-eslint/parser': 8.56.1(eslint@10.0.2)(typescript@5.9.3) 6356 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) 6357 + '@typescript-eslint/utils': 8.56.1(eslint@10.0.2)(typescript@5.9.3) 6358 + eslint: 10.0.2 6359 + typescript: 5.9.3 6360 + transitivePeerDependencies: 6361 + - supports-color 6362 + 6363 + typescript@5.9.3: {} 6364 + 6365 + uglify-js@3.19.3: {} 6366 + 6367 + uid-safe@2.1.5: 6368 + dependencies: 6369 + random-bytes: 1.0.0 6370 + 6371 + uint8array-extras@1.5.0: {} 6372 + 6373 + uint8arrays@3.0.0: 6374 + dependencies: 6375 + multiformats: 9.9.0 6376 + 6377 + undici-types@7.16.0: {} 6378 + 6379 + undici@6.23.0: {} 6380 + 6381 + unicode-segmenter@0.14.5: {} 6382 + 6383 + unicorn-magic@0.3.0: {} 6384 + 6385 + unicorn-magic@0.4.0: {} 6386 + 6387 + unpipe@1.0.0: {} 6388 + 6389 + update-browserslist-db@1.2.3(browserslist@4.28.1): 6390 + dependencies: 6391 + browserslist: 4.28.1 6392 + escalade: 3.2.0 6393 + picocolors: 1.1.1 6394 + 6395 + uri-js@4.4.1: 6396 + dependencies: 6397 + punycode: 2.3.1 6398 + 6399 + util-deprecate@1.0.2: {} 6400 + 6401 + validate-npm-package-license@3.0.4: 6402 + dependencies: 6403 + spdx-correct: 3.2.0 6404 + spdx-expression-parse: 3.0.1 6405 + 6406 + validator@13.15.26: {} 6407 + 6408 + varint@6.0.0: {} 6409 + 6410 + vary@1.1.2: {} 6411 + 6412 + vite-plugin-restart@2.0.0(vite@7.3.1(@types/node@24.11.0)): 6413 + dependencies: 6414 + micromatch: 4.0.8 6415 + vite: 7.3.1(@types/node@24.11.0) 6416 + 6417 + vite@7.3.1(@types/node@24.11.0): 6418 + dependencies: 6419 + esbuild: 0.27.3 6420 + fdir: 6.5.0(picomatch@4.0.3) 6421 + picomatch: 4.0.3 6422 + postcss: 8.5.6 6423 + rollup: 4.59.0 6424 + tinyglobby: 0.2.15 6425 + optionalDependencies: 6426 + '@types/node': 24.11.0 6427 + fsevents: 2.3.3 6428 + 6429 + vscode-uri@3.1.0: {} 6430 + 6431 + vue-sonner@2.0.9: {} 6432 + 6433 + vue-tsc@3.2.5(typescript@5.9.3): 6434 + dependencies: 6435 + '@volar/typescript': 2.4.28 6436 + '@vue/language-core': 3.2.5 6437 + typescript: 5.9.3 6438 + 6439 + vue@3.5.29(typescript@5.9.3): 6440 + dependencies: 6441 + '@vue/compiler-dom': 3.5.29 6442 + '@vue/compiler-sfc': 3.5.29 6443 + '@vue/runtime-dom': 3.5.29 6444 + '@vue/server-renderer': 3.5.29(vue@3.5.29(typescript@5.9.3)) 6445 + '@vue/shared': 3.5.29 6446 + optionalDependencies: 6447 + typescript: 5.9.3 6448 + 6449 + which@2.0.2: 6450 + dependencies: 6451 + isexe: 2.0.0 6452 + 6453 + word-wrap@1.2.5: {} 6454 + 6455 + wrap-ansi@10.0.0: 6456 + dependencies: 6457 + ansi-styles: 6.2.3 6458 + string-width: 8.2.0 6459 + strip-ansi: 7.2.0 6460 + 6461 + wrap-ansi@7.0.0: 6462 + dependencies: 6463 + ansi-styles: 4.3.0 6464 + string-width: 4.2.3 6465 + strip-ansi: 6.0.1 6466 + 6467 + wrappy@1.0.2: {} 6468 + 6469 + wsl-utils@0.3.1: 6470 + dependencies: 6471 + is-wsl: 3.1.1 6472 + powershell-utils: 0.1.0 6473 + 6474 + y18n@5.0.8: {} 6475 + 6476 + yargs-parser@21.1.1: {} 6477 + 6478 + yargs-parser@22.0.0: {} 6479 + 6480 + yargs@17.7.2: 6481 + dependencies: 6482 + cliui: 8.0.1 6483 + escalade: 3.2.0 6484 + get-caller-file: 2.0.5 6485 + require-directory: 2.1.1 6486 + string-width: 4.2.3 6487 + y18n: 5.0.8 6488 + yargs-parser: 21.1.1 6489 + 6490 + yocto-queue@0.1.0: {} 6491 + 6492 + yoctocolors@2.1.2: {} 6493 + 6494 + youch-core@0.3.3: 6495 + dependencies: 6496 + '@poppinss/exception': 1.2.3 6497 + error-stack-parser-es: 1.0.5 6498 + 6499 + youch@4.1.0: 6500 + dependencies: 6501 + '@poppinss/colors': 4.1.6 6502 + '@poppinss/dumper': 0.7.0 6503 + '@speed-highlight/core': 1.2.14 6504 + cookie-es: 2.0.0 6505 + youch-core: 0.3.3 6506 + 6507 + zod@3.25.76: {}
+4
pnpm-workspace.yaml
··· 1 + onlyBuiltDependencies: 2 + - '@swc/core' 3 + - better-sqlite3 4 + - esbuild
+60
providers/api_provider.ts
··· 1 + import { HttpContext } from '@adonisjs/core/http' 2 + import { BaseSerializer } from '@adonisjs/core/transformers' 3 + import { type SimplePaginatorMetaKeys } from '@adonisjs/lucid/types/querybuilder' 4 + 5 + /** 6 + * Custom serializer for API responses that ensures consistent JSON structure 7 + * across all API endpoints. Wraps response data in a 'data' property and handles 8 + * pagination metadata for Lucid ORM query results. 9 + */ 10 + class ApiSerializer extends BaseSerializer<{ 11 + Wrap: 'data' 12 + PaginationMetaData: SimplePaginatorMetaKeys 13 + }> { 14 + /** 15 + * Wraps all serialized data under this key in the response object. 16 + * Example: { data: [...] } instead of returning raw arrays/objects 17 + */ 18 + wrap: 'data' = 'data' 19 + 20 + /** 21 + * Validates and defines pagination metadata structure for paginated responses. 22 + * Ensures that pagination info from Lucid queries is properly formatted. 23 + * 24 + * @throws Error if metadata doesn't match Lucid's pagination structure 25 + */ 26 + definePaginationMetaData(metaData: unknown): SimplePaginatorMetaKeys { 27 + if (!this.isLucidPaginatorMetaData(metaData)) { 28 + throw new Error( 29 + 'Invalid pagination metadata. Expected metadata to contain Lucid pagination keys' 30 + ) 31 + } 32 + return metaData 33 + } 34 + } 35 + 36 + /** 37 + * Single instance of ApiSerializer used across the application 38 + */ 39 + const serializer = new ApiSerializer() 40 + const serialize = serializer.serialize.bind(serializer) as ApiSerializer['serialize'] & { 41 + withoutWrapping: ApiSerializer['serializeWithoutWrapping'] 42 + } 43 + serialize.withoutWrapping = serializer.serializeWithoutWrapping.bind(serializer) 44 + 45 + /** 46 + * Adds the serialize method to all HttpContext instances. 47 + * Usage in controllers: return ctx.serialize(data) 48 + * This ensures all API responses follow the same structure with data wrapping. 49 + */ 50 + HttpContext.instanceProperty('serialize', serialize) 51 + 52 + /** 53 + * Module augmentation to add the serialize method to HttpContext. 54 + * This allows controllers to use ctx.serialize() for consistent API responses. 55 + */ 56 + declare module '@adonisjs/core/http' { 57 + export interface HttpContext { 58 + serialize: typeof serialize 59 + } 60 + }
+19
resources/views/inertia_layout.edge
··· 1 + <!DOCTYPE html> 2 + <html> 3 + <head> 4 + <meta charset="utf-8" /> 5 + <meta name="viewport" content="width=device-width, initial-scale=1" /> 6 + <title inertia> 7 + AdonisJS 8 + </title> 9 + 10 + @vite(['inertia/app.ts']) 11 + @inertiaHead() 12 + @stack('dumper') 13 + </head> 14 + 15 + <body> 16 + @inertia() 17 + </body> 18 + 19 + </html>
+35
start/env.ts
··· 1 + /* 2 + |-------------------------------------------------------------------------- 3 + | Environment variables service 4 + |-------------------------------------------------------------------------- 5 + | 6 + | The `Env.create` method creates an instance of the Env service. The 7 + | service validates the environment variables and also cast values 8 + | to JavaScript data types. 9 + | 10 + */ 11 + 12 + import { Env } from '@adonisjs/core/env' 13 + 14 + export default await Env.create(new URL('../', import.meta.url), { 15 + // Node 16 + NODE_ENV: Env.schema.enum(['development', 'production', 'test'] as const), 17 + PORT: Env.schema.number(), 18 + HOST: Env.schema.string({ format: 'host' }), 19 + LOG_LEVEL: Env.schema.string(), 20 + 21 + // App 22 + APP_KEY: Env.schema.secret(), 23 + 24 + // Session 25 + SESSION_DRIVER: Env.schema.enum(['cookie', 'memory', 'database'] as const), 26 + 27 + /* 28 + |---------------------------------------------------------- 29 + | Variables for configuring the AT Protocol OAuth 30 + |---------------------------------------------------------- 31 + */ 32 + PUBLIC_URL: Env.schema.string({ format: 'url', tld: false }), 33 + ATPROTO_OAUTH_CLIENT_ID: Env.schema.string.optional({ format: 'url', tld: true, protocol: true }), 34 + ATPROTO_OAUTH_JWT_PRIVATE_KEY: Env.schema.string.optional() 35 + })
+36
start/kernel.ts
··· 1 + /* 2 + |-------------------------------------------------------------------------- 3 + | HTTP kernel file 4 + |-------------------------------------------------------------------------- 5 + | 6 + | The HTTP kernel file is used to register the middleware with the server 7 + | or the router. 8 + | 9 + */ 10 + 11 + import router from '@adonisjs/core/services/router' 12 + import server from '@adonisjs/core/services/server' 13 + 14 + server.errorHandler(() => import('#exceptions/handler')) 15 + 16 + server.use([ 17 + () => import('#middleware/container_bindings_middleware'), 18 + () => import('@adonisjs/static/static_middleware'), 19 + () => import('@adonisjs/cors/cors_middleware'), 20 + () => import('@adonisjs/vite/vite_middleware'), 21 + () => import('#middleware/inertia_middleware'), 22 + ]) 23 + 24 + router.use([ 25 + () => import('@adonisjs/core/bodyparser_middleware'), 26 + () => import('@adonisjs/session/session_middleware'), 27 + () => import('@adonisjs/shield/shield_middleware'), 28 + () => import('@adonisjs/auth/initialize_auth_middleware'), 29 + () => import('#middleware/silent_auth_middleware'), 30 + () => import('@thisismissem/adonisjs-atproto-oauth/initialize_atproto_auth_middleware') 31 + ]) 32 + 33 + export const middleware = router.named({ 34 + guest: () => import('#middleware/guest_middleware'), 35 + auth: () => import('#middleware/auth_middleware'), 36 + })
+31
start/routes.ts
··· 1 + /* 2 + |-------------------------------------------------------------------------- 3 + | Routes file 4 + |-------------------------------------------------------------------------- 5 + | 6 + | The routes file is used for defining the HTTP routes. 7 + | 8 + */ 9 + 10 + import { middleware } from '#start/kernel' 11 + import { controllers } from '#generated/controllers' 12 + import router from '@adonisjs/core/services/router' 13 + import '#start/routes/oauth'; 14 + 15 + router.on('/').renderInertia('home', {}).as('home') 16 + 17 + router 18 + .group(() => { 19 + router.get('signup', [controllers.NewAccount, 'create']) 20 + router.post('signup', [controllers.NewAccount, 'store']) 21 + 22 + router.get('login', [controllers.Session, 'create']) 23 + router.post('login', [controllers.Session, 'store']) 24 + }) 25 + .use(middleware.guest()) 26 + 27 + router 28 + .group(() => { 29 + router.post('logout', [controllers.Session, 'destroy']) 30 + }) 31 + .use(middleware.auth())
+17
start/routes/oauth.ts
··· 1 + import router from '@adonisjs/core/services/router' 2 + import { middleware } from '#start/kernel' 3 + 4 + const OAuthController = () => import('#controllers/oauth_controller') 5 + 6 + router 7 + .post('/oauth/logout', [OAuthController, 'handleLogout']) 8 + .as('oauth.logout') 9 + .use(middleware.auth()) 10 + 11 + router 12 + .group(() => { 13 + router.post('/oauth/login', [OAuthController, 'handleLogin']).as('login') 14 + router.post('/oauth/signup', [OAuthController, 'handleSignup']).as('signup') 15 + router.get('/oauth/callback', [OAuthController, 'callback']).as('callback') 16 + }) 17 + .as('oauth')
+23
start/validator.ts
··· 1 + /* 2 + |-------------------------------------------------------------------------- 3 + | Validator file 4 + |-------------------------------------------------------------------------- 5 + | 6 + | The validator file is used for configuring global transforms for VineJS. 7 + | The transform below converts all VineJS date outputs from JavaScript 8 + | Date objects to Luxon DateTime instances, so that validated dates are 9 + | ready to use with Lucid models and other parts of the app that expect 10 + | Luxon DateTime. 11 + | 12 + */ 13 + 14 + import { DateTime } from 'luxon' 15 + import { VineDate } from '@vinejs/vine' 16 + 17 + declare module '@vinejs/vine/types' { 18 + interface VineGlobalTransforms { 19 + date: DateTime 20 + } 21 + } 22 + 23 + VineDate.transform((value) => DateTime.fromJSDate(value))
+37
tests/bootstrap.ts
··· 1 + import { assert } from '@japa/assert' 2 + import app from '@adonisjs/core/services/app' 3 + import type { Config } from '@japa/runner/types' 4 + import { pluginAdonisJS } from '@japa/plugin-adonisjs' 5 + import testUtils from '@adonisjs/core/services/test_utils' 6 + 7 + /** 8 + * This file is imported by the "bin/test.ts" entrypoint file 9 + */ 10 + 11 + /** 12 + * Configure Japa plugins in the plugins array. 13 + * Learn more - https://japa.dev/docs/runner-config#plugins-optional 14 + */ 15 + export const plugins: Config['plugins'] = [assert(), pluginAdonisJS(app)] 16 + 17 + /** 18 + * Configure lifecycle function to run before and after all the 19 + * tests. 20 + * 21 + * The setup functions are executed before all the tests 22 + * The teardown functions are executed after all the tests 23 + */ 24 + export const runnerHooks: Required<Pick<Config, 'setup' | 'teardown'>> = { 25 + setup: [], 26 + teardown: [], 27 + } 28 + 29 + /** 30 + * Configure suites by tapping into the test suite instance. 31 + * Learn more - https://japa.dev/docs/test-suites#lifecycle-hooks 32 + */ 33 + export const configureSuite: Config['configureSuite'] = (suite) => { 34 + if (['browser', 'functional', 'e2e'].includes(suite.name)) { 35 + return suite.setup(() => testUtils.httpServer().start()) 36 + } 37 + }
tmp/.gitkeep

This is a binary file and will not be displayed.

+8
tsconfig.inertia.json
··· 1 + { 2 + "extends": "./inertia/tsconfig.json", 3 + "compilerOptions": { 4 + "rootDir": "./inertia", 5 + "composite": true 6 + }, 7 + "include": ["./inertia/**/*.ts", "./inertia/**/*.vue"] 8 + }
+8
tsconfig.json
··· 1 + { 2 + "extends": "@adonisjs/tsconfig/tsconfig.app.json", 3 + "compilerOptions": { 4 + "rootDir": "./", 5 + "outDir": "./build" 6 + }, 7 + "references": [{ "path": "./tsconfig.inertia.json" }] 8 + }
+25
vite.config.ts
··· 1 + import { defineConfig } from 'vite' 2 + import vue from '@vitejs/plugin-vue' 3 + import adonisjs from '@adonisjs/vite/client' 4 + import inertia from '@adonisjs/inertia/vite' 5 + 6 + export default defineConfig({ 7 + plugins: [ 8 + vue(), 9 + inertia({ ssr: { enabled: false, entrypoint: 'inertia/ssr.ts' } }), 10 + adonisjs({ entrypoints: ['inertia/app.ts'], reload: ['resources/views/**/*.edge'] }), 11 + ], 12 + 13 + resolve: { 14 + alias: { 15 + '~/': `${import.meta.dirname}/inertia/`, 16 + '@generated': `${import.meta.dirname}/.adonisjs/client/`, 17 + }, 18 + }, 19 + 20 + server: { 21 + watch: { 22 + ignored: ['**/storage/**', '**/tmp/**'], 23 + }, 24 + }, 25 + })