a homebrewed DnD campaign based in the Honkai: Star Rail universe
hsr honkaistarrail dnd
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

add authentication, reformatting, newer homepage, oxlint

+3255 -393
+8
.env.example
··· 1 + BETTER_AUTH_SECRET= 2 + BETTER_AUTH_URL= 3 + DISCORD_CLIENT_ID= 4 + DISCORD_CLIENT_SECRET= 5 + DATABASE_POOL_PORT= 6 + DATABASE_POOL_USER= 7 + DATABASE_POOL_PASSWORD= 8 + DATABASE_POOL_DATABASE_NAME=
-1
.npmrc
··· 1 - engine-strict=true
+65
.oxlintrc.json
··· 1 + { 2 + "$schema": "./node_modules/oxlint/configuration_schema.json", 3 + "plugins": [ 4 + "oxc", 5 + "promise", 6 + "unicorn", 7 + "typescript" 8 + ], 9 + "categories": { 10 + "correctness": "error" 11 + }, 12 + "env": { 13 + "builtin": true 14 + }, 15 + "ignorePatterns": [ 16 + "**/dist/", 17 + "docs/typedoc" 18 + ], 19 + "rules": { 20 + "no-array-constructor": "error", 21 + "no-empty-function": "error", 22 + "no-unused-expressions": "error", 23 + "prefer-rest-params": "error", 24 + "prefer-spread": "error", 25 + "promise/no-return-wrap": "error", 26 + "promise/param-names": "error", 27 + "promise/catch-or-return": "error", 28 + "promise/no-nesting": "warn", 29 + "promise/no-promise-in-callback": "warn", 30 + "promise/no-callback-in-promise": "warn", 31 + "promise/avoid-new": "off", 32 + "promise/no-new-statics": "error", 33 + "promise/valid-params": "warn", 34 + "typescript/ban-ts-comment": "error", 35 + "typescript/no-duplicate-enum-values": "error", 36 + "typescript/no-empty-object-type": "error", 37 + "typescript/no-explicit-any": "error", 38 + "typescript/no-extra-non-null-assertion": "error", 39 + "typescript/no-misused-new": "error", 40 + "typescript/no-namespace": "error", 41 + "typescript/no-non-null-asserted-optional-chain": "error", 42 + "typescript/no-require-imports": "error", 43 + "typescript/no-this-alias": "error", 44 + "typescript/no-unnecessary-type-constraint": "error", 45 + "typescript/no-unsafe-declaration-merging": "error", 46 + "typescript/no-unsafe-function-type": "error", 47 + "typescript/no-wrapper-object-types": "error", 48 + "typescript/prefer-as-const": "error", 49 + "typescript/prefer-namespace-keyword": "error", 50 + "typescript/triple-slash-reference": "error", 51 + "typescript/adjacent-overload-signatures": "error", 52 + "typescript/array-type": "error", 53 + "typescript/ban-tslint-comment": "error", 54 + "typescript/consistent-generic-constructors": "error", 55 + "typescript/consistent-indexed-object-style": "error", 56 + "typescript/consistent-type-definitions": [ 57 + "error", 58 + "type" 59 + ], 60 + "typescript/no-confusing-non-null-assertion": "error", 61 + "typescript/no-inferrable-types": "error", 62 + "typescript/prefer-for-of": "error", 63 + "typescript/prefer-function-type": "error" 64 + } 65 + }
+12 -37
README.md
··· 1 - # sv 1 + # HSR Campaign 2 2 3 - Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli). 4 - 5 - ## Creating a project 6 - 7 - If you're seeing this, you've probably already done this step. Congrats! 8 - 9 - ```sh 10 - # create a new project in the current directory 11 - npx sv create 12 - 13 - # create a new project in my-app 14 - npx sv create my-app 15 - ``` 16 - 17 - ## Developing 18 - 19 - Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: 20 - 21 - ```sh 22 - npm run dev 23 - 24 - # or start the server and open the app in a new browser tab 25 - npm run dev -- --open 26 - ``` 27 - 28 - ## Building 29 - 30 - To create a production version of your app: 31 - 32 - ```sh 33 - npm run build 34 - ``` 35 - 36 - You can preview the production build with `npm run preview`. 37 - 38 - > To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment. 3 + ## Stack 4 + - **Frontend** 5 + - Build tool: Vite 6 + - Web framework: Svelte & SvelteKit 7 + - Icons: Lucide 8 + - CSS: TailwindCSS 9 + - Animation (Soon): Anime.js 10 + - 3D (Soon): Threlte 11 + - **Backend** 12 + - Auth: Better-Auth 13 + - Database: MySQL with `mysql2`
+7
better-auth_migrations/2025-08-30T04-10-43.059Z.sql
··· 1 + create table `user` (`id` varchar(36) not null primary key, `name` text not null, `email` varchar(255) not null unique, `emailVerified` boolean not null, `image` text, `createdAt` datetime default CURRENT_TIMESTAMP not null, `updatedAt` datetime default CURRENT_TIMESTAMP not null); 2 + 3 + create table `session` (`id` varchar(36) not null primary key, `expiresAt` datetime not null, `token` varchar(255) not null unique, `createdAt` datetime not null, `updatedAt` datetime not null, `ipAddress` text, `userAgent` text, `userId` varchar(36) not null references `user` (`id`) on delete cascade); 4 + 5 + create table `account` (`id` varchar(36) not null primary key, `accountId` text not null, `providerId` text not null, `userId` varchar(36) not null references `user` (`id`) on delete cascade, `accessToken` text, `refreshToken` text, `idToken` text, `accessTokenExpiresAt` datetime, `refreshTokenExpiresAt` datetime, `scope` text, `password` text, `createdAt` datetime not null, `updatedAt` datetime not null); 6 + 7 + create table `verification` (`id` varchar(36) not null primary key, `identifier` text not null, `value` text not null, `expiresAt` datetime not null, `createdAt` datetime default CURRENT_TIMESTAMP, `updatedAt` datetime default CURRENT_TIMESTAMP);
+7
better-auth_migrations/2025-08-30T04-18-31.776Z.sql
··· 1 + create table `user` (`id` varchar(36) not null primary key, `name` text not null, `email` varchar(255) not null unique, `emailVerified` boolean not null, `image` text, `createdAt` datetime default CURRENT_TIMESTAMP not null, `updatedAt` datetime default CURRENT_TIMESTAMP not null); 2 + 3 + create table `session` (`id` varchar(36) not null primary key, `expiresAt` datetime not null, `token` varchar(255) not null unique, `createdAt` datetime not null, `updatedAt` datetime not null, `ipAddress` text, `userAgent` text, `userId` varchar(36) not null references `user` (`id`) on delete cascade); 4 + 5 + create table `account` (`id` varchar(36) not null primary key, `accountId` text not null, `providerId` text not null, `userId` varchar(36) not null references `user` (`id`) on delete cascade, `accessToken` text, `refreshToken` text, `idToken` text, `accessTokenExpiresAt` datetime, `refreshTokenExpiresAt` datetime, `scope` text, `password` text, `createdAt` datetime not null, `updatedAt` datetime not null); 6 + 7 + create table `verification` (`id` varchar(36) not null primary key, `identifier` text not null, `value` text not null, `expiresAt` datetime not null, `createdAt` datetime default CURRENT_TIMESTAMP, `updatedAt` datetime default CURRENT_TIMESTAMP);
+13
compose.yaml
··· 1 + services: 2 + db: 3 + image: mysql:9.4 4 + container_name: mysql-container 5 + restart: always 6 + env_file: .env 7 + ports: 8 + - "3307:3306" 9 + volumes: 10 + - db_data:/var/lib/mysql 11 + 12 + volumes: 13 + db_data:
+2720 -16
package-lock.json
··· 11 11 "@lucide/svelte": "^0.541.0", 12 12 "@threlte/core": "^8.1.4", 13 13 "animejs": "^4.1.3", 14 + "better-auth": "^1.3.7", 15 + "bits-ui": "^2.9.4", 16 + "mysql2": "^3.14.3", 14 17 "type-fest": "^4.41.0" 15 18 }, 16 19 "devDependencies": { 20 + "@better-auth/cli": "^1.3.7", 17 21 "@storybook/addon-svelte-csf": "^5.0.8", 18 22 "@storybook/sveltekit": "^9.1.3", 19 23 "@sveltejs/adapter-auto": "^6.1.0", 20 - "@sveltejs/kit": "^2.36.2", 24 + "@sveltejs/kit": "^2.37.0", 21 25 "@sveltejs/vite-plugin-svelte": "^6.1.3", 22 26 "@tailwindcss/vite": "^4.1.12", 23 27 "@types/node": "^24", 24 28 "mdsvex": "^0.12.6", 29 + "oxlint": "^1.13.0", 25 30 "storybook": "^9.1.3", 26 - "svelte": "^5.38.3", 31 + "svelte": "^5.38.6", 27 32 "svelte-check": "^4.3.1", 28 33 "tailwindcss": "^4.1.12", 29 34 "typescript": "^5.9.2", ··· 37 42 "dev": true, 38 43 "license": "MIT" 39 44 }, 45 + "node_modules/@ampproject/remapping": { 46 + "version": "2.3.0", 47 + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", 48 + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", 49 + "dev": true, 50 + "license": "Apache-2.0", 51 + "dependencies": { 52 + "@jridgewell/gen-mapping": "^0.3.5", 53 + "@jridgewell/trace-mapping": "^0.3.24" 54 + }, 55 + "engines": { 56 + "node": ">=6.0.0" 57 + } 58 + }, 40 59 "node_modules/@babel/code-frame": { 41 60 "version": "7.27.1", 42 61 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", 43 62 "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", 44 63 "dev": true, 45 64 "license": "MIT", 46 - "peer": true, 47 65 "dependencies": { 48 66 "@babel/helper-validator-identifier": "^7.27.1", 49 67 "js-tokens": "^4.0.0", ··· 53 71 "node": ">=6.9.0" 54 72 } 55 73 }, 74 + "node_modules/@babel/compat-data": { 75 + "version": "7.28.0", 76 + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", 77 + "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", 78 + "dev": true, 79 + "license": "MIT", 80 + "engines": { 81 + "node": ">=6.9.0" 82 + } 83 + }, 84 + "node_modules/@babel/core": { 85 + "version": "7.28.3", 86 + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz", 87 + "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", 88 + "dev": true, 89 + "license": "MIT", 90 + "dependencies": { 91 + "@ampproject/remapping": "^2.2.0", 92 + "@babel/code-frame": "^7.27.1", 93 + "@babel/generator": "^7.28.3", 94 + "@babel/helper-compilation-targets": "^7.27.2", 95 + "@babel/helper-module-transforms": "^7.28.3", 96 + "@babel/helpers": "^7.28.3", 97 + "@babel/parser": "^7.28.3", 98 + "@babel/template": "^7.27.2", 99 + "@babel/traverse": "^7.28.3", 100 + "@babel/types": "^7.28.2", 101 + "convert-source-map": "^2.0.0", 102 + "debug": "^4.1.0", 103 + "gensync": "^1.0.0-beta.2", 104 + "json5": "^2.2.3", 105 + "semver": "^6.3.1" 106 + }, 107 + "engines": { 108 + "node": ">=6.9.0" 109 + }, 110 + "funding": { 111 + "type": "opencollective", 112 + "url": "https://opencollective.com/babel" 113 + } 114 + }, 115 + "node_modules/@babel/core/node_modules/semver": { 116 + "version": "6.3.1", 117 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 118 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 119 + "dev": true, 120 + "license": "ISC", 121 + "bin": { 122 + "semver": "bin/semver.js" 123 + } 124 + }, 125 + "node_modules/@babel/generator": { 126 + "version": "7.28.3", 127 + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", 128 + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", 129 + "dev": true, 130 + "license": "MIT", 131 + "dependencies": { 132 + "@babel/parser": "^7.28.3", 133 + "@babel/types": "^7.28.2", 134 + "@jridgewell/gen-mapping": "^0.3.12", 135 + "@jridgewell/trace-mapping": "^0.3.28", 136 + "jsesc": "^3.0.2" 137 + }, 138 + "engines": { 139 + "node": ">=6.9.0" 140 + } 141 + }, 142 + "node_modules/@babel/helper-annotate-as-pure": { 143 + "version": "7.27.3", 144 + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", 145 + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", 146 + "dev": true, 147 + "license": "MIT", 148 + "dependencies": { 149 + "@babel/types": "^7.27.3" 150 + }, 151 + "engines": { 152 + "node": ">=6.9.0" 153 + } 154 + }, 155 + "node_modules/@babel/helper-compilation-targets": { 156 + "version": "7.27.2", 157 + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", 158 + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", 159 + "dev": true, 160 + "license": "MIT", 161 + "dependencies": { 162 + "@babel/compat-data": "^7.27.2", 163 + "@babel/helper-validator-option": "^7.27.1", 164 + "browserslist": "^4.24.0", 165 + "lru-cache": "^5.1.1", 166 + "semver": "^6.3.1" 167 + }, 168 + "engines": { 169 + "node": ">=6.9.0" 170 + } 171 + }, 172 + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { 173 + "version": "5.1.1", 174 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 175 + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 176 + "dev": true, 177 + "license": "ISC", 178 + "dependencies": { 179 + "yallist": "^3.0.2" 180 + } 181 + }, 182 + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { 183 + "version": "6.3.1", 184 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 185 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 186 + "dev": true, 187 + "license": "ISC", 188 + "bin": { 189 + "semver": "bin/semver.js" 190 + } 191 + }, 192 + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { 193 + "version": "3.1.1", 194 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 195 + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 196 + "dev": true, 197 + "license": "ISC" 198 + }, 199 + "node_modules/@babel/helper-create-class-features-plugin": { 200 + "version": "7.28.3", 201 + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz", 202 + "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==", 203 + "dev": true, 204 + "license": "MIT", 205 + "dependencies": { 206 + "@babel/helper-annotate-as-pure": "^7.27.3", 207 + "@babel/helper-member-expression-to-functions": "^7.27.1", 208 + "@babel/helper-optimise-call-expression": "^7.27.1", 209 + "@babel/helper-replace-supers": "^7.27.1", 210 + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", 211 + "@babel/traverse": "^7.28.3", 212 + "semver": "^6.3.1" 213 + }, 214 + "engines": { 215 + "node": ">=6.9.0" 216 + }, 217 + "peerDependencies": { 218 + "@babel/core": "^7.0.0" 219 + } 220 + }, 221 + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { 222 + "version": "6.3.1", 223 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 224 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 225 + "dev": true, 226 + "license": "ISC", 227 + "bin": { 228 + "semver": "bin/semver.js" 229 + } 230 + }, 231 + "node_modules/@babel/helper-globals": { 232 + "version": "7.28.0", 233 + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", 234 + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", 235 + "dev": true, 236 + "license": "MIT", 237 + "engines": { 238 + "node": ">=6.9.0" 239 + } 240 + }, 241 + "node_modules/@babel/helper-member-expression-to-functions": { 242 + "version": "7.27.1", 243 + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", 244 + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", 245 + "dev": true, 246 + "license": "MIT", 247 + "dependencies": { 248 + "@babel/traverse": "^7.27.1", 249 + "@babel/types": "^7.27.1" 250 + }, 251 + "engines": { 252 + "node": ">=6.9.0" 253 + } 254 + }, 255 + "node_modules/@babel/helper-module-imports": { 256 + "version": "7.27.1", 257 + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", 258 + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", 259 + "dev": true, 260 + "license": "MIT", 261 + "dependencies": { 262 + "@babel/traverse": "^7.27.1", 263 + "@babel/types": "^7.27.1" 264 + }, 265 + "engines": { 266 + "node": ">=6.9.0" 267 + } 268 + }, 269 + "node_modules/@babel/helper-module-transforms": { 270 + "version": "7.28.3", 271 + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", 272 + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", 273 + "dev": true, 274 + "license": "MIT", 275 + "dependencies": { 276 + "@babel/helper-module-imports": "^7.27.1", 277 + "@babel/helper-validator-identifier": "^7.27.1", 278 + "@babel/traverse": "^7.28.3" 279 + }, 280 + "engines": { 281 + "node": ">=6.9.0" 282 + }, 283 + "peerDependencies": { 284 + "@babel/core": "^7.0.0" 285 + } 286 + }, 287 + "node_modules/@babel/helper-optimise-call-expression": { 288 + "version": "7.27.1", 289 + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", 290 + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", 291 + "dev": true, 292 + "license": "MIT", 293 + "dependencies": { 294 + "@babel/types": "^7.27.1" 295 + }, 296 + "engines": { 297 + "node": ">=6.9.0" 298 + } 299 + }, 300 + "node_modules/@babel/helper-plugin-utils": { 301 + "version": "7.27.1", 302 + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", 303 + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", 304 + "dev": true, 305 + "license": "MIT", 306 + "engines": { 307 + "node": ">=6.9.0" 308 + } 309 + }, 310 + "node_modules/@babel/helper-replace-supers": { 311 + "version": "7.27.1", 312 + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", 313 + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", 314 + "dev": true, 315 + "license": "MIT", 316 + "dependencies": { 317 + "@babel/helper-member-expression-to-functions": "^7.27.1", 318 + "@babel/helper-optimise-call-expression": "^7.27.1", 319 + "@babel/traverse": "^7.27.1" 320 + }, 321 + "engines": { 322 + "node": ">=6.9.0" 323 + }, 324 + "peerDependencies": { 325 + "@babel/core": "^7.0.0" 326 + } 327 + }, 328 + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { 329 + "version": "7.27.1", 330 + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", 331 + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", 332 + "dev": true, 333 + "license": "MIT", 334 + "dependencies": { 335 + "@babel/traverse": "^7.27.1", 336 + "@babel/types": "^7.27.1" 337 + }, 338 + "engines": { 339 + "node": ">=6.9.0" 340 + } 341 + }, 342 + "node_modules/@babel/helper-string-parser": { 343 + "version": "7.27.1", 344 + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", 345 + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", 346 + "dev": true, 347 + "license": "MIT", 348 + "engines": { 349 + "node": ">=6.9.0" 350 + } 351 + }, 56 352 "node_modules/@babel/helper-validator-identifier": { 57 353 "version": "7.27.1", 58 354 "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", 59 355 "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", 60 356 "dev": true, 61 357 "license": "MIT", 62 - "peer": true, 358 + "engines": { 359 + "node": ">=6.9.0" 360 + } 361 + }, 362 + "node_modules/@babel/helper-validator-option": { 363 + "version": "7.27.1", 364 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", 365 + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", 366 + "dev": true, 367 + "license": "MIT", 63 368 "engines": { 64 369 "node": ">=6.9.0" 65 370 } 66 371 }, 372 + "node_modules/@babel/helpers": { 373 + "version": "7.28.3", 374 + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz", 375 + "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==", 376 + "dev": true, 377 + "license": "MIT", 378 + "dependencies": { 379 + "@babel/template": "^7.27.2", 380 + "@babel/types": "^7.28.2" 381 + }, 382 + "engines": { 383 + "node": ">=6.9.0" 384 + } 385 + }, 386 + "node_modules/@babel/parser": { 387 + "version": "7.28.3", 388 + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz", 389 + "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", 390 + "dev": true, 391 + "license": "MIT", 392 + "dependencies": { 393 + "@babel/types": "^7.28.2" 394 + }, 395 + "bin": { 396 + "parser": "bin/babel-parser.js" 397 + }, 398 + "engines": { 399 + "node": ">=6.0.0" 400 + } 401 + }, 402 + "node_modules/@babel/plugin-syntax-jsx": { 403 + "version": "7.27.1", 404 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", 405 + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", 406 + "dev": true, 407 + "license": "MIT", 408 + "dependencies": { 409 + "@babel/helper-plugin-utils": "^7.27.1" 410 + }, 411 + "engines": { 412 + "node": ">=6.9.0" 413 + }, 414 + "peerDependencies": { 415 + "@babel/core": "^7.0.0-0" 416 + } 417 + }, 418 + "node_modules/@babel/plugin-syntax-typescript": { 419 + "version": "7.27.1", 420 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", 421 + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", 422 + "dev": true, 423 + "license": "MIT", 424 + "dependencies": { 425 + "@babel/helper-plugin-utils": "^7.27.1" 426 + }, 427 + "engines": { 428 + "node": ">=6.9.0" 429 + }, 430 + "peerDependencies": { 431 + "@babel/core": "^7.0.0-0" 432 + } 433 + }, 434 + "node_modules/@babel/plugin-transform-modules-commonjs": { 435 + "version": "7.27.1", 436 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", 437 + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", 438 + "dev": true, 439 + "license": "MIT", 440 + "dependencies": { 441 + "@babel/helper-module-transforms": "^7.27.1", 442 + "@babel/helper-plugin-utils": "^7.27.1" 443 + }, 444 + "engines": { 445 + "node": ">=6.9.0" 446 + }, 447 + "peerDependencies": { 448 + "@babel/core": "^7.0.0-0" 449 + } 450 + }, 451 + "node_modules/@babel/plugin-transform-react-display-name": { 452 + "version": "7.28.0", 453 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", 454 + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", 455 + "dev": true, 456 + "license": "MIT", 457 + "dependencies": { 458 + "@babel/helper-plugin-utils": "^7.27.1" 459 + }, 460 + "engines": { 461 + "node": ">=6.9.0" 462 + }, 463 + "peerDependencies": { 464 + "@babel/core": "^7.0.0-0" 465 + } 466 + }, 467 + "node_modules/@babel/plugin-transform-react-jsx": { 468 + "version": "7.27.1", 469 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", 470 + "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", 471 + "dev": true, 472 + "license": "MIT", 473 + "dependencies": { 474 + "@babel/helper-annotate-as-pure": "^7.27.1", 475 + "@babel/helper-module-imports": "^7.27.1", 476 + "@babel/helper-plugin-utils": "^7.27.1", 477 + "@babel/plugin-syntax-jsx": "^7.27.1", 478 + "@babel/types": "^7.27.1" 479 + }, 480 + "engines": { 481 + "node": ">=6.9.0" 482 + }, 483 + "peerDependencies": { 484 + "@babel/core": "^7.0.0-0" 485 + } 486 + }, 487 + "node_modules/@babel/plugin-transform-react-jsx-development": { 488 + "version": "7.27.1", 489 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", 490 + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", 491 + "dev": true, 492 + "license": "MIT", 493 + "dependencies": { 494 + "@babel/plugin-transform-react-jsx": "^7.27.1" 495 + }, 496 + "engines": { 497 + "node": ">=6.9.0" 498 + }, 499 + "peerDependencies": { 500 + "@babel/core": "^7.0.0-0" 501 + } 502 + }, 503 + "node_modules/@babel/plugin-transform-react-pure-annotations": { 504 + "version": "7.27.1", 505 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", 506 + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", 507 + "dev": true, 508 + "license": "MIT", 509 + "dependencies": { 510 + "@babel/helper-annotate-as-pure": "^7.27.1", 511 + "@babel/helper-plugin-utils": "^7.27.1" 512 + }, 513 + "engines": { 514 + "node": ">=6.9.0" 515 + }, 516 + "peerDependencies": { 517 + "@babel/core": "^7.0.0-0" 518 + } 519 + }, 520 + "node_modules/@babel/plugin-transform-typescript": { 521 + "version": "7.28.0", 522 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz", 523 + "integrity": "sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==", 524 + "dev": true, 525 + "license": "MIT", 526 + "dependencies": { 527 + "@babel/helper-annotate-as-pure": "^7.27.3", 528 + "@babel/helper-create-class-features-plugin": "^7.27.1", 529 + "@babel/helper-plugin-utils": "^7.27.1", 530 + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", 531 + "@babel/plugin-syntax-typescript": "^7.27.1" 532 + }, 533 + "engines": { 534 + "node": ">=6.9.0" 535 + }, 536 + "peerDependencies": { 537 + "@babel/core": "^7.0.0-0" 538 + } 539 + }, 540 + "node_modules/@babel/preset-react": { 541 + "version": "7.27.1", 542 + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.27.1.tgz", 543 + "integrity": "sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==", 544 + "dev": true, 545 + "license": "MIT", 546 + "dependencies": { 547 + "@babel/helper-plugin-utils": "^7.27.1", 548 + "@babel/helper-validator-option": "^7.27.1", 549 + "@babel/plugin-transform-react-display-name": "^7.27.1", 550 + "@babel/plugin-transform-react-jsx": "^7.27.1", 551 + "@babel/plugin-transform-react-jsx-development": "^7.27.1", 552 + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" 553 + }, 554 + "engines": { 555 + "node": ">=6.9.0" 556 + }, 557 + "peerDependencies": { 558 + "@babel/core": "^7.0.0-0" 559 + } 560 + }, 561 + "node_modules/@babel/preset-typescript": { 562 + "version": "7.27.1", 563 + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz", 564 + "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==", 565 + "dev": true, 566 + "license": "MIT", 567 + "dependencies": { 568 + "@babel/helper-plugin-utils": "^7.27.1", 569 + "@babel/helper-validator-option": "^7.27.1", 570 + "@babel/plugin-syntax-jsx": "^7.27.1", 571 + "@babel/plugin-transform-modules-commonjs": "^7.27.1", 572 + "@babel/plugin-transform-typescript": "^7.27.1" 573 + }, 574 + "engines": { 575 + "node": ">=6.9.0" 576 + }, 577 + "peerDependencies": { 578 + "@babel/core": "^7.0.0-0" 579 + } 580 + }, 67 581 "node_modules/@babel/runtime": { 68 582 "version": "7.28.3", 69 583 "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.3.tgz", ··· 73 587 "peer": true, 74 588 "engines": { 75 589 "node": ">=6.9.0" 590 + } 591 + }, 592 + "node_modules/@babel/template": { 593 + "version": "7.27.2", 594 + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", 595 + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", 596 + "dev": true, 597 + "license": "MIT", 598 + "dependencies": { 599 + "@babel/code-frame": "^7.27.1", 600 + "@babel/parser": "^7.27.2", 601 + "@babel/types": "^7.27.1" 602 + }, 603 + "engines": { 604 + "node": ">=6.9.0" 605 + } 606 + }, 607 + "node_modules/@babel/traverse": { 608 + "version": "7.28.3", 609 + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz", 610 + "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==", 611 + "dev": true, 612 + "license": "MIT", 613 + "dependencies": { 614 + "@babel/code-frame": "^7.27.1", 615 + "@babel/generator": "^7.28.3", 616 + "@babel/helper-globals": "^7.28.0", 617 + "@babel/parser": "^7.28.3", 618 + "@babel/template": "^7.27.2", 619 + "@babel/types": "^7.28.2", 620 + "debug": "^4.3.1" 621 + }, 622 + "engines": { 623 + "node": ">=6.9.0" 624 + } 625 + }, 626 + "node_modules/@babel/types": { 627 + "version": "7.28.2", 628 + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", 629 + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", 630 + "dev": true, 631 + "license": "MIT", 632 + "dependencies": { 633 + "@babel/helper-string-parser": "^7.27.1", 634 + "@babel/helper-validator-identifier": "^7.27.1" 635 + }, 636 + "engines": { 637 + "node": ">=6.9.0" 638 + } 639 + }, 640 + "node_modules/@better-auth/cli": { 641 + "version": "1.3.7", 642 + "resolved": "https://registry.npmjs.org/@better-auth/cli/-/cli-1.3.7.tgz", 643 + "integrity": "sha512-T2UqizojAb7xML9j0smm7UofZo2T/tdxGpKzJl0XWvXPgTJXoW2xmcmtZjDUIwbz2z9O2suphBaNF0qigEovZQ==", 644 + "dev": true, 645 + "license": "MIT", 646 + "dependencies": { 647 + "@babel/core": "^7.0.0", 648 + "@babel/preset-react": "^7.26.3", 649 + "@babel/preset-typescript": "^7.26.0", 650 + "@clack/prompts": "^0.10.0", 651 + "@mrleebo/prisma-ast": "^0.12.0", 652 + "@prisma/client": "^5.22.0", 653 + "@types/better-sqlite3": "^7.6.12", 654 + "@types/prompts": "^2.4.9", 655 + "better-auth": "1.3.7", 656 + "better-sqlite3": "^11.6.0", 657 + "c12": "^2.0.1", 658 + "chalk": "^5.3.0", 659 + "commander": "^12.1.0", 660 + "dotenv": "^16.4.7", 661 + "drizzle-orm": "^0.33.0", 662 + "fs-extra": "^11.3.0", 663 + "get-tsconfig": "^4.8.1", 664 + "prettier": "^3.4.2", 665 + "prisma": "^5.22.0", 666 + "prompts": "^2.4.2", 667 + "semver": "^7.7.1", 668 + "tinyexec": "^0.3.1", 669 + "yocto-spinner": "^0.1.1" 670 + }, 671 + "bin": { 672 + "cli": "dist/index.mjs" 673 + }, 674 + "peerDependencies": { 675 + "zod": "3.25.0 || ^4.0.0" 676 + } 677 + }, 678 + "node_modules/@better-auth/utils": { 679 + "version": "0.2.6", 680 + "resolved": "https://registry.npmjs.org/@better-auth/utils/-/utils-0.2.6.tgz", 681 + "integrity": "sha512-3y/vaL5Ox33dBwgJ6ub3OPkVqr6B5xL2kgxNHG8eHZuryLyG/4JSPGqjbdRSgjuy9kALUZYDFl+ORIAxlWMSuA==", 682 + "license": "MIT", 683 + "dependencies": { 684 + "uncrypto": "^0.1.3" 685 + } 686 + }, 687 + "node_modules/@better-fetch/fetch": { 688 + "version": "1.1.18", 689 + "resolved": "https://registry.npmjs.org/@better-fetch/fetch/-/fetch-1.1.18.tgz", 690 + "integrity": "sha512-rEFOE1MYIsBmoMJtQbl32PGHHXuG2hDxvEd7rUHE0vCBoFQVSDqaVs9hkZEtHCxRoY+CljXKFCOuJ8uxqw1LcA==" 691 + }, 692 + "node_modules/@chevrotain/cst-dts-gen": { 693 + "version": "10.5.0", 694 + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.5.0.tgz", 695 + "integrity": "sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==", 696 + "dev": true, 697 + "license": "Apache-2.0", 698 + "dependencies": { 699 + "@chevrotain/gast": "10.5.0", 700 + "@chevrotain/types": "10.5.0", 701 + "lodash": "4.17.21" 702 + } 703 + }, 704 + "node_modules/@chevrotain/gast": { 705 + "version": "10.5.0", 706 + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.5.0.tgz", 707 + "integrity": "sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==", 708 + "dev": true, 709 + "license": "Apache-2.0", 710 + "dependencies": { 711 + "@chevrotain/types": "10.5.0", 712 + "lodash": "4.17.21" 713 + } 714 + }, 715 + "node_modules/@chevrotain/types": { 716 + "version": "10.5.0", 717 + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.5.0.tgz", 718 + "integrity": "sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==", 719 + "dev": true, 720 + "license": "Apache-2.0" 721 + }, 722 + "node_modules/@chevrotain/utils": { 723 + "version": "10.5.0", 724 + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.5.0.tgz", 725 + "integrity": "sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==", 726 + "dev": true, 727 + "license": "Apache-2.0" 728 + }, 729 + "node_modules/@clack/core": { 730 + "version": "0.4.2", 731 + "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.4.2.tgz", 732 + "integrity": "sha512-NYQfcEy8MWIxrT5Fj8nIVchfRFA26yYKJcvBS7WlUIlw2OmQOY9DhGGXMovyI5J5PpxrCPGkgUi207EBrjpBvg==", 733 + "dev": true, 734 + "license": "MIT", 735 + "dependencies": { 736 + "picocolors": "^1.0.0", 737 + "sisteransi": "^1.0.5" 738 + } 739 + }, 740 + "node_modules/@clack/prompts": { 741 + "version": "0.10.1", 742 + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-0.10.1.tgz", 743 + "integrity": "sha512-Q0T02vx8ZM9XSv9/Yde0jTmmBQufZhPJfYAg2XrrrxWWaZgq1rr8nU8Hv710BQ1dhoP8rtY7YUdpGej2Qza/cw==", 744 + "dev": true, 745 + "license": "MIT", 746 + "dependencies": { 747 + "@clack/core": "0.4.2", 748 + "picocolors": "^1.0.0", 749 + "sisteransi": "^1.0.5" 76 750 } 77 751 }, 78 752 "node_modules/@esbuild/aix-ppc64": { ··· 517 1191 "node": ">=18" 518 1192 } 519 1193 }, 1194 + "node_modules/@floating-ui/core": { 1195 + "version": "1.7.3", 1196 + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", 1197 + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", 1198 + "license": "MIT", 1199 + "dependencies": { 1200 + "@floating-ui/utils": "^0.2.10" 1201 + } 1202 + }, 1203 + "node_modules/@floating-ui/dom": { 1204 + "version": "1.7.4", 1205 + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", 1206 + "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", 1207 + "license": "MIT", 1208 + "dependencies": { 1209 + "@floating-ui/core": "^1.7.3", 1210 + "@floating-ui/utils": "^0.2.10" 1211 + } 1212 + }, 1213 + "node_modules/@floating-ui/utils": { 1214 + "version": "0.2.10", 1215 + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", 1216 + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", 1217 + "license": "MIT" 1218 + }, 1219 + "node_modules/@hexagon/base64": { 1220 + "version": "1.1.28", 1221 + "resolved": "https://registry.npmjs.org/@hexagon/base64/-/base64-1.1.28.tgz", 1222 + "integrity": "sha512-lhqDEAvWixy3bZ+UOYbPwUbBkwBq5C1LAJ/xPC8Oi+lL54oyakv/npbA0aU2hgCsx/1NUd4IBvV03+aUBWxerw==", 1223 + "license": "MIT" 1224 + }, 1225 + "node_modules/@internationalized/date": { 1226 + "version": "3.8.2", 1227 + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.8.2.tgz", 1228 + "integrity": "sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA==", 1229 + "license": "Apache-2.0", 1230 + "peer": true, 1231 + "dependencies": { 1232 + "@swc/helpers": "^0.5.0" 1233 + } 1234 + }, 520 1235 "node_modules/@isaacs/fs-minipass": { 521 1236 "version": "4.0.1", 522 1237 "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", ··· 575 1290 "@jridgewell/sourcemap-codec": "^1.4.14" 576 1291 } 577 1292 }, 1293 + "node_modules/@levischuck/tiny-cbor": { 1294 + "version": "0.2.11", 1295 + "resolved": "https://registry.npmjs.org/@levischuck/tiny-cbor/-/tiny-cbor-0.2.11.tgz", 1296 + "integrity": "sha512-llBRm4dT4Z89aRsm6u2oEZ8tfwL/2l6BwpZ7JcyieouniDECM5AqNgr/y08zalEIvW3RSK4upYyybDcmjXqAow==", 1297 + "license": "MIT" 1298 + }, 578 1299 "node_modules/@lucide/svelte": { 579 1300 "version": "0.541.0", 580 1301 "resolved": "https://registry.npmjs.org/@lucide/svelte/-/svelte-0.541.0.tgz", ··· 584 1305 "svelte": "^5" 585 1306 } 586 1307 }, 1308 + "node_modules/@mrleebo/prisma-ast": { 1309 + "version": "0.12.1", 1310 + "resolved": "https://registry.npmjs.org/@mrleebo/prisma-ast/-/prisma-ast-0.12.1.tgz", 1311 + "integrity": "sha512-JwqeCQ1U3fvccttHZq7Tk0m/TMC6WcFAQZdukypW3AzlJYKYTGNVd1ANU2GuhKnv4UQuOFj3oAl0LLG/gxFN1w==", 1312 + "dev": true, 1313 + "license": "MIT", 1314 + "dependencies": { 1315 + "chevrotain": "^10.5.0", 1316 + "lilconfig": "^2.1.0" 1317 + }, 1318 + "engines": { 1319 + "node": ">=16" 1320 + } 1321 + }, 1322 + "node_modules/@noble/ciphers": { 1323 + "version": "0.6.0", 1324 + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-0.6.0.tgz", 1325 + "integrity": "sha512-mIbq/R9QXk5/cTfESb1OKtyFnk7oc1Om/8onA1158K9/OZUQFDEVy55jVTato+xmp3XX6F6Qh0zz0Nc1AxAlRQ==", 1326 + "license": "MIT", 1327 + "funding": { 1328 + "url": "https://paulmillr.com/funding/" 1329 + } 1330 + }, 1331 + "node_modules/@noble/hashes": { 1332 + "version": "1.8.0", 1333 + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", 1334 + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", 1335 + "license": "MIT", 1336 + "engines": { 1337 + "node": "^14.21.3 || >=16" 1338 + }, 1339 + "funding": { 1340 + "url": "https://paulmillr.com/funding/" 1341 + } 1342 + }, 1343 + "node_modules/@oxlint/darwin-arm64": { 1344 + "version": "1.13.0", 1345 + "resolved": "https://registry.npmjs.org/@oxlint/darwin-arm64/-/darwin-arm64-1.13.0.tgz", 1346 + "integrity": "sha512-evpsj1aaWNEd2VRGTbptiMwC8vYSDadAYtq92Ks3UIe0VoMtY9n5bLeD9Ctw/OHIM7Eh7/EQlNDLOOP/b2GBKA==", 1347 + "cpu": [ 1348 + "arm64" 1349 + ], 1350 + "dev": true, 1351 + "license": "MIT", 1352 + "optional": true, 1353 + "os": [ 1354 + "darwin" 1355 + ] 1356 + }, 1357 + "node_modules/@oxlint/darwin-x64": { 1358 + "version": "1.13.0", 1359 + "resolved": "https://registry.npmjs.org/@oxlint/darwin-x64/-/darwin-x64-1.13.0.tgz", 1360 + "integrity": "sha512-a4gmSsuQq/ZK/QRDlAcfcwF4UVErZ3Q0noBkypyMdacizLzexlKQvWhXC5Bh1v4/9cWempx+Uf6iaScfo7FmCg==", 1361 + "cpu": [ 1362 + "x64" 1363 + ], 1364 + "dev": true, 1365 + "license": "MIT", 1366 + "optional": true, 1367 + "os": [ 1368 + "darwin" 1369 + ] 1370 + }, 1371 + "node_modules/@oxlint/linux-arm64-gnu": { 1372 + "version": "1.13.0", 1373 + "resolved": "https://registry.npmjs.org/@oxlint/linux-arm64-gnu/-/linux-arm64-gnu-1.13.0.tgz", 1374 + "integrity": "sha512-GT8WyPomb2AE5ciNzmDZlvVdYL2OmWObaV47dwAk4KH13IAqduOlA17S5IZRrwW1q4FHsRhfJ1eVofAhOtZexQ==", 1375 + "cpu": [ 1376 + "arm64" 1377 + ], 1378 + "dev": true, 1379 + "license": "MIT", 1380 + "optional": true, 1381 + "os": [ 1382 + "linux" 1383 + ] 1384 + }, 1385 + "node_modules/@oxlint/linux-arm64-musl": { 1386 + "version": "1.13.0", 1387 + "resolved": "https://registry.npmjs.org/@oxlint/linux-arm64-musl/-/linux-arm64-musl-1.13.0.tgz", 1388 + "integrity": "sha512-EY8PHd4U0QYoPFVkGbkBPAN1ZDXmIr5Am6QOqnPtvrOVfR6cRW/o9Qd9Q3zB+HR+pEHl8d25/QSgHpaSQr+hEA==", 1389 + "cpu": [ 1390 + "arm64" 1391 + ], 1392 + "dev": true, 1393 + "license": "MIT", 1394 + "optional": true, 1395 + "os": [ 1396 + "linux" 1397 + ] 1398 + }, 1399 + "node_modules/@oxlint/linux-x64-gnu": { 1400 + "version": "1.13.0", 1401 + "resolved": "https://registry.npmjs.org/@oxlint/linux-x64-gnu/-/linux-x64-gnu-1.13.0.tgz", 1402 + "integrity": "sha512-iP30520DYHsqAk3rmCJ4YpcNuWJejhbvl/YcHmrcWH8OJ5a+He2EG6gU9BogfFzsM1HtDn3pZbn69PItqaLJCg==", 1403 + "cpu": [ 1404 + "x64" 1405 + ], 1406 + "dev": true, 1407 + "license": "MIT", 1408 + "optional": true, 1409 + "os": [ 1410 + "linux" 1411 + ] 1412 + }, 1413 + "node_modules/@oxlint/linux-x64-musl": { 1414 + "version": "1.13.0", 1415 + "resolved": "https://registry.npmjs.org/@oxlint/linux-x64-musl/-/linux-x64-musl-1.13.0.tgz", 1416 + "integrity": "sha512-SJl0aenYerXS6uFshdpsracwl02sr8dpUK1522p4Tp27aXHUxk55gF5YmFj9rGUQ9h6MyZgJL9fNS5U7PUUxxA==", 1417 + "cpu": [ 1418 + "x64" 1419 + ], 1420 + "dev": true, 1421 + "license": "MIT", 1422 + "optional": true, 1423 + "os": [ 1424 + "linux" 1425 + ] 1426 + }, 1427 + "node_modules/@oxlint/win32-arm64": { 1428 + "version": "1.13.0", 1429 + "resolved": "https://registry.npmjs.org/@oxlint/win32-arm64/-/win32-arm64-1.13.0.tgz", 1430 + "integrity": "sha512-nAxRno4VF73obGWbBMMslWDYx0hFgqwKR7wqhhVowH5793p1tHvYbV9lrUY8lRqMUHRpYP4pahcipoAEiTlf1w==", 1431 + "cpu": [ 1432 + "arm64" 1433 + ], 1434 + "dev": true, 1435 + "license": "MIT", 1436 + "optional": true, 1437 + "os": [ 1438 + "win32" 1439 + ] 1440 + }, 1441 + "node_modules/@oxlint/win32-x64": { 1442 + "version": "1.13.0", 1443 + "resolved": "https://registry.npmjs.org/@oxlint/win32-x64/-/win32-x64-1.13.0.tgz", 1444 + "integrity": "sha512-8p6OwSl6/iauD5TZrTXXZFdKZkj1blGwMOlhnHfSb6FRcjcvR6dv54u3PYssrtqh7nvHLJI0PAwSeJVhvoxxqg==", 1445 + "cpu": [ 1446 + "x64" 1447 + ], 1448 + "dev": true, 1449 + "license": "MIT", 1450 + "optional": true, 1451 + "os": [ 1452 + "win32" 1453 + ] 1454 + }, 1455 + "node_modules/@peculiar/asn1-android": { 1456 + "version": "2.4.0", 1457 + "resolved": "https://registry.npmjs.org/@peculiar/asn1-android/-/asn1-android-2.4.0.tgz", 1458 + "integrity": "sha512-YFueREq97CLslZZBI8dKzis7jMfEHSLxM+nr0Zdx1POiXFLjqqwoY5s0F1UimdBiEw/iKlHey2m56MRDv7Jtyg==", 1459 + "license": "MIT", 1460 + "dependencies": { 1461 + "@peculiar/asn1-schema": "^2.4.0", 1462 + "asn1js": "^3.0.6", 1463 + "tslib": "^2.8.1" 1464 + } 1465 + }, 1466 + "node_modules/@peculiar/asn1-ecc": { 1467 + "version": "2.4.0", 1468 + "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.4.0.tgz", 1469 + "integrity": "sha512-fJiYUBCJBDkjh347zZe5H81BdJ0+OGIg0X9z06v8xXUoql3MFeENUX0JsjCaVaU9A0L85PefLPGYkIoGpTnXLQ==", 1470 + "license": "MIT", 1471 + "dependencies": { 1472 + "@peculiar/asn1-schema": "^2.4.0", 1473 + "@peculiar/asn1-x509": "^2.4.0", 1474 + "asn1js": "^3.0.6", 1475 + "tslib": "^2.8.1" 1476 + } 1477 + }, 1478 + "node_modules/@peculiar/asn1-rsa": { 1479 + "version": "2.4.0", 1480 + "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.4.0.tgz", 1481 + "integrity": "sha512-6PP75voaEnOSlWR9sD25iCQyLgFZHXbmxvUfnnDcfL6Zh5h2iHW38+bve4LfH7a60x7fkhZZNmiYqAlAff9Img==", 1482 + "license": "MIT", 1483 + "dependencies": { 1484 + "@peculiar/asn1-schema": "^2.4.0", 1485 + "@peculiar/asn1-x509": "^2.4.0", 1486 + "asn1js": "^3.0.6", 1487 + "tslib": "^2.8.1" 1488 + } 1489 + }, 1490 + "node_modules/@peculiar/asn1-schema": { 1491 + "version": "2.4.0", 1492 + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.4.0.tgz", 1493 + "integrity": "sha512-umbembjIWOrPSOzEGG5vxFLkeM8kzIhLkgigtsOrfLKnuzxWxejAcUX+q/SoZCdemlODOcr5WiYa7+dIEzBXZQ==", 1494 + "license": "MIT", 1495 + "dependencies": { 1496 + "asn1js": "^3.0.6", 1497 + "pvtsutils": "^1.3.6", 1498 + "tslib": "^2.8.1" 1499 + } 1500 + }, 1501 + "node_modules/@peculiar/asn1-x509": { 1502 + "version": "2.4.0", 1503 + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.4.0.tgz", 1504 + "integrity": "sha512-F7mIZY2Eao2TaoVqigGMLv+NDdpwuBKU1fucHPONfzaBS4JXXCNCmfO0Z3dsy7JzKGqtDcYC1mr9JjaZQZNiuw==", 1505 + "license": "MIT", 1506 + "dependencies": { 1507 + "@peculiar/asn1-schema": "^2.4.0", 1508 + "asn1js": "^3.0.6", 1509 + "pvtsutils": "^1.3.6", 1510 + "tslib": "^2.8.1" 1511 + } 1512 + }, 587 1513 "node_modules/@polka/url": { 588 1514 "version": "1.0.0-next.29", 589 1515 "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", 590 1516 "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", 591 1517 "dev": true, 592 1518 "license": "MIT" 1519 + }, 1520 + "node_modules/@prisma/client": { 1521 + "version": "5.22.0", 1522 + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.22.0.tgz", 1523 + "integrity": "sha512-M0SVXfyHnQREBKxCgyo7sffrKttwE6R8PMq330MIUF0pTwjUhLbW84pFDlf06B27XyCR++VtjugEnIHdr07SVA==", 1524 + "dev": true, 1525 + "hasInstallScript": true, 1526 + "license": "Apache-2.0", 1527 + "engines": { 1528 + "node": ">=16.13" 1529 + }, 1530 + "peerDependencies": { 1531 + "prisma": "*" 1532 + }, 1533 + "peerDependenciesMeta": { 1534 + "prisma": { 1535 + "optional": true 1536 + } 1537 + } 1538 + }, 1539 + "node_modules/@prisma/debug": { 1540 + "version": "5.22.0", 1541 + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-5.22.0.tgz", 1542 + "integrity": "sha512-AUt44v3YJeggO2ZU5BkXI7M4hu9BF2zzH2iF2V5pyXT/lRTyWiElZ7It+bRH1EshoMRxHgpYg4VB6rCM+mG5jQ==", 1543 + "dev": true, 1544 + "license": "Apache-2.0" 1545 + }, 1546 + "node_modules/@prisma/engines": { 1547 + "version": "5.22.0", 1548 + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.22.0.tgz", 1549 + "integrity": "sha512-UNjfslWhAt06kVL3CjkuYpHAWSO6L4kDCVPegV6itt7nD1kSJavd3vhgAEhjglLJJKEdJ7oIqDJ+yHk6qO8gPA==", 1550 + "dev": true, 1551 + "hasInstallScript": true, 1552 + "license": "Apache-2.0", 1553 + "dependencies": { 1554 + "@prisma/debug": "5.22.0", 1555 + "@prisma/engines-version": "5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2", 1556 + "@prisma/fetch-engine": "5.22.0", 1557 + "@prisma/get-platform": "5.22.0" 1558 + } 1559 + }, 1560 + "node_modules/@prisma/engines-version": { 1561 + "version": "5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2", 1562 + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2.tgz", 1563 + "integrity": "sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==", 1564 + "dev": true, 1565 + "license": "Apache-2.0" 1566 + }, 1567 + "node_modules/@prisma/fetch-engine": { 1568 + "version": "5.22.0", 1569 + "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-5.22.0.tgz", 1570 + "integrity": "sha512-bkrD/Mc2fSvkQBV5EpoFcZ87AvOgDxbG99488a5cexp5Ccny+UM6MAe/UFkUC0wLYD9+9befNOqGiIJhhq+HbA==", 1571 + "dev": true, 1572 + "license": "Apache-2.0", 1573 + "dependencies": { 1574 + "@prisma/debug": "5.22.0", 1575 + "@prisma/engines-version": "5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2", 1576 + "@prisma/get-platform": "5.22.0" 1577 + } 1578 + }, 1579 + "node_modules/@prisma/get-platform": { 1580 + "version": "5.22.0", 1581 + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-5.22.0.tgz", 1582 + "integrity": "sha512-pHhpQdr1UPFpt+zFfnPazhulaZYCUqeIcPpJViYoq9R+D/yw4fjE+CtnsnKzPYm0ddUbeXUzjGVGIRVgPDCk4Q==", 1583 + "dev": true, 1584 + "license": "Apache-2.0", 1585 + "dependencies": { 1586 + "@prisma/debug": "5.22.0" 1587 + } 593 1588 }, 594 1589 "node_modules/@rollup/rollup-android-arm-eabi": { 595 1590 "version": "4.47.1", ··· 871 1866 "win32" 872 1867 ] 873 1868 }, 1869 + "node_modules/@simplewebauthn/browser": { 1870 + "version": "13.1.2", 1871 + "resolved": "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-13.1.2.tgz", 1872 + "integrity": "sha512-aZnW0KawAM83fSBUgglP5WofbrLbLyr7CoPqYr66Eppm7zO86YX6rrCjRB3hQKPrL7ATvY4FVXlykZ6w6FwYYw==", 1873 + "license": "MIT" 1874 + }, 1875 + "node_modules/@simplewebauthn/server": { 1876 + "version": "13.1.2", 1877 + "resolved": "https://registry.npmjs.org/@simplewebauthn/server/-/server-13.1.2.tgz", 1878 + "integrity": "sha512-VwoDfvLXSCaRiD+xCIuyslU0HLxVggeE5BL06+GbsP2l1fGf5op8e0c3ZtKoi+vSg1q4ikjtAghC23ze2Q3H9g==", 1879 + "license": "MIT", 1880 + "dependencies": { 1881 + "@hexagon/base64": "^1.1.27", 1882 + "@levischuck/tiny-cbor": "^0.2.2", 1883 + "@peculiar/asn1-android": "^2.3.10", 1884 + "@peculiar/asn1-ecc": "^2.3.8", 1885 + "@peculiar/asn1-rsa": "^2.3.8", 1886 + "@peculiar/asn1-schema": "^2.3.8", 1887 + "@peculiar/asn1-x509": "^2.3.8" 1888 + }, 1889 + "engines": { 1890 + "node": ">=20.0.0" 1891 + } 1892 + }, 874 1893 "node_modules/@standard-schema/spec": { 875 1894 "version": "1.0.0", 876 1895 "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", ··· 1115 2134 } 1116 2135 }, 1117 2136 "node_modules/@sveltejs/kit": { 1118 - "version": "2.36.2", 1119 - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.36.2.tgz", 1120 - "integrity": "sha512-WlBGY060nHe4UE5QrDAJAbls5hOsG6mljtrDGkM8jJCDQ4JEcAEH04XrTVmQ0Ex1CU8nzoZto0EE75aiLA3G8Q==", 2137 + "version": "2.37.0", 2138 + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.37.0.tgz", 2139 + "integrity": "sha512-xgKtpjQ6Ry4mdShd01ht5AODUsW7+K1iValPDq7QX8zI1hWOKREH9GjG8SRCN5tC4K7UXmMhuQam7gbLByVcnw==", 1121 2140 "dev": true, 1122 2141 "license": "MIT", 1123 2142 "dependencies": { ··· 1126 2145 "@types/cookie": "^0.6.0", 1127 2146 "acorn": "^8.14.1", 1128 2147 "cookie": "^0.6.0", 1129 - "devalue": "^5.1.0", 2148 + "devalue": "^5.3.2", 1130 2149 "esm-env": "^1.2.2", 1131 2150 "kleur": "^4.1.5", 1132 2151 "magic-string": "^0.30.5", ··· 1191 2210 "@sveltejs/vite-plugin-svelte": "^6.0.0-next.0", 1192 2211 "svelte": "^5.0.0", 1193 2212 "vite": "^6.3.0 || ^7.0.0" 2213 + } 2214 + }, 2215 + "node_modules/@swc/helpers": { 2216 + "version": "0.5.17", 2217 + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", 2218 + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", 2219 + "license": "Apache-2.0", 2220 + "peer": true, 2221 + "dependencies": { 2222 + "tslib": "^2.8.0" 1194 2223 } 1195 2224 }, 1196 2225 "node_modules/@tailwindcss/node": { ··· 1613 2642 "license": "MIT", 1614 2643 "peer": true 1615 2644 }, 2645 + "node_modules/@types/better-sqlite3": { 2646 + "version": "7.6.13", 2647 + "resolved": "https://registry.npmjs.org/@types/better-sqlite3/-/better-sqlite3-7.6.13.tgz", 2648 + "integrity": "sha512-NMv9ASNARoKksWtsq/SHakpYAYnhBrQgGD8zkLYk/jaK8jUGn08CfEdTRgYhMypUQAfzSP8W6gNLe0q19/t4VA==", 2649 + "dev": true, 2650 + "license": "MIT", 2651 + "dependencies": { 2652 + "@types/node": "*" 2653 + } 2654 + }, 1616 2655 "node_modules/@types/chai": { 1617 2656 "version": "5.2.2", 1618 2657 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", ··· 1663 2702 "undici-types": "~7.10.0" 1664 2703 } 1665 2704 }, 2705 + "node_modules/@types/prompts": { 2706 + "version": "2.4.9", 2707 + "resolved": "https://registry.npmjs.org/@types/prompts/-/prompts-2.4.9.tgz", 2708 + "integrity": "sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==", 2709 + "dev": true, 2710 + "license": "MIT", 2711 + "dependencies": { 2712 + "@types/node": "*", 2713 + "kleur": "^3.0.3" 2714 + } 2715 + }, 2716 + "node_modules/@types/prompts/node_modules/kleur": { 2717 + "version": "3.0.3", 2718 + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", 2719 + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", 2720 + "dev": true, 2721 + "license": "MIT", 2722 + "engines": { 2723 + "node": ">=6" 2724 + } 2725 + }, 1666 2726 "node_modules/@types/unist": { 1667 2727 "version": "2.0.11", 1668 2728 "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", ··· 1808 2868 "dequal": "^2.0.3" 1809 2869 } 1810 2870 }, 2871 + "node_modules/asn1js": { 2872 + "version": "3.0.6", 2873 + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.6.tgz", 2874 + "integrity": "sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA==", 2875 + "license": "BSD-3-Clause", 2876 + "dependencies": { 2877 + "pvtsutils": "^1.3.6", 2878 + "pvutils": "^1.1.3", 2879 + "tslib": "^2.8.1" 2880 + }, 2881 + "engines": { 2882 + "node": ">=12.0.0" 2883 + } 2884 + }, 1811 2885 "node_modules/assertion-error": { 1812 2886 "version": "2.0.1", 1813 2887 "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", ··· 1831 2905 "node": ">=4" 1832 2906 } 1833 2907 }, 2908 + "node_modules/aws-ssl-profiles": { 2909 + "version": "1.1.2", 2910 + "resolved": "https://registry.npmjs.org/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz", 2911 + "integrity": "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==", 2912 + "license": "MIT", 2913 + "engines": { 2914 + "node": ">= 6.0.0" 2915 + } 2916 + }, 1834 2917 "node_modules/axobject-query": { 1835 2918 "version": "4.1.0", 1836 2919 "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", ··· 1840 2923 "node": ">= 0.4" 1841 2924 } 1842 2925 }, 2926 + "node_modules/base64-js": { 2927 + "version": "1.5.1", 2928 + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 2929 + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 2930 + "dev": true, 2931 + "funding": [ 2932 + { 2933 + "type": "github", 2934 + "url": "https://github.com/sponsors/feross" 2935 + }, 2936 + { 2937 + "type": "patreon", 2938 + "url": "https://www.patreon.com/feross" 2939 + }, 2940 + { 2941 + "type": "consulting", 2942 + "url": "https://feross.org/support" 2943 + } 2944 + ], 2945 + "license": "MIT" 2946 + }, 2947 + "node_modules/better-auth": { 2948 + "version": "1.3.7", 2949 + "resolved": "https://registry.npmjs.org/better-auth/-/better-auth-1.3.7.tgz", 2950 + "integrity": "sha512-/1fEyx2SGgJQM5ujozDCh9eJksnVkNU/J7Fk/tG5Y390l8nKbrPvqiFlCjlMM+scR+UABJbQzA6An7HT50LHyQ==", 2951 + "license": "MIT", 2952 + "dependencies": { 2953 + "@better-auth/utils": "0.2.6", 2954 + "@better-fetch/fetch": "^1.1.18", 2955 + "@noble/ciphers": "^0.6.0", 2956 + "@noble/hashes": "^1.8.0", 2957 + "@simplewebauthn/browser": "^13.1.2", 2958 + "@simplewebauthn/server": "^13.1.2", 2959 + "better-call": "^1.0.13", 2960 + "defu": "^6.1.4", 2961 + "jose": "^5.10.0", 2962 + "kysely": "^0.28.5", 2963 + "nanostores": "^0.11.4" 2964 + }, 2965 + "peerDependencies": { 2966 + "react": "^18.0.0 || ^19.0.0", 2967 + "react-dom": "^18.0.0 || ^19.0.0", 2968 + "zod": "^3.25.0 || ^4.0.0" 2969 + }, 2970 + "peerDependenciesMeta": { 2971 + "react": { 2972 + "optional": true 2973 + }, 2974 + "react-dom": { 2975 + "optional": true 2976 + } 2977 + } 2978 + }, 2979 + "node_modules/better-call": { 2980 + "version": "1.0.16", 2981 + "resolved": "https://registry.npmjs.org/better-call/-/better-call-1.0.16.tgz", 2982 + "integrity": "sha512-42dgJ1rOtc0anOoxjXPOWuel/Z/4aeO7EJ2SiXNwvlkySSgjXhNjAjTMWa8DL1nt6EXS3jl3VKC3mPsU/lUgVA==", 2983 + "dependencies": { 2984 + "@better-fetch/fetch": "^1.1.4", 2985 + "rou3": "^0.5.1", 2986 + "set-cookie-parser": "^2.7.1", 2987 + "uncrypto": "^0.1.3" 2988 + } 2989 + }, 1843 2990 "node_modules/better-opn": { 1844 2991 "version": "3.0.2", 1845 2992 "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", ··· 1853 3000 "node": ">=12.0.0" 1854 3001 } 1855 3002 }, 3003 + "node_modules/better-sqlite3": { 3004 + "version": "11.10.0", 3005 + "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-11.10.0.tgz", 3006 + "integrity": "sha512-EwhOpyXiOEL/lKzHz9AW1msWFNzGc/z+LzeB3/jnFJpxu+th2yqvzsSWas1v9jgs9+xiXJcD5A8CJxAG2TaghQ==", 3007 + "dev": true, 3008 + "hasInstallScript": true, 3009 + "license": "MIT", 3010 + "dependencies": { 3011 + "bindings": "^1.5.0", 3012 + "prebuild-install": "^7.1.1" 3013 + } 3014 + }, 3015 + "node_modules/bindings": { 3016 + "version": "1.5.0", 3017 + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", 3018 + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", 3019 + "dev": true, 3020 + "license": "MIT", 3021 + "dependencies": { 3022 + "file-uri-to-path": "1.0.0" 3023 + } 3024 + }, 3025 + "node_modules/bits-ui": { 3026 + "version": "2.9.4", 3027 + "resolved": "https://registry.npmjs.org/bits-ui/-/bits-ui-2.9.4.tgz", 3028 + "integrity": "sha512-Cqn685P6DDuEyBZT/CWMyS5+8JAnYbctvoEVPcmiut+HUpG3SozVgjoDaUib5VG4ZYUKEi1FPwHxiXo9c6J0PA==", 3029 + "license": "MIT", 3030 + "dependencies": { 3031 + "@floating-ui/core": "^1.7.1", 3032 + "@floating-ui/dom": "^1.7.1", 3033 + "esm-env": "^1.1.2", 3034 + "runed": "^0.29.1", 3035 + "svelte-toolbelt": "^0.9.3", 3036 + "tabbable": "^6.2.0" 3037 + }, 3038 + "engines": { 3039 + "node": ">=20" 3040 + }, 3041 + "funding": { 3042 + "url": "https://github.com/sponsors/huntabyte" 3043 + }, 3044 + "peerDependencies": { 3045 + "@internationalized/date": "^3.8.1", 3046 + "svelte": "^5.33.0" 3047 + } 3048 + }, 3049 + "node_modules/bl": { 3050 + "version": "4.1.0", 3051 + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 3052 + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 3053 + "dev": true, 3054 + "license": "MIT", 3055 + "dependencies": { 3056 + "buffer": "^5.5.0", 3057 + "inherits": "^2.0.4", 3058 + "readable-stream": "^3.4.0" 3059 + } 3060 + }, 3061 + "node_modules/browserslist": { 3062 + "version": "4.25.3", 3063 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz", 3064 + "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==", 3065 + "dev": true, 3066 + "funding": [ 3067 + { 3068 + "type": "opencollective", 3069 + "url": "https://opencollective.com/browserslist" 3070 + }, 3071 + { 3072 + "type": "tidelift", 3073 + "url": "https://tidelift.com/funding/github/npm/browserslist" 3074 + }, 3075 + { 3076 + "type": "github", 3077 + "url": "https://github.com/sponsors/ai" 3078 + } 3079 + ], 3080 + "license": "MIT", 3081 + "dependencies": { 3082 + "caniuse-lite": "^1.0.30001735", 3083 + "electron-to-chromium": "^1.5.204", 3084 + "node-releases": "^2.0.19", 3085 + "update-browserslist-db": "^1.1.3" 3086 + }, 3087 + "bin": { 3088 + "browserslist": "cli.js" 3089 + }, 3090 + "engines": { 3091 + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 3092 + } 3093 + }, 3094 + "node_modules/buffer": { 3095 + "version": "5.7.1", 3096 + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 3097 + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 3098 + "dev": true, 3099 + "funding": [ 3100 + { 3101 + "type": "github", 3102 + "url": "https://github.com/sponsors/feross" 3103 + }, 3104 + { 3105 + "type": "patreon", 3106 + "url": "https://www.patreon.com/feross" 3107 + }, 3108 + { 3109 + "type": "consulting", 3110 + "url": "https://feross.org/support" 3111 + } 3112 + ], 3113 + "license": "MIT", 3114 + "dependencies": { 3115 + "base64-js": "^1.3.1", 3116 + "ieee754": "^1.1.13" 3117 + } 3118 + }, 3119 + "node_modules/c12": { 3120 + "version": "2.0.4", 3121 + "resolved": "https://registry.npmjs.org/c12/-/c12-2.0.4.tgz", 3122 + "integrity": "sha512-3DbbhnFt0fKJHxU4tEUPmD1ahWE4PWPMomqfYsTJdrhpmEnRKJi3qSC4rO5U6E6zN1+pjBY7+z8fUmNRMaVKLw==", 3123 + "dev": true, 3124 + "license": "MIT", 3125 + "dependencies": { 3126 + "chokidar": "^4.0.3", 3127 + "confbox": "^0.1.8", 3128 + "defu": "^6.1.4", 3129 + "dotenv": "^16.4.7", 3130 + "giget": "^1.2.4", 3131 + "jiti": "^2.4.2", 3132 + "mlly": "^1.7.4", 3133 + "ohash": "^2.0.4", 3134 + "pathe": "^2.0.3", 3135 + "perfect-debounce": "^1.0.0", 3136 + "pkg-types": "^1.3.1", 3137 + "rc9": "^2.1.2" 3138 + }, 3139 + "peerDependencies": { 3140 + "magicast": "^0.3.5" 3141 + }, 3142 + "peerDependenciesMeta": { 3143 + "magicast": { 3144 + "optional": true 3145 + } 3146 + } 3147 + }, 3148 + "node_modules/caniuse-lite": { 3149 + "version": "1.0.30001737", 3150 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001737.tgz", 3151 + "integrity": "sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==", 3152 + "dev": true, 3153 + "funding": [ 3154 + { 3155 + "type": "opencollective", 3156 + "url": "https://opencollective.com/browserslist" 3157 + }, 3158 + { 3159 + "type": "tidelift", 3160 + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 3161 + }, 3162 + { 3163 + "type": "github", 3164 + "url": "https://github.com/sponsors/ai" 3165 + } 3166 + ], 3167 + "license": "CC-BY-4.0" 3168 + }, 1856 3169 "node_modules/chai": { 1857 3170 "version": "5.3.3", 1858 3171 "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", ··· 1870 3183 "node": ">=18" 1871 3184 } 1872 3185 }, 3186 + "node_modules/chalk": { 3187 + "version": "5.6.0", 3188 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.0.tgz", 3189 + "integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==", 3190 + "dev": true, 3191 + "license": "MIT", 3192 + "engines": { 3193 + "node": "^12.17.0 || ^14.13 || >=16.0.0" 3194 + }, 3195 + "funding": { 3196 + "url": "https://github.com/chalk/chalk?sponsor=1" 3197 + } 3198 + }, 1873 3199 "node_modules/check-error": { 1874 3200 "version": "2.1.1", 1875 3201 "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", ··· 1880 3206 "node": ">= 16" 1881 3207 } 1882 3208 }, 3209 + "node_modules/chevrotain": { 3210 + "version": "10.5.0", 3211 + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.5.0.tgz", 3212 + "integrity": "sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==", 3213 + "dev": true, 3214 + "license": "Apache-2.0", 3215 + "dependencies": { 3216 + "@chevrotain/cst-dts-gen": "10.5.0", 3217 + "@chevrotain/gast": "10.5.0", 3218 + "@chevrotain/types": "10.5.0", 3219 + "@chevrotain/utils": "10.5.0", 3220 + "lodash": "4.17.21", 3221 + "regexp-to-ast": "0.5.0" 3222 + } 3223 + }, 1883 3224 "node_modules/chokidar": { 1884 3225 "version": "4.0.3", 1885 3226 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", ··· 1906 3247 "node": ">=18" 1907 3248 } 1908 3249 }, 3250 + "node_modules/citty": { 3251 + "version": "0.1.6", 3252 + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", 3253 + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", 3254 + "dev": true, 3255 + "license": "MIT", 3256 + "dependencies": { 3257 + "consola": "^3.2.3" 3258 + } 3259 + }, 1909 3260 "node_modules/clsx": { 1910 3261 "version": "2.1.1", 1911 3262 "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", ··· 1915 3266 "node": ">=6" 1916 3267 } 1917 3268 }, 3269 + "node_modules/commander": { 3270 + "version": "12.1.0", 3271 + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", 3272 + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", 3273 + "dev": true, 3274 + "license": "MIT", 3275 + "engines": { 3276 + "node": ">=18" 3277 + } 3278 + }, 3279 + "node_modules/confbox": { 3280 + "version": "0.1.8", 3281 + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", 3282 + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", 3283 + "dev": true, 3284 + "license": "MIT" 3285 + }, 3286 + "node_modules/consola": { 3287 + "version": "3.4.2", 3288 + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", 3289 + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", 3290 + "dev": true, 3291 + "license": "MIT", 3292 + "engines": { 3293 + "node": "^14.18.0 || >=16.10.0" 3294 + } 3295 + }, 3296 + "node_modules/convert-source-map": { 3297 + "version": "2.0.0", 3298 + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 3299 + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 3300 + "dev": true, 3301 + "license": "MIT" 3302 + }, 1918 3303 "node_modules/cookie": { 1919 3304 "version": "0.6.0", 1920 3305 "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", ··· 1950 3335 } 1951 3336 } 1952 3337 }, 3338 + "node_modules/decompress-response": { 3339 + "version": "6.0.0", 3340 + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", 3341 + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", 3342 + "dev": true, 3343 + "license": "MIT", 3344 + "dependencies": { 3345 + "mimic-response": "^3.1.0" 3346 + }, 3347 + "engines": { 3348 + "node": ">=10" 3349 + }, 3350 + "funding": { 3351 + "url": "https://github.com/sponsors/sindresorhus" 3352 + } 3353 + }, 1953 3354 "node_modules/dedent": { 1954 3355 "version": "1.6.0", 1955 3356 "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.6.0.tgz", ··· 1982 3383 "node": ">=6" 1983 3384 } 1984 3385 }, 3386 + "node_modules/deep-extend": { 3387 + "version": "0.6.0", 3388 + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 3389 + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 3390 + "dev": true, 3391 + "license": "MIT", 3392 + "engines": { 3393 + "node": ">=4.0.0" 3394 + } 3395 + }, 1985 3396 "node_modules/deepmerge": { 1986 3397 "version": "4.3.1", 1987 3398 "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", ··· 2002 3413 "node": ">=8" 2003 3414 } 2004 3415 }, 3416 + "node_modules/defu": { 3417 + "version": "6.1.4", 3418 + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", 3419 + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", 3420 + "license": "MIT" 3421 + }, 3422 + "node_modules/denque": { 3423 + "version": "2.1.0", 3424 + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", 3425 + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", 3426 + "license": "Apache-2.0", 3427 + "engines": { 3428 + "node": ">=0.10" 3429 + } 3430 + }, 2005 3431 "node_modules/dequal": { 2006 3432 "version": "2.0.3", 2007 3433 "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", ··· 2012 3438 "node": ">=6" 2013 3439 } 2014 3440 }, 3441 + "node_modules/destr": { 3442 + "version": "2.0.5", 3443 + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", 3444 + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", 3445 + "dev": true, 3446 + "license": "MIT" 3447 + }, 2015 3448 "node_modules/detect-libc": { 2016 3449 "version": "2.0.4", 2017 3450 "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", ··· 2023 3456 } 2024 3457 }, 2025 3458 "node_modules/devalue": { 2026 - "version": "5.1.1", 2027 - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz", 2028 - "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==", 3459 + "version": "5.3.2", 3460 + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.3.2.tgz", 3461 + "integrity": "sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==", 2029 3462 "dev": true, 2030 3463 "license": "MIT" 2031 3464 }, ··· 2037 3470 "license": "MIT", 2038 3471 "peer": true 2039 3472 }, 3473 + "node_modules/dotenv": { 3474 + "version": "16.6.1", 3475 + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", 3476 + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", 3477 + "dev": true, 3478 + "license": "BSD-2-Clause", 3479 + "engines": { 3480 + "node": ">=12" 3481 + }, 3482 + "funding": { 3483 + "url": "https://dotenvx.com" 3484 + } 3485 + }, 3486 + "node_modules/drizzle-orm": { 3487 + "version": "0.33.0", 3488 + "resolved": "https://registry.npmjs.org/drizzle-orm/-/drizzle-orm-0.33.0.tgz", 3489 + "integrity": "sha512-SHy72R2Rdkz0LEq0PSG/IdvnT3nGiWuRk+2tXZQ90GVq/XQhpCzu/EFT3V2rox+w8MlkBQxifF8pCStNYnERfA==", 3490 + "dev": true, 3491 + "license": "Apache-2.0", 3492 + "peerDependencies": { 3493 + "@aws-sdk/client-rds-data": ">=3", 3494 + "@cloudflare/workers-types": ">=3", 3495 + "@electric-sql/pglite": ">=0.1.1", 3496 + "@libsql/client": "*", 3497 + "@neondatabase/serverless": ">=0.1", 3498 + "@op-engineering/op-sqlite": ">=2", 3499 + "@opentelemetry/api": "^1.4.1", 3500 + "@planetscale/database": ">=1", 3501 + "@prisma/client": "*", 3502 + "@tidbcloud/serverless": "*", 3503 + "@types/better-sqlite3": "*", 3504 + "@types/pg": "*", 3505 + "@types/react": ">=18", 3506 + "@types/sql.js": "*", 3507 + "@vercel/postgres": ">=0.8.0", 3508 + "@xata.io/client": "*", 3509 + "better-sqlite3": ">=7", 3510 + "bun-types": "*", 3511 + "expo-sqlite": ">=13.2.0", 3512 + "knex": "*", 3513 + "kysely": "*", 3514 + "mysql2": ">=2", 3515 + "pg": ">=8", 3516 + "postgres": ">=3", 3517 + "react": ">=18", 3518 + "sql.js": ">=1", 3519 + "sqlite3": ">=5" 3520 + }, 3521 + "peerDependenciesMeta": { 3522 + "@aws-sdk/client-rds-data": { 3523 + "optional": true 3524 + }, 3525 + "@cloudflare/workers-types": { 3526 + "optional": true 3527 + }, 3528 + "@electric-sql/pglite": { 3529 + "optional": true 3530 + }, 3531 + "@libsql/client": { 3532 + "optional": true 3533 + }, 3534 + "@neondatabase/serverless": { 3535 + "optional": true 3536 + }, 3537 + "@op-engineering/op-sqlite": { 3538 + "optional": true 3539 + }, 3540 + "@opentelemetry/api": { 3541 + "optional": true 3542 + }, 3543 + "@planetscale/database": { 3544 + "optional": true 3545 + }, 3546 + "@prisma/client": { 3547 + "optional": true 3548 + }, 3549 + "@tidbcloud/serverless": { 3550 + "optional": true 3551 + }, 3552 + "@types/better-sqlite3": { 3553 + "optional": true 3554 + }, 3555 + "@types/pg": { 3556 + "optional": true 3557 + }, 3558 + "@types/react": { 3559 + "optional": true 3560 + }, 3561 + "@types/sql.js": { 3562 + "optional": true 3563 + }, 3564 + "@vercel/postgres": { 3565 + "optional": true 3566 + }, 3567 + "@xata.io/client": { 3568 + "optional": true 3569 + }, 3570 + "better-sqlite3": { 3571 + "optional": true 3572 + }, 3573 + "bun-types": { 3574 + "optional": true 3575 + }, 3576 + "expo-sqlite": { 3577 + "optional": true 3578 + }, 3579 + "knex": { 3580 + "optional": true 3581 + }, 3582 + "kysely": { 3583 + "optional": true 3584 + }, 3585 + "mysql2": { 3586 + "optional": true 3587 + }, 3588 + "pg": { 3589 + "optional": true 3590 + }, 3591 + "postgres": { 3592 + "optional": true 3593 + }, 3594 + "prisma": { 3595 + "optional": true 3596 + }, 3597 + "react": { 3598 + "optional": true 3599 + }, 3600 + "sql.js": { 3601 + "optional": true 3602 + }, 3603 + "sqlite3": { 3604 + "optional": true 3605 + } 3606 + } 3607 + }, 3608 + "node_modules/electron-to-chromium": { 3609 + "version": "1.5.208", 3610 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.208.tgz", 3611 + "integrity": "sha512-ozZyibehoe7tOhNaf16lKmljVf+3npZcJIEbJRVftVsmAg5TeA1mGS9dVCZzOwr2xT7xK15V0p7+GZqSPgkuPg==", 3612 + "dev": true, 3613 + "license": "ISC" 3614 + }, 3615 + "node_modules/end-of-stream": { 3616 + "version": "1.4.5", 3617 + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", 3618 + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", 3619 + "dev": true, 3620 + "license": "MIT", 3621 + "dependencies": { 3622 + "once": "^1.4.0" 3623 + } 3624 + }, 2040 3625 "node_modules/enhanced-resolve": { 2041 3626 "version": "5.18.3", 2042 3627 "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", ··· 2117 3702 "esbuild": ">=0.12 <1" 2118 3703 } 2119 3704 }, 3705 + "node_modules/escalade": { 3706 + "version": "3.2.0", 3707 + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 3708 + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 3709 + "dev": true, 3710 + "license": "MIT", 3711 + "engines": { 3712 + "node": ">=6" 3713 + } 3714 + }, 2120 3715 "node_modules/esm-env": { 2121 3716 "version": "1.2.2", 2122 3717 "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", ··· 2157 3752 "@types/estree": "^1.0.0" 2158 3753 } 2159 3754 }, 3755 + "node_modules/expand-template": { 3756 + "version": "2.0.3", 3757 + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", 3758 + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", 3759 + "dev": true, 3760 + "license": "(MIT OR WTFPL)", 3761 + "engines": { 3762 + "node": ">=6" 3763 + } 3764 + }, 2160 3765 "node_modules/fdir": { 2161 3766 "version": "6.5.0", 2162 3767 "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", ··· 2175 3780 } 2176 3781 } 2177 3782 }, 3783 + "node_modules/file-uri-to-path": { 3784 + "version": "1.0.0", 3785 + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", 3786 + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", 3787 + "dev": true, 3788 + "license": "MIT" 3789 + }, 3790 + "node_modules/fs-constants": { 3791 + "version": "1.0.0", 3792 + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 3793 + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", 3794 + "dev": true, 3795 + "license": "MIT" 3796 + }, 3797 + "node_modules/fs-extra": { 3798 + "version": "11.3.1", 3799 + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz", 3800 + "integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==", 3801 + "dev": true, 3802 + "license": "MIT", 3803 + "dependencies": { 3804 + "graceful-fs": "^4.2.0", 3805 + "jsonfile": "^6.0.1", 3806 + "universalify": "^2.0.0" 3807 + }, 3808 + "engines": { 3809 + "node": ">=14.14" 3810 + } 3811 + }, 3812 + "node_modules/fs-minipass": { 3813 + "version": "2.1.0", 3814 + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", 3815 + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", 3816 + "dev": true, 3817 + "license": "ISC", 3818 + "dependencies": { 3819 + "minipass": "^3.0.0" 3820 + }, 3821 + "engines": { 3822 + "node": ">= 8" 3823 + } 3824 + }, 3825 + "node_modules/fs-minipass/node_modules/minipass": { 3826 + "version": "3.3.6", 3827 + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", 3828 + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", 3829 + "dev": true, 3830 + "license": "ISC", 3831 + "dependencies": { 3832 + "yallist": "^4.0.0" 3833 + }, 3834 + "engines": { 3835 + "node": ">=8" 3836 + } 3837 + }, 3838 + "node_modules/fs-minipass/node_modules/yallist": { 3839 + "version": "4.0.0", 3840 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 3841 + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 3842 + "dev": true, 3843 + "license": "ISC" 3844 + }, 2178 3845 "node_modules/fsevents": { 2179 3846 "version": "2.3.3", 2180 3847 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", ··· 2190 3857 "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 2191 3858 } 2192 3859 }, 3860 + "node_modules/generate-function": { 3861 + "version": "2.3.1", 3862 + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", 3863 + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", 3864 + "license": "MIT", 3865 + "dependencies": { 3866 + "is-property": "^1.0.2" 3867 + } 3868 + }, 3869 + "node_modules/gensync": { 3870 + "version": "1.0.0-beta.2", 3871 + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 3872 + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 3873 + "dev": true, 3874 + "license": "MIT", 3875 + "engines": { 3876 + "node": ">=6.9.0" 3877 + } 3878 + }, 3879 + "node_modules/get-tsconfig": { 3880 + "version": "4.10.1", 3881 + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz", 3882 + "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==", 3883 + "dev": true, 3884 + "license": "MIT", 3885 + "dependencies": { 3886 + "resolve-pkg-maps": "^1.0.0" 3887 + }, 3888 + "funding": { 3889 + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" 3890 + } 3891 + }, 3892 + "node_modules/giget": { 3893 + "version": "1.2.5", 3894 + "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.5.tgz", 3895 + "integrity": "sha512-r1ekGw/Bgpi3HLV3h1MRBIlSAdHoIMklpaQ3OQLFcRw9PwAj2rqigvIbg+dBUI51OxVI2jsEtDywDBjSiuf7Ug==", 3896 + "dev": true, 3897 + "license": "MIT", 3898 + "dependencies": { 3899 + "citty": "^0.1.6", 3900 + "consola": "^3.4.0", 3901 + "defu": "^6.1.4", 3902 + "node-fetch-native": "^1.6.6", 3903 + "nypm": "^0.5.4", 3904 + "pathe": "^2.0.3", 3905 + "tar": "^6.2.1" 3906 + }, 3907 + "bin": { 3908 + "giget": "dist/cli.mjs" 3909 + } 3910 + }, 3911 + "node_modules/giget/node_modules/chownr": { 3912 + "version": "2.0.0", 3913 + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", 3914 + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", 3915 + "dev": true, 3916 + "license": "ISC", 3917 + "engines": { 3918 + "node": ">=10" 3919 + } 3920 + }, 3921 + "node_modules/giget/node_modules/minipass": { 3922 + "version": "5.0.0", 3923 + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", 3924 + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", 3925 + "dev": true, 3926 + "license": "ISC", 3927 + "engines": { 3928 + "node": ">=8" 3929 + } 3930 + }, 3931 + "node_modules/giget/node_modules/minizlib": { 3932 + "version": "2.1.2", 3933 + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", 3934 + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", 3935 + "dev": true, 3936 + "license": "MIT", 3937 + "dependencies": { 3938 + "minipass": "^3.0.0", 3939 + "yallist": "^4.0.0" 3940 + }, 3941 + "engines": { 3942 + "node": ">= 8" 3943 + } 3944 + }, 3945 + "node_modules/giget/node_modules/minizlib/node_modules/minipass": { 3946 + "version": "3.3.6", 3947 + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", 3948 + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", 3949 + "dev": true, 3950 + "license": "ISC", 3951 + "dependencies": { 3952 + "yallist": "^4.0.0" 3953 + }, 3954 + "engines": { 3955 + "node": ">=8" 3956 + } 3957 + }, 3958 + "node_modules/giget/node_modules/mkdirp": { 3959 + "version": "1.0.4", 3960 + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 3961 + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 3962 + "dev": true, 3963 + "license": "MIT", 3964 + "bin": { 3965 + "mkdirp": "bin/cmd.js" 3966 + }, 3967 + "engines": { 3968 + "node": ">=10" 3969 + } 3970 + }, 3971 + "node_modules/giget/node_modules/tar": { 3972 + "version": "6.2.1", 3973 + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", 3974 + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", 3975 + "dev": true, 3976 + "license": "ISC", 3977 + "dependencies": { 3978 + "chownr": "^2.0.0", 3979 + "fs-minipass": "^2.0.0", 3980 + "minipass": "^5.0.0", 3981 + "minizlib": "^2.1.1", 3982 + "mkdirp": "^1.0.3", 3983 + "yallist": "^4.0.0" 3984 + }, 3985 + "engines": { 3986 + "node": ">=10" 3987 + } 3988 + }, 3989 + "node_modules/giget/node_modules/yallist": { 3990 + "version": "4.0.0", 3991 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 3992 + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 3993 + "dev": true, 3994 + "license": "ISC" 3995 + }, 3996 + "node_modules/github-from-package": { 3997 + "version": "0.0.0", 3998 + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", 3999 + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", 4000 + "dev": true, 4001 + "license": "MIT" 4002 + }, 2193 4003 "node_modules/graceful-fs": { 2194 4004 "version": "4.2.11", 2195 4005 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", ··· 2197 4007 "dev": true, 2198 4008 "license": "ISC" 2199 4009 }, 4010 + "node_modules/iconv-lite": { 4011 + "version": "0.6.3", 4012 + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 4013 + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 4014 + "license": "MIT", 4015 + "dependencies": { 4016 + "safer-buffer": ">= 2.1.2 < 3.0.0" 4017 + }, 4018 + "engines": { 4019 + "node": ">=0.10.0" 4020 + } 4021 + }, 4022 + "node_modules/ieee754": { 4023 + "version": "1.2.1", 4024 + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 4025 + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 4026 + "dev": true, 4027 + "funding": [ 4028 + { 4029 + "type": "github", 4030 + "url": "https://github.com/sponsors/feross" 4031 + }, 4032 + { 4033 + "type": "patreon", 4034 + "url": "https://www.patreon.com/feross" 4035 + }, 4036 + { 4037 + "type": "consulting", 4038 + "url": "https://feross.org/support" 4039 + } 4040 + ], 4041 + "license": "BSD-3-Clause" 4042 + }, 2200 4043 "node_modules/indent-string": { 2201 4044 "version": "4.0.0", 2202 4045 "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", ··· 2207 4050 "node": ">=8" 2208 4051 } 2209 4052 }, 4053 + "node_modules/inherits": { 4054 + "version": "2.0.4", 4055 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 4056 + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 4057 + "dev": true, 4058 + "license": "ISC" 4059 + }, 4060 + "node_modules/ini": { 4061 + "version": "1.3.8", 4062 + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 4063 + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", 4064 + "dev": true, 4065 + "license": "ISC" 4066 + }, 4067 + "node_modules/inline-style-parser": { 4068 + "version": "0.2.4", 4069 + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", 4070 + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", 4071 + "license": "MIT" 4072 + }, 2210 4073 "node_modules/is-docker": { 2211 4074 "version": "2.2.1", 2212 4075 "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", ··· 2222 4085 "funding": { 2223 4086 "url": "https://github.com/sponsors/sindresorhus" 2224 4087 } 4088 + }, 4089 + "node_modules/is-property": { 4090 + "version": "1.0.2", 4091 + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", 4092 + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", 4093 + "license": "MIT" 2225 4094 }, 2226 4095 "node_modules/is-reference": { 2227 4096 "version": "3.0.3", ··· 2255 4124 "jiti": "lib/jiti-cli.mjs" 2256 4125 } 2257 4126 }, 4127 + "node_modules/jose": { 4128 + "version": "5.10.0", 4129 + "resolved": "https://registry.npmjs.org/jose/-/jose-5.10.0.tgz", 4130 + "integrity": "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==", 4131 + "license": "MIT", 4132 + "funding": { 4133 + "url": "https://github.com/sponsors/panva" 4134 + } 4135 + }, 2258 4136 "node_modules/js-tokens": { 2259 4137 "version": "4.0.0", 2260 4138 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2261 4139 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 4140 + "dev": true, 4141 + "license": "MIT" 4142 + }, 4143 + "node_modules/jsesc": { 4144 + "version": "3.1.0", 4145 + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", 4146 + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", 2262 4147 "dev": true, 2263 4148 "license": "MIT", 2264 - "peer": true 4149 + "bin": { 4150 + "jsesc": "bin/jsesc" 4151 + }, 4152 + "engines": { 4153 + "node": ">=6" 4154 + } 4155 + }, 4156 + "node_modules/json5": { 4157 + "version": "2.2.3", 4158 + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 4159 + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 4160 + "dev": true, 4161 + "license": "MIT", 4162 + "bin": { 4163 + "json5": "lib/cli.js" 4164 + }, 4165 + "engines": { 4166 + "node": ">=6" 4167 + } 4168 + }, 4169 + "node_modules/jsonfile": { 4170 + "version": "6.2.0", 4171 + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", 4172 + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", 4173 + "dev": true, 4174 + "license": "MIT", 4175 + "dependencies": { 4176 + "universalify": "^2.0.0" 4177 + }, 4178 + "optionalDependencies": { 4179 + "graceful-fs": "^4.1.6" 4180 + } 2265 4181 }, 2266 4182 "node_modules/kleur": { 2267 4183 "version": "4.1.5", ··· 2271 4187 "license": "MIT", 2272 4188 "engines": { 2273 4189 "node": ">=6" 4190 + } 4191 + }, 4192 + "node_modules/kysely": { 4193 + "version": "0.28.5", 4194 + "resolved": "https://registry.npmjs.org/kysely/-/kysely-0.28.5.tgz", 4195 + "integrity": "sha512-rlB0I/c6FBDWPcQoDtkxi9zIvpmnV5xoIalfCMSMCa7nuA6VGA3F54TW9mEgX4DVf10sXAWCF5fDbamI/5ZpKA==", 4196 + "license": "MIT", 4197 + "engines": { 4198 + "node": ">=20.0.0" 2274 4199 } 2275 4200 }, 2276 4201 "node_modules/lightningcss": { ··· 2512 4437 "url": "https://opencollective.com/parcel" 2513 4438 } 2514 4439 }, 4440 + "node_modules/lilconfig": { 4441 + "version": "2.1.0", 4442 + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 4443 + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 4444 + "dev": true, 4445 + "license": "MIT", 4446 + "engines": { 4447 + "node": ">=10" 4448 + } 4449 + }, 2515 4450 "node_modules/locate-character": { 2516 4451 "version": "3.0.0", 2517 4452 "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", 2518 4453 "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", 2519 4454 "license": "MIT" 2520 4455 }, 4456 + "node_modules/lodash": { 4457 + "version": "4.17.21", 4458 + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 4459 + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 4460 + "dev": true, 4461 + "license": "MIT" 4462 + }, 4463 + "node_modules/long": { 4464 + "version": "5.3.2", 4465 + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", 4466 + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", 4467 + "license": "Apache-2.0" 4468 + }, 2521 4469 "node_modules/loupe": { 2522 4470 "version": "3.2.1", 2523 4471 "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", ··· 2535 4483 "tslib": "^2.0.3" 2536 4484 } 2537 4485 }, 4486 + "node_modules/lru-cache": { 4487 + "version": "7.18.3", 4488 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", 4489 + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", 4490 + "license": "ISC", 4491 + "engines": { 4492 + "node": ">=12" 4493 + } 4494 + }, 4495 + "node_modules/lru.min": { 4496 + "version": "1.1.2", 4497 + "resolved": "https://registry.npmjs.org/lru.min/-/lru.min-1.1.2.tgz", 4498 + "integrity": "sha512-Nv9KddBcQSlQopmBHXSsZVY5xsdlZkdH/Iey0BlcBYggMd4two7cZnKOK9vmy3nY0O5RGH99z1PCeTpPqszUYg==", 4499 + "license": "MIT", 4500 + "engines": { 4501 + "bun": ">=1.0.0", 4502 + "deno": ">=1.30.0", 4503 + "node": ">=8.0.0" 4504 + }, 4505 + "funding": { 4506 + "type": "github", 4507 + "url": "https://github.com/sponsors/wellwelwel" 4508 + } 4509 + }, 2538 4510 "node_modules/lz-string": { 2539 4511 "version": "1.5.0", 2540 4512 "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", ··· 2573 4545 "svelte": "^3.56.0 || ^4.0.0 || ^5.0.0-next.120" 2574 4546 } 2575 4547 }, 4548 + "node_modules/mimic-response": { 4549 + "version": "3.1.0", 4550 + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", 4551 + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", 4552 + "dev": true, 4553 + "license": "MIT", 4554 + "engines": { 4555 + "node": ">=10" 4556 + }, 4557 + "funding": { 4558 + "url": "https://github.com/sponsors/sindresorhus" 4559 + } 4560 + }, 2576 4561 "node_modules/min-indent": { 2577 4562 "version": "1.0.1", 2578 4563 "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", ··· 2583 4568 "node": ">=4" 2584 4569 } 2585 4570 }, 4571 + "node_modules/minimist": { 4572 + "version": "1.2.8", 4573 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 4574 + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 4575 + "dev": true, 4576 + "license": "MIT", 4577 + "funding": { 4578 + "url": "https://github.com/sponsors/ljharb" 4579 + } 4580 + }, 2586 4581 "node_modules/minipass": { 2587 4582 "version": "7.1.2", 2588 4583 "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", ··· 2628 4623 "url": "https://github.com/sponsors/isaacs" 2629 4624 } 2630 4625 }, 4626 + "node_modules/mkdirp-classic": { 4627 + "version": "0.5.3", 4628 + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 4629 + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", 4630 + "dev": true, 4631 + "license": "MIT" 4632 + }, 4633 + "node_modules/mlly": { 4634 + "version": "1.8.0", 4635 + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", 4636 + "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", 4637 + "dev": true, 4638 + "license": "MIT", 4639 + "dependencies": { 4640 + "acorn": "^8.15.0", 4641 + "pathe": "^2.0.3", 4642 + "pkg-types": "^1.3.1", 4643 + "ufo": "^1.6.1" 4644 + } 4645 + }, 2631 4646 "node_modules/mri": { 2632 4647 "version": "1.2.0", 2633 4648 "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", ··· 2655 4670 "dev": true, 2656 4671 "license": "MIT" 2657 4672 }, 4673 + "node_modules/mysql2": { 4674 + "version": "3.14.3", 4675 + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.14.3.tgz", 4676 + "integrity": "sha512-fD6MLV8XJ1KiNFIF0bS7Msl8eZyhlTDCDl75ajU5SJtpdx9ZPEACulJcqJWr1Y8OYyxsFc4j3+nflpmhxCU5aQ==", 4677 + "license": "MIT", 4678 + "dependencies": { 4679 + "aws-ssl-profiles": "^1.1.1", 4680 + "denque": "^2.1.0", 4681 + "generate-function": "^2.3.1", 4682 + "iconv-lite": "^0.6.3", 4683 + "long": "^5.2.1", 4684 + "lru.min": "^1.0.0", 4685 + "named-placeholders": "^1.1.3", 4686 + "seq-queue": "^0.0.5", 4687 + "sqlstring": "^2.3.2" 4688 + }, 4689 + "engines": { 4690 + "node": ">= 8.0" 4691 + } 4692 + }, 4693 + "node_modules/named-placeholders": { 4694 + "version": "1.1.3", 4695 + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.3.tgz", 4696 + "integrity": "sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==", 4697 + "license": "MIT", 4698 + "dependencies": { 4699 + "lru-cache": "^7.14.1" 4700 + }, 4701 + "engines": { 4702 + "node": ">=12.0.0" 4703 + } 4704 + }, 2658 4705 "node_modules/nanoid": { 2659 4706 "version": "3.3.11", 2660 4707 "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", ··· 2674 4721 "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 2675 4722 } 2676 4723 }, 4724 + "node_modules/nanostores": { 4725 + "version": "0.11.4", 4726 + "resolved": "https://registry.npmjs.org/nanostores/-/nanostores-0.11.4.tgz", 4727 + "integrity": "sha512-k1oiVNN4hDK8NcNERSZLQiMfRzEGtfnvZvdBvey3SQbgn8Dcrk0h1I6vpxApjb10PFUflZrgJ2WEZyJQ+5v7YQ==", 4728 + "funding": [ 4729 + { 4730 + "type": "github", 4731 + "url": "https://github.com/sponsors/ai" 4732 + } 4733 + ], 4734 + "license": "MIT", 4735 + "engines": { 4736 + "node": "^18.0.0 || >=20.0.0" 4737 + } 4738 + }, 4739 + "node_modules/napi-build-utils": { 4740 + "version": "2.0.0", 4741 + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", 4742 + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", 4743 + "dev": true, 4744 + "license": "MIT" 4745 + }, 2677 4746 "node_modules/no-case": { 2678 4747 "version": "3.0.4", 2679 4748 "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", ··· 2685 4754 "tslib": "^2.0.3" 2686 4755 } 2687 4756 }, 4757 + "node_modules/node-abi": { 4758 + "version": "3.75.0", 4759 + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.75.0.tgz", 4760 + "integrity": "sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==", 4761 + "dev": true, 4762 + "license": "MIT", 4763 + "dependencies": { 4764 + "semver": "^7.3.5" 4765 + }, 4766 + "engines": { 4767 + "node": ">=10" 4768 + } 4769 + }, 4770 + "node_modules/node-fetch-native": { 4771 + "version": "1.6.7", 4772 + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", 4773 + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", 4774 + "dev": true, 4775 + "license": "MIT" 4776 + }, 4777 + "node_modules/node-releases": { 4778 + "version": "2.0.19", 4779 + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", 4780 + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", 4781 + "dev": true, 4782 + "license": "MIT" 4783 + }, 4784 + "node_modules/nypm": { 4785 + "version": "0.5.4", 4786 + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.5.4.tgz", 4787 + "integrity": "sha512-X0SNNrZiGU8/e/zAB7sCTtdxWTMSIO73q+xuKgglm2Yvzwlo8UoC5FNySQFCvl84uPaeADkqHUZUkWy4aH4xOA==", 4788 + "dev": true, 4789 + "license": "MIT", 4790 + "dependencies": { 4791 + "citty": "^0.1.6", 4792 + "consola": "^3.4.0", 4793 + "pathe": "^2.0.3", 4794 + "pkg-types": "^1.3.1", 4795 + "tinyexec": "^0.3.2", 4796 + "ufo": "^1.5.4" 4797 + }, 4798 + "bin": { 4799 + "nypm": "dist/cli.mjs" 4800 + }, 4801 + "engines": { 4802 + "node": "^14.16.0 || >=16.10.0" 4803 + } 4804 + }, 4805 + "node_modules/ohash": { 4806 + "version": "2.0.11", 4807 + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", 4808 + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", 4809 + "dev": true, 4810 + "license": "MIT" 4811 + }, 4812 + "node_modules/once": { 4813 + "version": "1.4.0", 4814 + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 4815 + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 4816 + "dev": true, 4817 + "license": "ISC", 4818 + "dependencies": { 4819 + "wrappy": "1" 4820 + } 4821 + }, 2688 4822 "node_modules/open": { 2689 4823 "version": "8.4.2", 2690 4824 "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", ··· 2703 4837 "url": "https://github.com/sponsors/sindresorhus" 2704 4838 } 2705 4839 }, 4840 + "node_modules/oxlint": { 4841 + "version": "1.13.0", 4842 + "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.13.0.tgz", 4843 + "integrity": "sha512-wEoHG0WCbxSfpXqrJPbB6q7j16xoiUJD2WHJffpR9CCPB1ZYgOwf/qRSzH9KGW/Uda7oxm/1Ebx4q4hGALJmeQ==", 4844 + "dev": true, 4845 + "license": "MIT", 4846 + "bin": { 4847 + "oxc_language_server": "bin/oxc_language_server", 4848 + "oxlint": "bin/oxlint" 4849 + }, 4850 + "engines": { 4851 + "node": ">=8.*" 4852 + }, 4853 + "funding": { 4854 + "url": "https://github.com/sponsors/Boshen" 4855 + }, 4856 + "optionalDependencies": { 4857 + "@oxlint/darwin-arm64": "1.13.0", 4858 + "@oxlint/darwin-x64": "1.13.0", 4859 + "@oxlint/linux-arm64-gnu": "1.13.0", 4860 + "@oxlint/linux-arm64-musl": "1.13.0", 4861 + "@oxlint/linux-x64-gnu": "1.13.0", 4862 + "@oxlint/linux-x64-musl": "1.13.0", 4863 + "@oxlint/win32-arm64": "1.13.0", 4864 + "@oxlint/win32-x64": "1.13.0" 4865 + }, 4866 + "peerDependencies": { 4867 + "oxlint-tsgolint": ">=0.0.4" 4868 + }, 4869 + "peerDependenciesMeta": { 4870 + "oxlint-tsgolint": { 4871 + "optional": true 4872 + } 4873 + } 4874 + }, 2706 4875 "node_modules/pascal-case": { 2707 4876 "version": "3.1.2", 2708 4877 "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", ··· 2714 4883 "tslib": "^2.0.3" 2715 4884 } 2716 4885 }, 4886 + "node_modules/pathe": { 4887 + "version": "2.0.3", 4888 + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", 4889 + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", 4890 + "dev": true, 4891 + "license": "MIT" 4892 + }, 2717 4893 "node_modules/pathval": { 2718 4894 "version": "2.0.1", 2719 4895 "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", ··· 2724 4900 "node": ">= 14.16" 2725 4901 } 2726 4902 }, 4903 + "node_modules/perfect-debounce": { 4904 + "version": "1.0.0", 4905 + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", 4906 + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", 4907 + "dev": true, 4908 + "license": "MIT" 4909 + }, 2727 4910 "node_modules/picocolors": { 2728 4911 "version": "1.1.1", 2729 4912 "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", ··· 2744 4927 "url": "https://github.com/sponsors/jonschlinkert" 2745 4928 } 2746 4929 }, 4930 + "node_modules/pkg-types": { 4931 + "version": "1.3.1", 4932 + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", 4933 + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", 4934 + "dev": true, 4935 + "license": "MIT", 4936 + "dependencies": { 4937 + "confbox": "^0.1.8", 4938 + "mlly": "^1.7.4", 4939 + "pathe": "^2.0.1" 4940 + } 4941 + }, 2747 4942 "node_modules/postcss": { 2748 4943 "version": "8.5.6", 2749 4944 "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", ··· 2773 4968 "node": "^10 || ^12 || >=14" 2774 4969 } 2775 4970 }, 4971 + "node_modules/prebuild-install": { 4972 + "version": "7.1.3", 4973 + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", 4974 + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", 4975 + "dev": true, 4976 + "license": "MIT", 4977 + "dependencies": { 4978 + "detect-libc": "^2.0.0", 4979 + "expand-template": "^2.0.3", 4980 + "github-from-package": "0.0.0", 4981 + "minimist": "^1.2.3", 4982 + "mkdirp-classic": "^0.5.3", 4983 + "napi-build-utils": "^2.0.0", 4984 + "node-abi": "^3.3.0", 4985 + "pump": "^3.0.0", 4986 + "rc": "^1.2.7", 4987 + "simple-get": "^4.0.0", 4988 + "tar-fs": "^2.0.0", 4989 + "tunnel-agent": "^0.6.0" 4990 + }, 4991 + "bin": { 4992 + "prebuild-install": "bin.js" 4993 + }, 4994 + "engines": { 4995 + "node": ">=10" 4996 + } 4997 + }, 4998 + "node_modules/prettier": { 4999 + "version": "3.6.2", 5000 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", 5001 + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", 5002 + "dev": true, 5003 + "license": "MIT", 5004 + "bin": { 5005 + "prettier": "bin/prettier.cjs" 5006 + }, 5007 + "engines": { 5008 + "node": ">=14" 5009 + }, 5010 + "funding": { 5011 + "url": "https://github.com/prettier/prettier?sponsor=1" 5012 + } 5013 + }, 2776 5014 "node_modules/pretty-format": { 2777 5015 "version": "27.5.1", 2778 5016 "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", ··· 2796 5034 "dev": true, 2797 5035 "license": "MIT" 2798 5036 }, 5037 + "node_modules/prisma": { 5038 + "version": "5.22.0", 5039 + "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.22.0.tgz", 5040 + "integrity": "sha512-vtpjW3XuYCSnMsNVBjLMNkTj6OZbudcPPTPYHqX0CJfpcdWciI1dM8uHETwmDxxiqEwCIE6WvXucWUetJgfu/A==", 5041 + "dev": true, 5042 + "hasInstallScript": true, 5043 + "license": "Apache-2.0", 5044 + "dependencies": { 5045 + "@prisma/engines": "5.22.0" 5046 + }, 5047 + "bin": { 5048 + "prisma": "build/index.js" 5049 + }, 5050 + "engines": { 5051 + "node": ">=16.13" 5052 + }, 5053 + "optionalDependencies": { 5054 + "fsevents": "2.3.3" 5055 + } 5056 + }, 2799 5057 "node_modules/prismjs": { 2800 5058 "version": "1.30.0", 2801 5059 "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", ··· 2806 5064 "node": ">=6" 2807 5065 } 2808 5066 }, 5067 + "node_modules/prompts": { 5068 + "version": "2.4.2", 5069 + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", 5070 + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", 5071 + "dev": true, 5072 + "license": "MIT", 5073 + "dependencies": { 5074 + "kleur": "^3.0.3", 5075 + "sisteransi": "^1.0.5" 5076 + }, 5077 + "engines": { 5078 + "node": ">= 6" 5079 + } 5080 + }, 5081 + "node_modules/prompts/node_modules/kleur": { 5082 + "version": "3.0.3", 5083 + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", 5084 + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", 5085 + "dev": true, 5086 + "license": "MIT", 5087 + "engines": { 5088 + "node": ">=6" 5089 + } 5090 + }, 5091 + "node_modules/pump": { 5092 + "version": "3.0.3", 5093 + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", 5094 + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", 5095 + "dev": true, 5096 + "license": "MIT", 5097 + "dependencies": { 5098 + "end-of-stream": "^1.1.0", 5099 + "once": "^1.3.1" 5100 + } 5101 + }, 5102 + "node_modules/pvtsutils": { 5103 + "version": "1.3.6", 5104 + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", 5105 + "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", 5106 + "license": "MIT", 5107 + "dependencies": { 5108 + "tslib": "^2.8.1" 5109 + } 5110 + }, 5111 + "node_modules/pvutils": { 5112 + "version": "1.1.3", 5113 + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", 5114 + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==", 5115 + "license": "MIT", 5116 + "engines": { 5117 + "node": ">=6.0.0" 5118 + } 5119 + }, 5120 + "node_modules/rc": { 5121 + "version": "1.2.8", 5122 + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 5123 + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 5124 + "dev": true, 5125 + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", 5126 + "dependencies": { 5127 + "deep-extend": "^0.6.0", 5128 + "ini": "~1.3.0", 5129 + "minimist": "^1.2.0", 5130 + "strip-json-comments": "~2.0.1" 5131 + }, 5132 + "bin": { 5133 + "rc": "cli.js" 5134 + } 5135 + }, 5136 + "node_modules/rc9": { 5137 + "version": "2.1.2", 5138 + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", 5139 + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", 5140 + "dev": true, 5141 + "license": "MIT", 5142 + "dependencies": { 5143 + "defu": "^6.1.4", 5144 + "destr": "^2.0.3" 5145 + } 5146 + }, 2809 5147 "node_modules/react-is": { 2810 5148 "version": "17.0.2", 2811 5149 "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", ··· 2814 5152 "license": "MIT", 2815 5153 "peer": true 2816 5154 }, 5155 + "node_modules/readable-stream": { 5156 + "version": "3.6.2", 5157 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 5158 + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 5159 + "dev": true, 5160 + "license": "MIT", 5161 + "dependencies": { 5162 + "inherits": "^2.0.3", 5163 + "string_decoder": "^1.1.1", 5164 + "util-deprecate": "^1.0.1" 5165 + }, 5166 + "engines": { 5167 + "node": ">= 6" 5168 + } 5169 + }, 2817 5170 "node_modules/readdirp": { 2818 5171 "version": "4.1.2", 2819 5172 "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", ··· 2857 5210 }, 2858 5211 "engines": { 2859 5212 "node": ">=8" 5213 + } 5214 + }, 5215 + "node_modules/regexp-to-ast": { 5216 + "version": "0.5.0", 5217 + "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", 5218 + "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==", 5219 + "dev": true, 5220 + "license": "MIT" 5221 + }, 5222 + "node_modules/resolve-pkg-maps": { 5223 + "version": "1.0.0", 5224 + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", 5225 + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", 5226 + "dev": true, 5227 + "license": "MIT", 5228 + "funding": { 5229 + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" 2860 5230 } 2861 5231 }, 2862 5232 "node_modules/rollup": { ··· 2899 5269 "fsevents": "~2.3.2" 2900 5270 } 2901 5271 }, 5272 + "node_modules/rou3": { 5273 + "version": "0.5.1", 5274 + "resolved": "https://registry.npmjs.org/rou3/-/rou3-0.5.1.tgz", 5275 + "integrity": "sha512-OXMmJ3zRk2xeXFGfA3K+EOPHC5u7RDFG7lIOx0X1pdnhUkI8MdVrbV+sNsD80ElpUZ+MRHdyxPnFthq9VHs8uQ==", 5276 + "license": "MIT" 5277 + }, 5278 + "node_modules/runed": { 5279 + "version": "0.29.2", 5280 + "resolved": "https://registry.npmjs.org/runed/-/runed-0.29.2.tgz", 5281 + "integrity": "sha512-0cq6cA6sYGZwl/FvVqjx9YN+1xEBu9sDDyuWdDW1yWX7JF2wmvmVKfH+hVCZs+csW+P3ARH92MjI3H9QTagOQA==", 5282 + "funding": [ 5283 + "https://github.com/sponsors/huntabyte", 5284 + "https://github.com/sponsors/tglide" 5285 + ], 5286 + "license": "MIT", 5287 + "dependencies": { 5288 + "esm-env": "^1.0.0" 5289 + }, 5290 + "peerDependencies": { 5291 + "svelte": "^5.7.0" 5292 + } 5293 + }, 2902 5294 "node_modules/sade": { 2903 5295 "version": "1.8.1", 2904 5296 "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", ··· 2912 5304 "node": ">=6" 2913 5305 } 2914 5306 }, 5307 + "node_modules/safe-buffer": { 5308 + "version": "5.2.1", 5309 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 5310 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 5311 + "dev": true, 5312 + "funding": [ 5313 + { 5314 + "type": "github", 5315 + "url": "https://github.com/sponsors/feross" 5316 + }, 5317 + { 5318 + "type": "patreon", 5319 + "url": "https://www.patreon.com/feross" 5320 + }, 5321 + { 5322 + "type": "consulting", 5323 + "url": "https://feross.org/support" 5324 + } 5325 + ], 5326 + "license": "MIT" 5327 + }, 5328 + "node_modules/safer-buffer": { 5329 + "version": "2.1.2", 5330 + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 5331 + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 5332 + "license": "MIT" 5333 + }, 2915 5334 "node_modules/semver": { 2916 5335 "version": "7.7.2", 2917 5336 "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", ··· 2924 5343 "engines": { 2925 5344 "node": ">=10" 2926 5345 } 5346 + }, 5347 + "node_modules/seq-queue": { 5348 + "version": "0.0.5", 5349 + "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", 5350 + "integrity": "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==" 2927 5351 }, 2928 5352 "node_modules/set-cookie-parser": { 2929 5353 "version": "2.7.1", 2930 5354 "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", 2931 5355 "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", 5356 + "license": "MIT" 5357 + }, 5358 + "node_modules/simple-concat": { 5359 + "version": "1.0.1", 5360 + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", 5361 + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", 2932 5362 "dev": true, 5363 + "funding": [ 5364 + { 5365 + "type": "github", 5366 + "url": "https://github.com/sponsors/feross" 5367 + }, 5368 + { 5369 + "type": "patreon", 5370 + "url": "https://www.patreon.com/feross" 5371 + }, 5372 + { 5373 + "type": "consulting", 5374 + "url": "https://feross.org/support" 5375 + } 5376 + ], 2933 5377 "license": "MIT" 2934 5378 }, 5379 + "node_modules/simple-get": { 5380 + "version": "4.0.1", 5381 + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", 5382 + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", 5383 + "dev": true, 5384 + "funding": [ 5385 + { 5386 + "type": "github", 5387 + "url": "https://github.com/sponsors/feross" 5388 + }, 5389 + { 5390 + "type": "patreon", 5391 + "url": "https://www.patreon.com/feross" 5392 + }, 5393 + { 5394 + "type": "consulting", 5395 + "url": "https://feross.org/support" 5396 + } 5397 + ], 5398 + "license": "MIT", 5399 + "dependencies": { 5400 + "decompress-response": "^6.0.0", 5401 + "once": "^1.3.1", 5402 + "simple-concat": "^1.0.0" 5403 + } 5404 + }, 2935 5405 "node_modules/sirv": { 2936 5406 "version": "3.0.1", 2937 5407 "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", ··· 2947 5417 "node": ">=18" 2948 5418 } 2949 5419 }, 5420 + "node_modules/sisteransi": { 5421 + "version": "1.0.5", 5422 + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", 5423 + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", 5424 + "dev": true, 5425 + "license": "MIT" 5426 + }, 2950 5427 "node_modules/source-map": { 2951 5428 "version": "0.6.1", 2952 5429 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", ··· 2967 5444 "node": ">=0.10.0" 2968 5445 } 2969 5446 }, 5447 + "node_modules/sqlstring": { 5448 + "version": "2.3.3", 5449 + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", 5450 + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==", 5451 + "license": "MIT", 5452 + "engines": { 5453 + "node": ">= 0.6" 5454 + } 5455 + }, 2970 5456 "node_modules/storybook": { 2971 5457 "version": "9.1.3", 2972 5458 "resolved": "https://registry.npmjs.org/storybook/-/storybook-9.1.3.tgz", ··· 3003 5489 } 3004 5490 } 3005 5491 }, 5492 + "node_modules/string_decoder": { 5493 + "version": "1.3.0", 5494 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 5495 + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 5496 + "dev": true, 5497 + "license": "MIT", 5498 + "dependencies": { 5499 + "safe-buffer": "~5.2.0" 5500 + } 5501 + }, 3006 5502 "node_modules/strip-indent": { 3007 5503 "version": "3.0.0", 3008 5504 "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", ··· 3016 5512 "node": ">=8" 3017 5513 } 3018 5514 }, 5515 + "node_modules/strip-json-comments": { 5516 + "version": "2.0.1", 5517 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 5518 + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", 5519 + "dev": true, 5520 + "license": "MIT", 5521 + "engines": { 5522 + "node": ">=0.10.0" 5523 + } 5524 + }, 5525 + "node_modules/style-to-object": { 5526 + "version": "1.0.9", 5527 + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.9.tgz", 5528 + "integrity": "sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==", 5529 + "license": "MIT", 5530 + "dependencies": { 5531 + "inline-style-parser": "0.2.4" 5532 + } 5533 + }, 3019 5534 "node_modules/svelte": { 3020 - "version": "5.38.3", 3021 - "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.38.3.tgz", 3022 - "integrity": "sha512-ldbPzKdjUy7IALMBn15jzBM/TNxdXMxKeQZ538zzdABUjLg7e7/OIwnlaMQ+OR6s91W7DbDmJYjxHThHH7r9xA==", 5535 + "version": "5.38.6", 5536 + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.38.6.tgz", 5537 + "integrity": "sha512-ltBPlkvqk3bgCK7/N323atUpP3O3Y+DrGV4dcULrsSn4fZaaNnOmdplNznwfdWclAgvSr5rxjtzn/zJhRm6TKg==", 3023 5538 "license": "MIT", 3024 5539 "dependencies": { 3025 5540 "@jridgewell/remapping": "^2.3.4", ··· 3101 5616 "peerDependencies": { 3102 5617 "svelte": "^4.0.0 || ^5.0.0-next.0", 3103 5618 "typescript": ">=5.0.0" 5619 + } 5620 + }, 5621 + "node_modules/svelte-toolbelt": { 5622 + "version": "0.9.3", 5623 + "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.9.3.tgz", 5624 + "integrity": "sha512-HCSWxCtVmv+c6g1ACb8LTwHVbDqLKJvHpo6J8TaqwUme2hj9ATJCpjCPNISR1OCq2Q4U1KT41if9ON0isINQZw==", 5625 + "funding": [ 5626 + "https://github.com/sponsors/huntabyte" 5627 + ], 5628 + "dependencies": { 5629 + "clsx": "^2.1.1", 5630 + "runed": "^0.29.0", 5631 + "style-to-object": "^1.0.8" 5632 + }, 5633 + "engines": { 5634 + "node": ">=18", 5635 + "pnpm": ">=8.7.0" 5636 + }, 5637 + "peerDependencies": { 5638 + "svelte": "^5.30.2" 3104 5639 } 3105 5640 }, 3106 5641 "node_modules/svelte/node_modules/aria-query": { ··· 3136 5671 "typescript": "^4.9.4 || ^5.0.0" 3137 5672 } 3138 5673 }, 5674 + "node_modules/tabbable": { 5675 + "version": "6.2.0", 5676 + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", 5677 + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", 5678 + "license": "MIT" 5679 + }, 3139 5680 "node_modules/tailwindcss": { 3140 5681 "version": "4.1.12", 3141 5682 "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.12.tgz", ··· 3173 5714 }, 3174 5715 "engines": { 3175 5716 "node": ">=18" 5717 + } 5718 + }, 5719 + "node_modules/tar-fs": { 5720 + "version": "2.1.3", 5721 + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz", 5722 + "integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==", 5723 + "dev": true, 5724 + "license": "MIT", 5725 + "dependencies": { 5726 + "chownr": "^1.1.1", 5727 + "mkdirp-classic": "^0.5.2", 5728 + "pump": "^3.0.0", 5729 + "tar-stream": "^2.1.4" 5730 + } 5731 + }, 5732 + "node_modules/tar-fs/node_modules/chownr": { 5733 + "version": "1.1.4", 5734 + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 5735 + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", 5736 + "dev": true, 5737 + "license": "ISC" 5738 + }, 5739 + "node_modules/tar-stream": { 5740 + "version": "2.2.0", 5741 + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 5742 + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 5743 + "dev": true, 5744 + "license": "MIT", 5745 + "dependencies": { 5746 + "bl": "^4.0.3", 5747 + "end-of-stream": "^1.4.1", 5748 + "fs-constants": "^1.0.0", 5749 + "inherits": "^2.0.3", 5750 + "readable-stream": "^3.1.1" 5751 + }, 5752 + "engines": { 5753 + "node": ">=6" 3176 5754 } 3177 5755 }, 3178 5756 "node_modules/three": { ··· 3189 5767 "dev": true, 3190 5768 "license": "MIT" 3191 5769 }, 5770 + "node_modules/tinyexec": { 5771 + "version": "0.3.2", 5772 + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", 5773 + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", 5774 + "dev": true, 5775 + "license": "MIT" 5776 + }, 3192 5777 "node_modules/tinyglobby": { 3193 5778 "version": "0.2.14", 3194 5779 "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", ··· 3250 5835 "version": "2.8.1", 3251 5836 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 3252 5837 "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 5838 + "license": "0BSD" 5839 + }, 5840 + "node_modules/tunnel-agent": { 5841 + "version": "0.6.0", 5842 + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 5843 + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", 3253 5844 "dev": true, 3254 - "license": "0BSD" 5845 + "license": "Apache-2.0", 5846 + "dependencies": { 5847 + "safe-buffer": "^5.0.1" 5848 + }, 5849 + "engines": { 5850 + "node": "*" 5851 + } 3255 5852 }, 3256 5853 "node_modules/type-fest": { 3257 5854 "version": "4.41.0", ··· 3279 5876 "node": ">=14.17" 3280 5877 } 3281 5878 }, 5879 + "node_modules/ufo": { 5880 + "version": "1.6.1", 5881 + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", 5882 + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", 5883 + "dev": true, 5884 + "license": "MIT" 5885 + }, 5886 + "node_modules/uncrypto": { 5887 + "version": "0.1.3", 5888 + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", 5889 + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", 5890 + "license": "MIT" 5891 + }, 3282 5892 "node_modules/undici-types": { 3283 5893 "version": "7.10.0", 3284 5894 "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", ··· 3342 5952 "url": "https://opencollective.com/unified" 3343 5953 } 3344 5954 }, 5955 + "node_modules/universalify": { 5956 + "version": "2.0.1", 5957 + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", 5958 + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", 5959 + "dev": true, 5960 + "license": "MIT", 5961 + "engines": { 5962 + "node": ">= 10.0.0" 5963 + } 5964 + }, 3345 5965 "node_modules/unplugin": { 3346 5966 "version": "1.16.1", 3347 5967 "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.1.tgz", ··· 3355 5975 "engines": { 3356 5976 "node": ">=14.0.0" 3357 5977 } 5978 + }, 5979 + "node_modules/update-browserslist-db": { 5980 + "version": "1.1.3", 5981 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", 5982 + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", 5983 + "dev": true, 5984 + "funding": [ 5985 + { 5986 + "type": "opencollective", 5987 + "url": "https://opencollective.com/browserslist" 5988 + }, 5989 + { 5990 + "type": "tidelift", 5991 + "url": "https://tidelift.com/funding/github/npm/browserslist" 5992 + }, 5993 + { 5994 + "type": "github", 5995 + "url": "https://github.com/sponsors/ai" 5996 + } 5997 + ], 5998 + "license": "MIT", 5999 + "dependencies": { 6000 + "escalade": "^3.2.0", 6001 + "picocolors": "^1.1.1" 6002 + }, 6003 + "bin": { 6004 + "update-browserslist-db": "cli.js" 6005 + }, 6006 + "peerDependencies": { 6007 + "browserslist": ">= 4.21.0" 6008 + } 6009 + }, 6010 + "node_modules/util-deprecate": { 6011 + "version": "1.0.2", 6012 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 6013 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 6014 + "dev": true, 6015 + "license": "MIT" 3358 6016 }, 3359 6017 "node_modules/vfile-message": { 3360 6018 "version": "2.0.4", ··· 3473 6131 "dev": true, 3474 6132 "license": "MIT" 3475 6133 }, 6134 + "node_modules/wrappy": { 6135 + "version": "1.0.2", 6136 + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 6137 + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 6138 + "dev": true, 6139 + "license": "ISC" 6140 + }, 3476 6141 "node_modules/ws": { 3477 6142 "version": "8.18.3", 3478 6143 "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", ··· 3505 6170 "node": ">=18" 3506 6171 } 3507 6172 }, 6173 + "node_modules/yocto-spinner": { 6174 + "version": "0.1.2", 6175 + "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.1.2.tgz", 6176 + "integrity": "sha512-VfmLIh/ZSZOJnVRQZc/dvpPP90lWL4G0bmxQMP0+U/2vKBA8GSpcBuWv17y7F+CZItRuO97HN1wdbb4p10uhOg==", 6177 + "dev": true, 6178 + "license": "MIT", 6179 + "dependencies": { 6180 + "yoctocolors": "^2.1.1" 6181 + }, 6182 + "engines": { 6183 + "node": ">=18.19" 6184 + }, 6185 + "funding": { 6186 + "url": "https://github.com/sponsors/sindresorhus" 6187 + } 6188 + }, 6189 + "node_modules/yoctocolors": { 6190 + "version": "2.1.2", 6191 + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", 6192 + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", 6193 + "dev": true, 6194 + "license": "MIT", 6195 + "engines": { 6196 + "node": ">=18" 6197 + }, 6198 + "funding": { 6199 + "url": "https://github.com/sponsors/sindresorhus" 6200 + } 6201 + }, 3508 6202 "node_modules/zimmerframe": { 3509 6203 "version": "1.1.2", 3510 6204 "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz", 3511 6205 "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==", 3512 6206 "license": "MIT" 6207 + }, 6208 + "node_modules/zod": { 6209 + "version": "4.1.0", 6210 + "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.0.tgz", 6211 + "integrity": "sha512-UWxluYj2IDX9MHRXTMbB/2eeWrAMmmMSESM+MfT9MQw8U1qo9q5ASW08anoJh6AJ7pkt099fLdNFmfI+4aChHg==", 6212 + "license": "MIT", 6213 + "peer": true, 6214 + "funding": { 6215 + "url": "https://github.com/sponsors/colinhacks" 6216 + } 3513 6217 } 3514 6218 } 3515 6219 }
+15 -4
package.json
··· 3 3 "private": true, 4 4 "version": "0.0.1", 5 5 "type": "module", 6 + "engineStrict": true, 6 7 "scripts": { 7 8 "dev": "vite dev", 8 9 "build": "vite build", 9 10 "preview": "vite preview", 11 + "lint": "oxlint", 12 + "lint-fix": "oxlint --fix", 10 13 "prepare": "svelte-kit sync || echo ''", 11 14 "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", 12 - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", 15 + "check-watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", 13 16 "storybook": "storybook dev -p 6006", 14 - "build-storybook": "storybook build" 17 + "build-storybook": "storybook build", 18 + "auth-generate": "npx @better-auth/cli generate", 19 + "auth-migrate": "npx @better-auth/cli migrate", 20 + "auth-secret": "npx @better-auth/cli secret" 15 21 }, 16 22 "dependencies": { 17 23 "@lucide/svelte": "^0.541.0", 18 24 "@threlte/core": "^8.1.4", 19 25 "animejs": "^4.1.3", 26 + "better-auth": "^1.3.7", 27 + "bits-ui": "^2.9.4", 28 + "mysql2": "^3.14.3", 20 29 "type-fest": "^4.41.0" 21 30 }, 22 31 "devDependencies": { 32 + "@better-auth/cli": "^1.3.7", 23 33 "@storybook/addon-svelte-csf": "^5.0.8", 24 34 "@storybook/sveltekit": "^9.1.3", 25 35 "@sveltejs/adapter-auto": "^6.1.0", 26 - "@sveltejs/kit": "^2.36.2", 36 + "@sveltejs/kit": "^2.37.0", 27 37 "@sveltejs/vite-plugin-svelte": "^6.1.3", 28 38 "@tailwindcss/vite": "^4.1.12", 29 39 "@types/node": "^24", 30 40 "mdsvex": "^0.12.6", 41 + "oxlint": "^1.13.0", 31 42 "storybook": "^9.1.3", 32 - "svelte": "^5.38.3", 43 + "svelte": "^5.38.6", 33 44 "svelte-check": "^4.3.1", 34 45 "tailwindcss": "^4.1.12", 35 46 "typescript": "^5.9.2",
+2 -2
src/app.css
··· 3 3 @theme { 4 4 --color-hsr-gold: #9F7755; 5 5 --color-hsr-dark: #151512; 6 - --font-din: 'DIN Pro', sans-serif; 6 + --font-din: 'DIN Pro', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; 7 7 --font-script: 'Hsr _ Jariloivhertaspacestation', sans-serif; 8 - --font-serif: 'Fraunces', serif; 8 + --font-serif: 'Fraunces', ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif; 9 9 } 10 10 11 11 @utility bg-diagonal-lines {
+7
src/hooks.server.ts
··· 1 + import { auth } from '$lib/auth' 2 + import { svelteKitHandler } from 'better-auth/svelte-kit' 3 + import { building } from '$app/environment' 4 + 5 + export async function handle({ event, resolve }) { 6 + return svelteKitHandler({ event, resolve, auth, building }) 7 + }
-32
src/lib/Card.svelte
··· 1 - <script lang="ts"> 2 - import type { BaseProps } from "$lib/types.ts"; 3 - 4 - // types 5 - type Props = BaseProps & { 6 - label: string; 7 - }; 8 - 9 - // props 10 - let { children, label }: Props = $props(); 11 - const normalizedHref = label.toLowerCase(); 12 - </script> 13 - 14 - <a href={normalizedHref} class="flex flex-col"> 15 - <div class={[ 16 - "h-[200px] flex items-center justify-center", 17 - "border-2 border-hsr-gold border-b-0 rounded-tr-4xl", 18 - "font-bold text-hsr-gold text-6xl", 19 - ]}> 20 - {@render children()} 21 - </div> 22 - <div 23 - class={[ 24 - "bg-hsr-gold text-black font-bold text-lg", 25 - "flex items-center justify-center", 26 - ]} 27 - > 28 - <span class="p-2 flex flex-row gap-2 items-center justify-between"> 29 - {label} 30 - </span> 31 - </div> 32 - </a>
+69 -69
src/lib/Chip.svelte
··· 1 1 <script lang="ts"> 2 - import type { ClassValue } from 'svelte/elements'; 3 - import type { BaseProps, Color, Size, Style, WithChildrenProps } from "$lib/types.ts"; 2 + import type { ClassValue } from 'svelte/elements' 3 + import type { BaseProps, Color, Size, Style, WithChildrenProps } from '$lib/types.ts' 4 4 5 - // types 6 - type Props = BaseProps & WithChildrenProps & { 7 - style: Style, 8 - size?: Size, 9 - color?: Color, 10 - withIcon?: boolean, 11 - }; 5 + // types 6 + type Props = BaseProps & WithChildrenProps & { 7 + style: Style, 8 + size?: Size, 9 + color?: Color, 10 + withIcon?: boolean, 11 + } 12 12 13 - // props 14 - let { 15 - style, 16 - size = 'md', 17 - color = 'gold', 18 - withIcon = false, 19 - children, 20 - ...props 21 - }: Props = $props(); 13 + // props 14 + let { 15 + style, 16 + size = 'md', 17 + color = 'gold', 18 + withIcon = false, 19 + children, 20 + ...props 21 + }: Props = $props() 22 22 23 - type StylesRecord = { 24 - base?: string, 25 - outline: string, 26 - fill: string, 27 - } 23 + type StylesRecord = { 24 + base?: string, 25 + outline: string, 26 + fill: string, 27 + } 28 28 29 - const stylesMap: Record<Color, StylesRecord> = { 30 - zinc: { 31 - base: 'border-zinc-100', 32 - outline: 'bg-hsr-dark text-zinc-100', 33 - fill: 'bg-zinc-100 text-hsr-dark', 34 - }, 35 - red: { 36 - base: 'border-red-500', 37 - outline: 'bg-hsr-dark text-red-500', 38 - fill: 'bg-red-500 text-hsr-dark', 39 - }, 40 - cyan: { 41 - base: 'border-cyan-500', 42 - outline: 'bg-hsr-dark text-cyan-500', 43 - fill: 'bg-cyan-500 text-hsr-dark', 44 - }, 45 - purple: { 46 - base: 'border-purple-500', 47 - outline: 'bg-hsr-dark text-purple-500', 48 - fill: 'bg-purple-500 text-hsr-dark', 49 - }, 50 - green: { 51 - base: 'border-green-500', 52 - outline: 'bg-hsr-dark text-green-500', 53 - fill: 'bg-green-500 text-hsr-dark', 54 - }, 55 - indigo: { 56 - base: 'border-indigo-500', 57 - outline: 'bg-hsr-dark text-indigo-500', 58 - fill: 'bg-indigo-500 text-hsr-dark', 59 - }, 60 - yellow: { 61 - base: 'border-yellow-500', 62 - outline: 'bg-hsr-dark text-yellow-500', 63 - fill: 'bg-yellow-500 text-hsr-dark', 64 - }, 65 - gold: { 66 - base: 'border-hsr-gold', 67 - outline: 'bg-hsr-dark text-hsr-gold', 68 - fill: 'bg-hsr-gold text-hsr-dark', 69 - }, 70 - } 71 - const sizeMap: Record<Size, ClassValue> = { 72 - 'md': ['gap-2 py-1.5 pl-3 text-base', withIcon ? 'pr-3.5' : 'pr-3' ], 73 - 'sm': ['gap-1.5 py-1 pl-2 text-sm', withIcon ? 'pr-2.5' : 'pr-2' ], 74 - } 29 + const stylesMap: Record<Color, StylesRecord> = { 30 + zinc: { 31 + base: 'border-zinc-100', 32 + outline: 'bg-hsr-dark text-zinc-100', 33 + fill: 'bg-zinc-100 text-hsr-dark', 34 + }, 35 + red: { 36 + base: 'border-red-500', 37 + outline: 'bg-hsr-dark text-red-500', 38 + fill: 'bg-red-500 text-hsr-dark', 39 + }, 40 + cyan: { 41 + base: 'border-cyan-500', 42 + outline: 'bg-hsr-dark text-cyan-500', 43 + fill: 'bg-cyan-500 text-hsr-dark', 44 + }, 45 + purple: { 46 + base: 'border-purple-500', 47 + outline: 'bg-hsr-dark text-purple-500', 48 + fill: 'bg-purple-500 text-hsr-dark', 49 + }, 50 + green: { 51 + base: 'border-green-500', 52 + outline: 'bg-hsr-dark text-green-500', 53 + fill: 'bg-green-500 text-hsr-dark', 54 + }, 55 + indigo: { 56 + base: 'border-indigo-500', 57 + outline: 'bg-hsr-dark text-indigo-500', 58 + fill: 'bg-indigo-500 text-hsr-dark', 59 + }, 60 + yellow: { 61 + base: 'border-yellow-500', 62 + outline: 'bg-hsr-dark text-yellow-500', 63 + fill: 'bg-yellow-500 text-hsr-dark', 64 + }, 65 + gold: { 66 + base: 'border-hsr-gold', 67 + outline: 'bg-hsr-dark text-hsr-gold', 68 + fill: 'bg-hsr-gold text-hsr-dark', 69 + }, 70 + } 71 + const sizeMap: Record<Size, ClassValue> = { 72 + 'md': ['gap-2 py-1.5 pl-3 text-base', withIcon ? 'pr-3.5' : 'pr-3' ], 73 + 'sm': ['gap-1.5 py-1 pl-2 text-sm', withIcon ? 'pr-2.5' : 'pr-2' ], 74 + } 75 75 </script> 76 76 77 77 <div class={[
+9 -9
src/lib/Header.svelte
··· 1 1 <script> 2 - import { HexagonIcon } from "@lucide/svelte"; 2 + import { HexagonIcon } from '@lucide/svelte' 3 3 4 - const text = 'Our Journey Starward' 4 + const text = 'The Light Shining Forward' 5 5 </script> 6 6 7 - <header class="border-b-2 border-zinc-800 py-3 px-12 shadow-lg"> 7 + <header class="py-2 px-24"> 8 8 <a href="/" class={[ 9 9 "group inline-flex flex-row gap-2 p-1 pr-4", 10 10 "transition-colors hover:bg-hsr-gold/5 rounded-md" 11 11 ]}> 12 - <span class="relative group"> 12 + <!-- <span class="relative group"> 13 13 <span class={[ 14 - "absolute z-10 top-[14px] right-[15px]", 15 - "text-hsr-gold text-sm", 14 + "absolute z-10 top-[8px] right-[8px]", 15 + "text-hsr-gold text-xs", 16 16 ]}>20</span> 17 17 <HexagonIcon class={[ 18 - 'size-12 stroke-hsr-gold stroke-1', 18 + 'size-8 stroke-hsr-gold stroke-1', 19 19 ]} /> 20 - </span> 20 + </span> --> 21 21 <span class="flex flex-col"> 22 - <div class="font-din font-bold text-hsr-gold text-xl">{text}</div> 22 + <div class="font-serif text-white text-xl">{text}</div> 23 23 <div class={[ 24 24 "font-script text-zinc-700 uppercase select-none", 25 25 "transition-colors group-hover:text-hsr-gold",
+70
src/lib/HomepageCard.svelte
··· 1 + <script lang="ts"> 2 + import type { BaseProps } from '$lib/types.ts' 3 + 4 + type Color = 'cyan' | 'red' | 'green' 5 + type Props = BaseProps & { 6 + color: Color, 7 + label: string, 8 + isWorkInProgress?: boolean, 9 + } 10 + 11 + let { color, label, isWorkInProgress = false }: Props = $props() 12 + let normalizedHref = label.toLowerCase() 13 + 14 + type StyleRecord = { 15 + border: string, 16 + gradient: string, 17 + text: string, 18 + status: string, 19 + } 20 + const styleMap: Record<Color, StyleRecord> = { 21 + cyan: { 22 + border: 'border-cyan-500', 23 + gradient: 'text-cyan-950', 24 + text: 'text-cyan-500', 25 + status: 'bg-cyan-950 text-cyan-400', 26 + }, 27 + red: { 28 + border: 'border-red-500', 29 + gradient: 'text-red-950', 30 + text: 'text-red-500', 31 + status: 'bg-red-950 text-red-400', 32 + }, 33 + green: { 34 + border: 'border-green-500', 35 + gradient: 'text-green-950', 36 + text: 'text-green-500', 37 + status: 'bg-green-950 text-green-400', 38 + }, 39 + } 40 + </script> 41 + 42 + <a href={normalizedHref} class={[ 43 + "w-8/12 pl-4 p-2 flex items-stretch justify-between", 44 + "border-l-4 bg-diagonal-lines", 45 + styleMap[color].border, 46 + styleMap[color].gradient, 47 + ]}> 48 + <span class="flex flex-row items-center gap-4"> 49 + <div class={[ 50 + "font-din font-medium", 51 + "text-4xl text-shadow-md", 52 + styleMap[color].text, 53 + ]}> 54 + {label} 55 + </div> 56 + {#if isWorkInProgress} 57 + <span class={[ 58 + "py-1 px-2", 59 + "bg-cyan-950 shadow-xs shadow-hsr-dark", 60 + "font-medium text-xs", 61 + styleMap[color].status, 62 + ]}>WORK IN PROGRESS</span> 63 + {/if} 64 + </span> 65 + <div class={[ 66 + "w-1/2 my-[-0.5rem] mr-[-1rem]", 67 + "bg-gradient-to-r from-transparent from-10% to-hsr-dark", 68 + "select-none" 69 + ]}>{'\u{2009}'}</div> 70 + </a>
+8
src/lib/auth-client.ts
··· 1 + import { createAuthClient } from 'better-auth/svelte' 2 + 3 + export const authClient = createAuthClient() 4 + export const signIn = async () => { 5 + const _data = await authClient.signIn.social({ 6 + provider: 'discord', 7 + }) 8 + }
+33
src/lib/auth.ts
··· 1 + import { getRequestEvent } from '$app/server' 2 + import { 3 + DISCORD_CLIENT_SECRET, 4 + DISCORD_CLIENT_ID, 5 + MYSQL_PORT, 6 + MYSQL_DATABASE, 7 + MYSQL_USER, 8 + MYSQL_PASSWORD, 9 + } from '$env/static/private' 10 + import { betterAuth } from 'better-auth' 11 + import { sveltekitCookies } from 'better-auth/svelte-kit' 12 + import { createPool } from 'mysql2/promise' 13 + 14 + const port = Number.parseInt(MYSQL_PORT) 15 + export const auth = betterAuth({ 16 + socialProviders: { 17 + discord: { 18 + clientId: DISCORD_CLIENT_ID, 19 + clientSecret: DISCORD_CLIENT_SECRET, 20 + }, 21 + }, 22 + // svelteKitCookies must be last plugin in array 23 + plugins: [ 24 + sveltekitCookies(getRequestEvent), 25 + ], 26 + database: createPool({ 27 + host: '127.0.0.1', 28 + port: port, 29 + user: MYSQL_USER, 30 + password: MYSQL_PASSWORD, 31 + database: MYSQL_DATABASE, 32 + }), 33 + })
+2 -2
src/lib/hsr/AbilityCardBody.svelte
··· 1 1 <script lang="ts"> 2 2 import type { BaseProps, WithChildrenProps } from '$lib/types.ts' 3 - type Props = BaseProps & WithChildrenProps 4 3 4 + type Props = BaseProps & WithChildrenProps 5 5 let { children, ...other }: Props = $props() 6 6 </script> 7 - <span class="text-sm text-white"> 7 + <span {...other} class="text-sm text-white"> 8 8 {@render children()} 9 9 </span>
-5
src/lib/hsr/AbilityCardDetails.svelte
··· 16 16 17 17 <footer class={[ 18 18 "mt-auto", 19 - // "p-1", 20 19 "bg-diagonal-lines text-zinc-700/15", 21 20 other.class, 22 21 ]}> 23 22 <dl class={["grid items-center", columnsMap[columns]]}> 24 23 {@render children()} 25 - <!-- <div class={[ 26 - "bg-gradient-to-r from-hsr-dark/20 to-hsr-dark to-75%", 27 - "my-[-0.25rem] mr-[-0.25rem]", 28 - ]}></div> --> 29 24 </dl> 30 25 </footer>
+2 -2
src/lib/hsr/AbilityCardHeading.svelte
··· 10 10 let { children, mechanic, ...other }: Props = $props() 11 11 </script> 12 12 13 - <span class="flex flex-row items-center justify-between"> 13 + <span {...other} class="flex flex-row items-center justify-between"> 14 14 <span class="leading-2.5"> 15 15 <Heading level="3" class={[ 16 - "font-serif font-medium", 16 + "font-serif font-light", 17 17 "whitespace-nowrap overflow-hidden text-ellipsis", 18 18 ]}> 19 19 {@render children()}
+1 -1
src/lib/hsr/DiceIcon.svelte
··· 18 18 } 19 19 </script> 20 20 21 - <i class={[`df-${dice}-${diceMap[dice]}`, other.class]}></i> 21 + <i {...other} class={[`df-${dice}-${diceMap[dice]}`, other.class]}></i>
+8 -7
src/lib/hsr/ElementIcon.svelte
··· 1 1 <script lang="ts"> 2 - import type { Component } from 'svelte'; 3 - import { FlameIcon, SnowflakeIcon, WindIcon, ZapIcon, SwordsIcon } from '@lucide/svelte'; 4 - import type { BaseProps } from '$lib/types.ts'; 5 - import type { Element } from '$lib/hsr/types.ts'; 6 - import WhirlIcon from '$lib/patched/WhirlIcon.svelte'; 7 - import UniverseIcon from '$lib/patched/UniverseIcon.svelte'; 2 + import type { Component } from 'svelte' 3 + import { FlameIcon, SnowflakeIcon, WindIcon, ZapIcon, SwordsIcon } from '@lucide/svelte' 4 + import type { BaseProps } from '$lib/types.ts' 5 + import type { Element } from '$lib/hsr/types.ts' 6 + import WhirlIcon from '$lib/patched/WhirlIcon.svelte' 7 + import UniverseIcon from '$lib/patched/UniverseIcon.svelte' 8 8 9 9 type Props = BaseProps & { 10 10 element: Element, 11 11 white?: boolean, 12 12 } 13 - let { element, white = false, dark = false, ...other }: Props = $props(); 13 + let { element, white = false, dark = false, ...other }: Props = $props() 14 14 15 15 type IconRecord = { 16 16 icon: Component, ··· 55 55 </script> 56 56 57 57 <Icon 58 + {...other} 58 59 class={[ 59 60 !dark ? iconMap[element].styles : 'stroke-hsr-dark', 60 61 dark && iconMap[element].darkStyles,
+1 -1
src/lib/hsr/MechanicChip.svelte
··· 15 15 mechanic: Mechanic, 16 16 } 17 17 18 - let { style, size = 'md', mechanic, ...props }: Props = $props(); 18 + let { style, size = 'md', mechanic, ...props }: Props = $props() 19 19 20 20 const styleMap: Record<Style, StyleRecord> = { 21 21 fill: {
+10 -10
src/lib/hsr/MechanicIcon.svelte
··· 1 1 <script lang="ts"> 2 - import type { Component } from 'svelte'; 2 + import type { Component } from 'svelte' 3 3 4 4 // offense mechanic icons 5 - import Crosshair from '@lucide/svelte/icons/crosshair'; 6 - import CircleDotDashed from '@lucide/svelte/icons/circle-dot-dashed'; 7 - import Split from '@lucide/svelte/icons/split'; 8 - import Bomb from '@lucide/svelte/icons/bomb'; 9 - import ChevronsDown from '@lucide/svelte/icons/chevrons-down'; 5 + import Crosshair from '@lucide/svelte/icons/crosshair' 6 + import CircleDotDashed from '@lucide/svelte/icons/circle-dot-dashed' 7 + import Split from '@lucide/svelte/icons/split' 8 + import Bomb from '@lucide/svelte/icons/bomb' 9 + import ChevronsDown from '@lucide/svelte/icons/chevrons-down' 10 10 11 11 // defense mechanic icons 12 - import Sparkles from '@lucide/svelte/icons/sparkles'; 13 - import HeartPlus from '@lucide/svelte/icons/heart-plus'; 14 - import ShieldHalf from '@lucide/svelte/icons/shield-half'; 15 - import HandHelping from '@lucide/svelte/icons/hand-helping'; 12 + import Sparkles from '@lucide/svelte/icons/sparkles' 13 + import HeartPlus from '@lucide/svelte/icons/heart-plus' 14 + import ShieldHalf from '@lucide/svelte/icons/shield-half' 15 + import HandHelping from '@lucide/svelte/icons/hand-helping' 16 16 17 17 // general types 18 18 import type { Size } from '$lib/types.ts'
+5 -5
src/lib/patched/UniverseIcon.svelte
··· 3 3 import { Icon } from '@lucide/svelte' 4 4 5 5 const iconNode = [ 6 - ["path", { "d": "M7.027 11.477a5 5 0 1 0 5.496 -4.45a4.951 4.951 0 0 0 -3.088 .681" }], 7 - ["path", { "d": "M5.636 5.636a9 9 0 1 0 3.555 -2.188" }], 8 - ["path", { "d": "M18 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }], 9 - ["path", { "d": "M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }], 10 - ["path", { "d": "M9 16m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }] 6 + ['path', { d: 'M7.027 11.477a5 5 0 1 0 5.496 -4.45a4.951 4.951 0 0 0 -3.088 .681' }], 7 + ['path', { d: 'M5.636 5.636a9 9 0 1 0 3.555 -2.188' }], 8 + ['path', { d: 'M18 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0' }], 9 + ['path', { d: 'M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0' }], 10 + ['path', { d: 'M9 16m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0' }], 11 11 ] 12 12 let props = $props() 13 13 </script>
+5 -5
src/lib/patched/WhirlIcon.svelte
··· 3 3 import { Icon } from '@lucide/svelte' 4 4 5 5 const iconNode = [ 6 - ["path", { "d": "M14 12a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z" }], 7 - ["path", { "d": "M12 21c-3.314 0 -6 -2.462 -6 -5.5s2.686 -5.5 6 -5.5" }], 8 - ["path", { "d": "M21 12c0 3.314 -2.462 6 -5.5 6s-5.5 -2.686 -5.5 -6" }], 9 - ["path", { "d": "M12 14c3.314 0 6 -2.462 6 -5.5s-2.686 -5.5 -6 -5.5" }], 10 - ["path", { "d": "M14 12c0 -3.314 -2.462 -6 -5.5 -6s-5.5 2.686 -5.5 6" }] 6 + ['path', { d: 'M14 12a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z' }], 7 + ['path', { d: 'M12 21c-3.314 0 -6 -2.462 -6 -5.5s2.686 -5.5 6 -5.5' }], 8 + ['path', { d: 'M21 12c0 3.314 -2.462 6 -5.5 6s-5.5 -2.686 -5.5 -6' }], 9 + ['path', { d: 'M12 14c3.314 0 6 -2.462 6 -5.5s-2.686 -5.5 -6 -5.5' }], 10 + ['path', { d: 'M14 12c0 -3.314 -2.462 -6 -5.5 -6s-5.5 2.686 -5.5 6' }], 11 11 ] 12 12 let props = $props() 13 13 </script>
-1
src/lib/text/Detail.svelte
··· 1 1 <script lang="ts"> 2 2 import type { Snippet } from 'svelte' 3 - import type { WithChildrenProps } from '$lib/types.ts' 4 3 5 4 type Props = { 6 5 title: string,
+13 -13
src/lib/text/Heading.svelte
··· 1 1 <script lang="ts"> 2 - import type { BaseProps, WithChildrenProps } from "$lib/types.ts"; 2 + import type { BaseProps, WithChildrenProps } from '$lib/types.ts' 3 3 4 - type HeadingLevel = '1'|'2'|'3'; 5 - type Props = BaseProps & WithChildrenProps & { 6 - level: HeadingLevel 7 - } 4 + type HeadingLevel = '1'|'2'|'3'; 5 + type Props = BaseProps & WithChildrenProps & { 6 + level: HeadingLevel 7 + } 8 8 9 - let { children, level, ...props }: Props = $props(); 10 - const element = `h${level}` 11 - const stylesMap: Record<string, string> = { 12 - h1: 'text-4xl', 13 - h2: 'text-2xl', 14 - h3: 'text-lg' 15 - } 9 + let { children, level, ...props }: Props = $props() 10 + const element = `h${level}` 11 + const stylesMap: Record<string, string> = { 12 + h1: 'text-4xl', 13 + h2: 'text-2xl', 14 + h3: 'text-lg' 15 + } 16 16 </script> 17 17 18 - <svelte:element this={element} class={[ 18 + <svelte:element this={element} {...props} class={[ 19 19 "font-serif font-medium text-hsr-gold", 20 20 stylesMap[element], 21 21 props.class
+1 -3
src/lib/types.ts
··· 4 4 export type Style = 'fill' | 'outline' 5 5 export type Size = 'md' | 'sm' 6 6 7 - export type BaseProps = { 8 - [key: string]: unknown 9 - } 7 + export type BaseProps = Record<string, unknown> 10 8 11 9 export type WithChildrenProps = { 12 10 children: Snippet
+12 -5
src/routes/+layout.svelte
··· 1 1 <script lang="ts"> 2 - import "../app.css"; 3 - import "../fonts.css"; 4 - import type { WithChildrenProps } from "$lib/types.ts"; 2 + import '../app.css' 3 + import '../fonts.css' 4 + import type { WithChildrenProps } from '$lib/types.ts' 5 + import Header from '$lib/Header.svelte' 5 6 6 - let { children }: WithChildrenProps = $props(); 7 + let { children }: WithChildrenProps = $props() 7 8 </script> 8 9 9 - {@render children()} 10 + <svelte:head> 11 + <title>The Light Shining Starward</title> 12 + </svelte:head> 13 + <div class="flex flex-col gap-4"> 14 + <Header /> 15 + {@render children()} 16 + </div>
+9 -30
src/routes/+page.svelte
··· 1 - <script> 2 - import Card from "$lib/Card.svelte"; 3 - import Ghost from "@lucide/svelte/icons/ghost"; 4 - import Backpack from "@lucide/svelte/icons/backpack"; 5 - import Swords from "@lucide/svelte/icons/swords"; 6 - import ToolCase from "@lucide/svelte/icons/tool-case"; 7 - import HandFist from "@lucide/svelte/icons/hand-fist"; 8 - import Gem from "@lucide/svelte/icons/gem"; 1 + <script lang="ts"> 2 + import HomepageCard from '$lib/HomepageCard.svelte' 9 3 </script> 10 4 11 5 <main class="flex flex-col gap-12 p-24 font-din"> 12 - <header class="flex flex-col gap-1"> 6 + <!-- <header class="flex flex-col gap-1"> 13 7 <h1 class="font-din font-bold text-4xl text-hsr-gold">The Light Shining Forward</h1> 14 8 <span class="font-din text-xl text-zinc-700"> 15 9 A fanmade D&D campaign within the cosmos, based on Honkai Star Rail 16 10 </span> 17 - </header> 18 - <p class="w-[60ch] text-balance text-xl text-zinc-400"> 11 + </header> --> 12 + <p class="w-[60ch] text-balance text-xl font-serif font-light"> 19 13 To aboard the Astral Express is a blessing. Very few can fathom such an 20 14 engineering marvel capable of taking course through the cosmos. And yet, 21 15 it exists beyond all doubt. 22 16 </p> 23 - <section class="grid grid-cols-8 gap-4 mt-12"> 24 - <Card label="Aeons"> 25 - <Gem class="size-16 stroke-1" /> 26 - </Card> 27 - <Card label="Enemies"> 28 - <Ghost class="size-16 stroke-1" /> 29 - </Card> 30 - <Card label="Weapons"> 31 - <Swords class="size-16 stroke-1" /> 32 - </Card> 33 - <Card label="Items"> 34 - <Backpack class="size-16 stroke-1" /> 35 - </Card> 36 - <Card label="Mechanics"> 37 - <ToolCase class="size-16 stroke-1" /> 38 - </Card> 39 - <Card label="Combat"> 40 - <HandFist class="size-16 stroke-1" /> 41 - </Card> 17 + <section class="flex flex-col gap-2"> 18 + <HomepageCard color="cyan" label="Combat" isWorkInProgress /> 19 + <HomepageCard color="red" label="Mechanics" isWorkInProgress /> 20 + <HomepageCard color="green" label="Enemies" isWorkInProgress /> 42 21 </section> 43 22 </main>
+138
src/routes/combat/+page.svelte
··· 1 + <script lang="ts"> 2 + import AbilityCard from '$lib/hsr/AbilityCard.svelte' 3 + import AbilityCardBody from '$lib/hsr/AbilityCardBody.svelte' 4 + import AbilityCardDetails from '$lib/hsr/AbilityCardDetails.svelte' 5 + import AbilityCardHeading from '$lib/hsr/AbilityCardHeading.svelte' 6 + import ElementChip from '$lib/hsr/ElementChip.svelte' 7 + import ElementIcon from '$lib/hsr/ElementIcon.svelte' 8 + import DiceIcon from '$lib/hsr/DiceIcon.svelte' 9 + import MechanicChip from '$lib/hsr/MechanicChip.svelte' 10 + import Detail from '$lib/text/Detail.svelte' 11 + import Heading from '$lib/text/Heading.svelte' 12 + import Text from '$lib/text/Text.svelte' 13 + </script> 14 + 15 + <svelte:head> 16 + <title>HSR DnD | Combat</title> 17 + </svelte:head> 18 + 19 + <main class="flex flex-row gap-36 items-start font-din py-4 px-24"> 20 + <section class="flex flex-col gap-8 col-span-2"> 21 + <section class="flex flex-col gap-4 items-start"> 22 + <Heading level="2">Offensive Tag</Heading> 23 + <div class="flex flex-col gap-2 items-start"> 24 + <MechanicChip 25 + size="sm" 26 + style="outline" 27 + mechanic="single-target" 28 + /> 29 + <MechanicChip size="sm" style="outline" mechanic="aoe" /> 30 + <MechanicChip size="sm" style="outline" mechanic="bounce" /> 31 + <MechanicChip size="sm" style="outline" mechanic="blast" /> 32 + <MechanicChip size="sm" style="outline" mechanic="impair" /> 33 + </div> 34 + </section> 35 + <section class="flex flex-col gap-4 items-start"> 36 + <Heading level="2">Defensive Tag</Heading> 37 + <div class="flex flex-col gap-2 items-start"> 38 + <MechanicChip size="sm" style="outline" mechanic="support" /> 39 + <MechanicChip size="sm" style="outline" mechanic="restore" /> 40 + <MechanicChip size="sm" style="outline" mechanic="enhance" /> 41 + <MechanicChip size="sm" style="outline" mechanic="defense" /> 42 + </div> 43 + </section> 44 + <section class="flex flex-col gap-4 items-start"> 45 + <Heading level="2">Elements</Heading> 46 + <div class="grid grid-cols-2 gap-3 justify-items-start"> 47 + <ElementChip size="sm" element={"Physical"} style="fill" /> 48 + <ElementChip size="sm" element={"Physical"} style="outline" /> 49 + <ElementChip size="sm" element={"Fire"} style="fill" /> 50 + <ElementChip size="sm" element={"Fire"} style="outline" /> 51 + <ElementChip size="sm" element={"Ice"} style="fill" /> 52 + <ElementChip size="sm" element={"Ice"} style="outline" /> 53 + <ElementChip size="sm" element={"Quantum"} style="fill" /> 54 + <ElementChip size="sm" element={"Quantum"} style="outline" /> 55 + <ElementChip size="sm" element={"Lightning"} style="fill" /> 56 + <ElementChip size="sm" element={"Lightning"} style="outline" /> 57 + <ElementChip size="sm" element={"Wind"} style="fill" /> 58 + <ElementChip size="sm" element={"Wind"} style="outline" /> 59 + <ElementChip size="sm" element={"Imaginary"} style="fill" /> 60 + <ElementChip size="sm" element={"Imaginary"} style="outline" /> 61 + </div> 62 + </section> 63 + </section> 64 + 65 + <section class="grid grid-cols-2 gap-8 col-span-6"> 66 + <AbilityCard> 67 + <AbilityCardHeading mechanic="aoe" 68 + >Overtone Hum: Chorus after Dark Tones</AbilityCardHeading 69 + > 70 + <AbilityCardBody> 71 + Has a 100% <Text underline>base chance</Text> 72 + to increase the DMG taken by all enemies by <Text bold>22%</Text 73 + >, lasting for 3 turn(s). At the same time, deals Physical DMG 74 + equal to <Text bold>154%</Text> of Player's ATK to all enemies. 75 + </AbilityCardBody> 76 + <AbilityCardDetails> 77 + <Detail title="Range" desc="30 feet" /> 78 + <Detail title="Hit / DC" desc="CON 21" /> 79 + <Detail title="Damage"> 80 + 8d8 <DiceIcon dice="d8" /> 81 + </Detail> 82 + <Detail title="Element"> 83 + <ElementIcon element="Physical" /> 84 + <Text element="Physical">Physical</Text> 85 + </Detail> 86 + </AbilityCardDetails> 87 + </AbilityCard> 88 + 89 + <AbilityCard> 90 + <AbilityCardHeading mechanic="aoe" 91 + >Caressing Moonlight</AbilityCardHeading 92 + > 93 + <AbilityCardBody> 94 + Deals <Text element="Lightning">Lightning DMG</Text> equal to 176% 95 + of Kafka's ATK to a target enemy and 96 + <Text element="Lightning">Lightning DMG</Text> equal to 66% of Kafka's 97 + ATK to enemies adjacent to it. 98 + <br /><br /> 99 + If the target enemy is currently receiving DoT, all DoTs currently 100 + placed on that enemy immediately produce DMG equal to 78% of their 101 + original DMG. 102 + </AbilityCardBody> 103 + <AbilityCardDetails> 104 + <Detail title="Range" desc="30 feet" /> 105 + <Detail title="Hit / DC" desc="CON 21" /> 106 + <Detail title="Damage"> 107 + 8d8 <DiceIcon dice="d8" /> 108 + </Detail> 109 + <Detail title="Element"> 110 + <ElementIcon element="Lightning" /> 111 + <Text element="Lightning">Lightning</Text> 112 + </Detail> 113 + </AbilityCardDetails> 114 + </AbilityCard> 115 + 116 + <AbilityCard> 117 + <AbilityCardHeading mechanic="restore" 118 + >Rainclouds, Time to Go!</AbilityCardHeading 119 + > 120 + <AbilityCardBody> 121 + Deals <Text element="Wind">Wind DMG</Text> to all enemies equal to 122 + 10%—22% of the tally of healing done by Hyacine and Little Ica in 123 + the current battle, and clears 50% of the tally of healing. 124 + </AbilityCardBody> 125 + <AbilityCardDetails> 126 + <Detail title="Range" desc="30 feet" /> 127 + <Detail title="Hit / DC" desc="CON 21" /> 128 + <Detail title="Damage"> 129 + 8d8 <DiceIcon dice="d8" /> 130 + </Detail> 131 + <Detail title="Element"> 132 + <ElementIcon element="Wind" /> 133 + <Text element="Wind">Wind</Text> 134 + </Detail> 135 + </AbilityCardDetails> 136 + </AbilityCard> 137 + </section> 138 + </main>
-127
src/routes/mechanics/+page.svelte
··· 1 - <script lang="ts"> 2 - import Header from '$lib/Header.svelte'; 3 - import AbilityCard from '$lib/hsr/AbilityCard.svelte'; 4 - import AbilityCardBody from '$lib/hsr/AbilityCardBody.svelte'; 5 - import AbilityCardDetails from '$lib/hsr/AbilityCardDetails.svelte'; 6 - import AbilityCardHeading from '$lib/hsr/AbilityCardHeading.svelte'; 7 - import ElementChip from '$lib/hsr/ElementChip.svelte'; 8 - import ElementIcon from '$lib/hsr/ElementIcon.svelte'; 9 - import DiceIcon from '$lib/hsr/DiceIcon.svelte'; 10 - import MechanicChip from '$lib/hsr/MechanicChip.svelte'; 11 - import Detail from '$lib/text/Detail.svelte'; 12 - import Heading from '$lib/text/Heading.svelte'; 13 - import Text from '$lib/text/Text.svelte'; 14 - </script> 15 - 16 - <svelte:head> 17 - <title>HSR DnD | Mechanics</title> 18 - </svelte:head> 19 - 20 - <div class="flex flex-col gap-4"> 21 - <Header /> 22 - <main class="flex flex-row gap-36 items-start font-din py-4 px-12"> 23 - <section class="flex flex-col gap-8 col-span-2"> 24 - <section class="flex flex-col gap-4 items-start"> 25 - <Heading level='2'>Offensive Tag</Heading> 26 - <div class="flex flex-col gap-2 items-start"> 27 - <MechanicChip size="sm" style="outline" mechanic="single-target" /> 28 - <MechanicChip size="sm" style="outline" mechanic="aoe" /> 29 - <MechanicChip size="sm" style="outline" mechanic="bounce" /> 30 - <MechanicChip size="sm" style="outline" mechanic="blast" /> 31 - <MechanicChip size="sm" style="outline" mechanic="impair" /> 32 - </div> 33 - </section> 34 - <section class="flex flex-col gap-4 items-start"> 35 - <Heading level='2'>Defensive Tag</Heading> 36 - <div class="flex flex-col gap-2 items-start"> 37 - <MechanicChip size="sm" style="outline" mechanic="support" /> 38 - <MechanicChip size="sm" style="outline" mechanic="restore" /> 39 - <MechanicChip size="sm" style="outline" mechanic="enhance" /> 40 - <MechanicChip size="sm" style="outline" mechanic="defense" /> 41 - </div> 42 - </section> 43 - <section class="flex flex-col gap-4 items-start"> 44 - <Heading level='2'>Elements</Heading> 45 - <div class="grid grid-cols-2 gap-3 justify-items-start"> 46 - <ElementChip size="sm" element={'Physical'} style="fill" /> 47 - <ElementChip size="sm" element={'Physical'} style="outline" /> 48 - <ElementChip size="sm" element={'Fire'} style="fill" /> 49 - <ElementChip size="sm" element={'Fire'} style="outline" /> 50 - <ElementChip size="sm" element={'Ice'} style="fill" /> 51 - <ElementChip size="sm" element={'Ice'} style="outline" /> 52 - <ElementChip size="sm" element={'Quantum'} style="fill" /> 53 - <ElementChip size="sm" element={'Quantum'} style="outline" /> 54 - <ElementChip size="sm" element={'Lightning'} style="fill" /> 55 - <ElementChip size="sm" element={'Lightning'} style="outline" /> 56 - <ElementChip size="sm" element={'Wind'} style="fill" /> 57 - <ElementChip size="sm" element={'Wind'} style="outline" /> 58 - <ElementChip size="sm" element={'Imaginary'} style="fill" /> 59 - <ElementChip size="sm" element={'Imaginary'} style="outline" /> 60 - </div> 61 - </section> 62 - </section> 63 - 64 - <section class="grid grid-cols-2 gap-8 col-span-6"> 65 - <AbilityCard> 66 - <AbilityCardHeading mechanic="aoe">Overtone Hum: Chorus after Dark Tones</AbilityCardHeading> 67 - <AbilityCardBody> 68 - Has a 100% <Text underline>base chance</Text> 69 - to increase the DMG taken by all enemies by <Text bold>22%</Text>, lasting for 3 turn(s). 70 - At the same time, deals Physical DMG equal to <Text bold>154%</Text> of Player's ATK to all enemies. 71 - </AbilityCardBody> 72 - <AbilityCardDetails> 73 - <Detail title="Range" desc="30 feet" /> 74 - <Detail title="Hit / DC" desc="CON 21" /> 75 - <Detail title="Damage"> 76 - 8d8 <DiceIcon dice="d8" /> 77 - </Detail> 78 - <Detail title="Element"> 79 - <ElementIcon element="Physical" /> 80 - <Text element="Physical">Physical</Text> 81 - </Detail> 82 - </AbilityCardDetails> 83 - </AbilityCard> 84 - 85 - <AbilityCard> 86 - <AbilityCardHeading mechanic="aoe">Caressing Moonlight</AbilityCardHeading> 87 - <AbilityCardBody> 88 - Deals <Text element="Lightning">Lightning DMG</Text> equal to 176% of Kafka's ATK to a target enemy and 89 - <Text element="Lightning">Lightning DMG</Text> equal to 66% of Kafka's ATK to enemies adjacent to it. 90 - <br /><br /> 91 - If the target enemy is currently receiving DoT, all DoTs currently placed 92 - on that enemy immediately produce DMG equal to 78% of their original DMG. 93 - </AbilityCardBody> 94 - <AbilityCardDetails> 95 - <Detail title="Range" desc="30 feet" /> 96 - <Detail title="Hit / DC" desc="CON 21" /> 97 - <Detail title="Damage"> 98 - 8d8 <DiceIcon dice="d8" /> 99 - </Detail> 100 - <Detail title="Element"> 101 - <ElementIcon element="Lightning" /> 102 - <Text element="Lightning">Lightning</Text> 103 - </Detail> 104 - </AbilityCardDetails> 105 - </AbilityCard> 106 - 107 - <AbilityCard> 108 - <AbilityCardHeading mechanic="restore">Rainclouds, Time to Go!</AbilityCardHeading> 109 - <AbilityCardBody> 110 - Deals <Text element="Wind">Wind DMG</Text> to all enemies equal to 10%—22% of the tally of healing done 111 - by Hyacine and Little Ica in the current battle, and clears 50% of the tally of healing. 112 - </AbilityCardBody> 113 - <AbilityCardDetails> 114 - <Detail title="Range" desc="30 feet" /> 115 - <Detail title="Hit / DC" desc="CON 21" /> 116 - <Detail title="Damage"> 117 - 8d8 <DiceIcon dice="d8" /> 118 - </Detail> 119 - <Detail title="Element"> 120 - <ElementIcon element="Wind" /> 121 - <Text element="Wind">Wind</Text> 122 - </Detail> 123 - </AbilityCardDetails> 124 - </AbilityCard> 125 - </section> 126 - </main> 127 - </div>
-3
src/routes/player/+page.svelte
··· 1 - <script lang="ts"> 2 - import Header from '$lib/Header.svelte'; 3 - </script>
+3 -3
svelte.config.js
··· 1 - import { mdsvex } from 'mdsvex'; 2 - import adapter from '@sveltejs/adapter-auto'; 3 - import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; 1 + import { mdsvex } from 'mdsvex' 2 + import adapter from '@sveltejs/adapter-auto' 3 + import { vitePreprocess } from '@sveltejs/vite-plugin-svelte' 4 4 5 5 /** @type {import('@sveltejs/kit').Config} */ 6 6 const config = {