Add initial functionality #1

merged
opened by lewis.moe targeting main
  • Add a server with an initial endpoint for listing invites for a user
  • Add an initial firehose consumer that filters by our lexicon
Changed files
+1277 -1604
lexicons
systems
gmstn
development
migrations
src
+3
.gitignore
··· 3 3 /dist 4 4 .env 5 5 *.tsbuildinfo 6 + 7 + pgdata_podman 8 + postgres.log
+55
lexicons/systems/gmstn/development/channel/listInvites.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "systems.gmstn.development.channel.listInvites", 4 + "description": "Lists all channel invites for the authenticated user.", 5 + "defs": { 6 + "main": { 7 + "type": "query", 8 + "parameters": { 9 + "type": "params", 10 + "properties": { 11 + "limit": { 12 + "type": "integer", 13 + "minimum": 1, 14 + "maximum": 100, 15 + "default": 50 16 + }, 17 + "cursor": { 18 + "type": "string" 19 + } 20 + } 21 + }, 22 + "output": { 23 + "encoding": "application/json", 24 + "schema": { 25 + "type": "object", 26 + "required": ["invites"], 27 + "properties": { 28 + "cursor": { "type": "string" }, 29 + "invites": { 30 + "type": "array", 31 + "items": { 32 + "type": "object", 33 + "required": ["uri", "cid", "author", "channel", "createdAt"], 34 + "properties": { 35 + "uri": { "type": "string" }, 36 + "cid": { "type": "string" }, 37 + "author": { "type": "string", "format": "did" }, 38 + "channel": { 39 + "type": "object", 40 + "required": ["uri", "cid"], 41 + "properties": { 42 + "uri": { "type": "string", "format": "at-uri" }, 43 + "cid": { "type": "string" } 44 + } 45 + }, 46 + "createdAt": { "type": "string", "format": "datetime" } 47 + } 48 + } 49 + } 50 + } 51 + } 52 + } 53 + } 54 + } 55 + }
+16
migrations/20251029194100_create_firehose_event_table.ts
··· 1 + import { Kysely, sql } from 'kysely' 2 + 3 + export async function up(db: Kysely<any>): Promise<void> { 4 + await db.schema 5 + .createTable('firehose_event') 6 + .addColumn('timestamp', 'timestamptz', (col) => 7 + col.notNull().defaultTo(sql`now()`) 8 + ) 9 + .addColumn('event_type', 'text', (col) => col.notNull()) 10 + .addColumn('event_data', 'jsonb', (col) => col.notNull()) 11 + .execute() 12 + } 13 + 14 + export async function down(db: Kysely<any>): Promise<void> { 15 + await db.schema.dropTable('firehose_event').execute() 16 + }
+31 -35
package.json
··· 1 1 { 2 - "name": "dawn-persona", 3 - "version": "0.0.1", 4 - "description": "persaon lettabot", 5 - "main": "index.js", 6 - "scripts": { 7 - "test": "echo \"Error: no test specified\" && exit 1", 8 - "dev": "tsc && tsc-alias && node dist/index.js", 9 - "db:generate": "drizzle-kit generate", 10 - "db:migrate": "drizzle-kit migrate" 11 - }, 12 - "keywords": [], 13 - "author": "", 14 - "license": "ISC", 15 - "packageManager": "pnpm@10.18.0", 16 - "devDependencies": { 17 - "@eslint/js": "^9.37.0", 18 - "@types/node": "^24.7.1", 19 - "drizzle-kit": "^0.31.5", 20 - "eslint": "^9.37.0", 21 - "globals": "^16.4.0", 22 - "jiti": "^2.6.1", 23 - "prettier": "^3.6.2", 24 - "ts-node": "^10.9.2", 25 - "tsc-alias": "^1.8.16", 26 - "tsconfig-paths": "^4.2.0", 27 - "typescript": "^5.9.3", 28 - "typescript-eslint": "^8.46.0" 29 - }, 30 - "dependencies": { 31 - "@libsql/client": "^0.15.15", 32 - "@skyware/firehose": "^0.5.2", 33 - "dotenv": "^17.2.3", 34 - "drizzle-orm": "^0.44.6", 35 - "zod": "^4.1.12" 36 - } 2 + "name": "prism", 3 + "version": "1.0.0", 4 + "description": "", 5 + "main": "index.js", 6 + "scripts": { 7 + "test": "echo \"Error: no test specified\" && exit 1", 8 + "dev": "tsx src/index.ts", 9 + "lint": "eslint src/", 10 + "db:migrate": "npx ts-node src/scripts/migrate.ts latest", 11 + "db:revert": "npx ts-node src/scripts/migrate.ts down" 12 + }, 13 + "keywords": [], 14 + "author": "", 15 + "license": "ISC", 16 + "packageManager": "pnpm@10.20.0", 17 + "dependencies": { 18 + "@atproto/xrpc-server": "^0.9.5", 19 + "@skyware/firehose": "^0.5.2", 20 + "dotenv": "^17.2.3", 21 + "kysely": "^0.28.8", 22 + "pg": "^8.16.3", 23 + "ws": "^8.18.3" 24 + }, 25 + "devDependencies": { 26 + "@atcute/atproto": "^3.1.8", 27 + "@types/node": "^24.9.2", 28 + "@types/ws": "^8.18.1", 29 + "ts-node": "^10.9.2", 30 + "tsx": "^4.20.6", 31 + "typescript": "^5.9.3" 32 + } 37 33 }
+874 -1565
pnpm-lock.yaml
··· 8 8 9 9 .: 10 10 dependencies: 11 - '@libsql/client': 12 - specifier: ^0.15.15 13 - version: 0.15.15 11 + '@atproto/xrpc-server': 12 + specifier: ^0.9.5 13 + version: 0.9.5 14 14 '@skyware/firehose': 15 15 specifier: ^0.5.2 16 16 version: 0.5.2 17 17 dotenv: 18 18 specifier: ^17.2.3 19 19 version: 17.2.3 20 - drizzle-orm: 21 - specifier: ^0.44.6 22 - version: 0.44.6(@libsql/client@0.15.15) 23 - zod: 24 - specifier: ^4.1.12 25 - version: 4.1.12 20 + kysely: 21 + specifier: ^0.28.8 22 + version: 0.28.8 23 + pg: 24 + specifier: ^8.16.3 25 + version: 8.16.3 26 + ws: 27 + specifier: ^8.18.3 28 + version: 8.18.3 26 29 devDependencies: 27 - '@eslint/js': 28 - specifier: ^9.37.0 29 - version: 9.37.0 30 + '@atcute/atproto': 31 + specifier: ^3.1.8 32 + version: 3.1.8 30 33 '@types/node': 31 - specifier: ^24.7.1 32 - version: 24.7.1 33 - drizzle-kit: 34 - specifier: ^0.31.5 35 - version: 0.31.5 36 - eslint: 37 - specifier: ^9.37.0 38 - version: 9.37.0(jiti@2.6.1) 39 - globals: 40 - specifier: ^16.4.0 41 - version: 16.4.0 42 - jiti: 43 - specifier: ^2.6.1 44 - version: 2.6.1 45 - prettier: 46 - specifier: ^3.6.2 47 - version: 3.6.2 34 + specifier: ^24.9.2 35 + version: 24.9.2 36 + '@types/ws': 37 + specifier: ^8.18.1 38 + version: 8.18.1 48 39 ts-node: 49 40 specifier: ^10.9.2 50 - version: 10.9.2(@types/node@24.7.1)(typescript@5.9.3) 51 - tsc-alias: 52 - specifier: ^1.8.16 53 - version: 1.8.16 54 - tsconfig-paths: 55 - specifier: ^4.2.0 56 - version: 4.2.0 41 + version: 10.9.2(@types/node@24.9.2)(typescript@5.9.3) 42 + tsx: 43 + specifier: ^4.20.6 44 + version: 4.20.6 57 45 typescript: 58 46 specifier: ^5.9.3 59 47 version: 5.9.3 60 - typescript-eslint: 61 - specifier: ^8.46.0 62 - version: 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) 63 48 64 49 packages: 65 50 51 + '@atcute/atproto@3.1.8': 52 + resolution: {integrity: sha512-Miu+S7RSgAYbmQWtHJKfSFUN5Kliqoo4YH0rILPmBtfmlZieORJgXNj9oO/Uive0/ulWkiRse07ATIcK8JxMnw==} 53 + 66 54 '@atcute/car@3.1.3': 67 55 resolution: {integrity: sha512-WJ13bAEt7TjDMVi09ubjLtvhdljbWInGm9Kfy7Y6NhrmiyC/aZYaA/zHX/bHI6xv1c/h3SQduWqxOr4ae49eqA==} 68 56 69 57 '@atcute/cbor@2.2.7': 70 58 resolution: {integrity: sha512-/mwAF0gnokOphceZqFq3uzMGdd8sbw5y6bxF8CRutRkCCUcpjjpJc5fkLwhxyGgOveF3mZuHE6p7t/+IAqb7Aw==} 71 59 72 - '@atcute/cid@2.2.5': 73 - resolution: {integrity: sha512-7SId61nMyuxSwsDI02wEZn6/gVeha2TrAN4W0UPSdSEcwQD3R2W8VU7zvR4XGfU7A/KmBnVkwx5FTfzyizKj6g==} 60 + '@atcute/cid@2.2.6': 61 + resolution: {integrity: sha512-bTAHHbJ24p+E//V4KCS4xdmd39o211jJswvqQOevj7vk+5IYcgDLx1ryZWZ1sEPOo9x875li/kj5gpKL14RDwQ==} 62 + 63 + '@atcute/lexicons@1.2.2': 64 + resolution: {integrity: sha512-bgEhJq5Z70/0TbK5sx+tAkrR8FsCODNiL2gUEvS5PuJfPxmFmRYNWaMGehxSPaXWpU2+Oa9ckceHiYbrItDTkA==} 74 65 75 66 '@atcute/multibase@1.1.6': 76 67 resolution: {integrity: sha512-HBxuCgYLKPPxETV0Rot4VP9e24vKl8JdzGCZOVsDaOXJgbRZoRIF67Lp0H/OgnJeH/Xpva8Z5ReoTNJE5dn3kg==} ··· 81 72 '@atcute/varint@1.0.3': 82 73 resolution: {integrity: sha512-fdvMPyBB+McDT+Ai5e9RwEbwYV4yjZ60S2Dn5PTjGqUyxvoCH1z42viuheDZRUDkmfQehXJTZ5az7dSozVNtog==} 83 74 84 - '@cspotcode/source-map-support@0.8.1': 85 - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 86 - engines: {node: '>=12'} 75 + '@atproto/common-web@0.4.3': 76 + resolution: {integrity: sha512-nRDINmSe4VycJzPo6fP/hEltBcULFxt9Kw7fQk6405FyAWZiTluYHlXOnU7GkQfeUK44OENG1qFTBcmCJ7e8pg==} 77 + 78 + '@atproto/common@0.4.12': 79 + resolution: {integrity: sha512-NC+TULLQiqs6MvNymhQS5WDms3SlbIKGLf4n33tpftRJcalh507rI+snbcUb7TLIkKw7VO17qMqxEXtIdd5auQ==} 80 + engines: {node: '>=18.7.0'} 81 + 82 + '@atproto/crypto@0.4.4': 83 + resolution: {integrity: sha512-Yq9+crJ7WQl7sxStVpHgie5Z51R05etaK9DLWYG/7bR5T4bhdcIgF6IfklLShtZwLYdVVj+K15s0BqW9a8PSDA==} 84 + engines: {node: '>=18.7.0'} 85 + 86 + '@atproto/lexicon@0.5.1': 87 + resolution: {integrity: sha512-y8AEtYmfgVl4fqFxqXAeGvhesiGkxiy3CWoJIfsFDDdTlZUC8DFnZrYhcqkIop3OlCkkljvpSJi1hbeC1tbi8A==} 88 + 89 + '@atproto/syntax@0.4.1': 90 + resolution: {integrity: sha512-CJdImtLAiFO+0z3BWTtxwk6aY5w4t8orHTMVJgkf++QRJWTxPbIFko/0hrkADB7n2EruDxDSeAgfUGehpH6ngw==} 91 + 92 + '@atproto/xrpc-server@0.9.5': 93 + resolution: {integrity: sha512-V0srjUgy6mQ5yf9+MSNBLs457m4qclEaWZsnqIE7RfYywvntexTAbMoo7J7ONfTNwdmA9Gw4oLak2z2cDAET4w==} 94 + engines: {node: '>=18.7.0'} 95 + 96 + '@atproto/xrpc@0.7.5': 97 + resolution: {integrity: sha512-MUYNn5d2hv8yVegRL0ccHvTHAVj5JSnW07bkbiaz96UH45lvYNRVwt44z+yYVnb0/mvBzyD3/ZQ55TRGt7fHkA==} 98 + 99 + '@cbor-extract/cbor-extract-darwin-arm64@2.2.0': 100 + resolution: {integrity: sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==} 101 + cpu: [arm64] 102 + os: [darwin] 103 + 104 + '@cbor-extract/cbor-extract-darwin-x64@2.2.0': 105 + resolution: {integrity: sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==} 106 + cpu: [x64] 107 + os: [darwin] 108 + 109 + '@cbor-extract/cbor-extract-linux-arm64@2.2.0': 110 + resolution: {integrity: sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==} 111 + cpu: [arm64] 112 + os: [linux] 113 + 114 + '@cbor-extract/cbor-extract-linux-arm@2.2.0': 115 + resolution: {integrity: sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==} 116 + cpu: [arm] 117 + os: [linux] 87 118 88 - '@drizzle-team/brocli@0.10.2': 89 - resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} 119 + '@cbor-extract/cbor-extract-linux-x64@2.2.0': 120 + resolution: {integrity: sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==} 121 + cpu: [x64] 122 + os: [linux] 90 123 91 - '@esbuild-kit/core-utils@3.3.2': 92 - resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} 93 - deprecated: 'Merged into tsx: https://tsx.is' 124 + '@cbor-extract/cbor-extract-win32-x64@2.2.0': 125 + resolution: {integrity: sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==} 126 + cpu: [x64] 127 + os: [win32] 94 128 95 - '@esbuild-kit/esm-loader@2.6.5': 96 - resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} 97 - deprecated: 'Merged into tsx: https://tsx.is' 129 + '@cspotcode/source-map-support@0.8.1': 130 + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 131 + engines: {node: '>=12'} 98 132 99 133 '@esbuild/aix-ppc64@0.25.11': 100 134 resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==} ··· 102 136 cpu: [ppc64] 103 137 os: [aix] 104 138 105 - '@esbuild/android-arm64@0.18.20': 106 - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} 107 - engines: {node: '>=12'} 108 - cpu: [arm64] 109 - os: [android] 110 - 111 139 '@esbuild/android-arm64@0.25.11': 112 140 resolution: {integrity: sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==} 113 141 engines: {node: '>=18'} 114 142 cpu: [arm64] 115 143 os: [android] 116 144 117 - '@esbuild/android-arm@0.18.20': 118 - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} 119 - engines: {node: '>=12'} 120 - cpu: [arm] 121 - os: [android] 122 - 123 145 '@esbuild/android-arm@0.25.11': 124 146 resolution: {integrity: sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==} 125 147 engines: {node: '>=18'} 126 148 cpu: [arm] 127 149 os: [android] 128 150 129 - '@esbuild/android-x64@0.18.20': 130 - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} 131 - engines: {node: '>=12'} 132 - cpu: [x64] 133 - os: [android] 134 - 135 151 '@esbuild/android-x64@0.25.11': 136 152 resolution: {integrity: sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==} 137 153 engines: {node: '>=18'} 138 154 cpu: [x64] 139 155 os: [android] 140 156 141 - '@esbuild/darwin-arm64@0.18.20': 142 - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} 143 - engines: {node: '>=12'} 144 - cpu: [arm64] 145 - os: [darwin] 146 - 147 157 '@esbuild/darwin-arm64@0.25.11': 148 158 resolution: {integrity: sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==} 149 159 engines: {node: '>=18'} 150 160 cpu: [arm64] 151 161 os: [darwin] 152 162 153 - '@esbuild/darwin-x64@0.18.20': 154 - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} 155 - engines: {node: '>=12'} 156 - cpu: [x64] 157 - os: [darwin] 158 - 159 163 '@esbuild/darwin-x64@0.25.11': 160 164 resolution: {integrity: sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==} 161 165 engines: {node: '>=18'} 162 166 cpu: [x64] 163 167 os: [darwin] 164 168 165 - '@esbuild/freebsd-arm64@0.18.20': 166 - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} 167 - engines: {node: '>=12'} 168 - cpu: [arm64] 169 - os: [freebsd] 170 - 171 169 '@esbuild/freebsd-arm64@0.25.11': 172 170 resolution: {integrity: sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==} 173 171 engines: {node: '>=18'} 174 172 cpu: [arm64] 175 173 os: [freebsd] 176 174 177 - '@esbuild/freebsd-x64@0.18.20': 178 - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} 179 - engines: {node: '>=12'} 180 - cpu: [x64] 181 - os: [freebsd] 182 - 183 175 '@esbuild/freebsd-x64@0.25.11': 184 176 resolution: {integrity: sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==} 185 177 engines: {node: '>=18'} 186 178 cpu: [x64] 187 179 os: [freebsd] 188 180 189 - '@esbuild/linux-arm64@0.18.20': 190 - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} 191 - engines: {node: '>=12'} 192 - cpu: [arm64] 193 - os: [linux] 194 - 195 181 '@esbuild/linux-arm64@0.25.11': 196 182 resolution: {integrity: sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==} 197 183 engines: {node: '>=18'} 198 184 cpu: [arm64] 199 185 os: [linux] 200 186 201 - '@esbuild/linux-arm@0.18.20': 202 - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} 203 - engines: {node: '>=12'} 204 - cpu: [arm] 205 - os: [linux] 206 - 207 187 '@esbuild/linux-arm@0.25.11': 208 188 resolution: {integrity: sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==} 209 189 engines: {node: '>=18'} 210 190 cpu: [arm] 211 191 os: [linux] 212 192 213 - '@esbuild/linux-ia32@0.18.20': 214 - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} 215 - engines: {node: '>=12'} 216 - cpu: [ia32] 217 - os: [linux] 218 - 219 193 '@esbuild/linux-ia32@0.25.11': 220 194 resolution: {integrity: sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==} 221 195 engines: {node: '>=18'} 222 196 cpu: [ia32] 223 197 os: [linux] 224 198 225 - '@esbuild/linux-loong64@0.18.20': 226 - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} 227 - engines: {node: '>=12'} 228 - cpu: [loong64] 229 - os: [linux] 230 - 231 199 '@esbuild/linux-loong64@0.25.11': 232 200 resolution: {integrity: sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==} 233 201 engines: {node: '>=18'} 234 202 cpu: [loong64] 235 203 os: [linux] 236 204 237 - '@esbuild/linux-mips64el@0.18.20': 238 - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} 239 - engines: {node: '>=12'} 240 - cpu: [mips64el] 241 - os: [linux] 242 - 243 205 '@esbuild/linux-mips64el@0.25.11': 244 206 resolution: {integrity: sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==} 245 207 engines: {node: '>=18'} 246 208 cpu: [mips64el] 247 209 os: [linux] 248 210 249 - '@esbuild/linux-ppc64@0.18.20': 250 - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} 251 - engines: {node: '>=12'} 252 - cpu: [ppc64] 253 - os: [linux] 254 - 255 211 '@esbuild/linux-ppc64@0.25.11': 256 212 resolution: {integrity: sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==} 257 213 engines: {node: '>=18'} 258 214 cpu: [ppc64] 259 215 os: [linux] 260 216 261 - '@esbuild/linux-riscv64@0.18.20': 262 - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} 263 - engines: {node: '>=12'} 264 - cpu: [riscv64] 265 - os: [linux] 266 - 267 217 '@esbuild/linux-riscv64@0.25.11': 268 218 resolution: {integrity: sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==} 269 219 engines: {node: '>=18'} 270 220 cpu: [riscv64] 271 221 os: [linux] 272 222 273 - '@esbuild/linux-s390x@0.18.20': 274 - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} 275 - engines: {node: '>=12'} 276 - cpu: [s390x] 277 - os: [linux] 278 - 279 223 '@esbuild/linux-s390x@0.25.11': 280 224 resolution: {integrity: sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==} 281 225 engines: {node: '>=18'} 282 226 cpu: [s390x] 283 227 os: [linux] 284 228 285 - '@esbuild/linux-x64@0.18.20': 286 - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} 287 - engines: {node: '>=12'} 288 - cpu: [x64] 289 - os: [linux] 290 - 291 229 '@esbuild/linux-x64@0.25.11': 292 230 resolution: {integrity: sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==} 293 231 engines: {node: '>=18'} ··· 300 238 cpu: [arm64] 301 239 os: [netbsd] 302 240 303 - '@esbuild/netbsd-x64@0.18.20': 304 - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} 305 - engines: {node: '>=12'} 306 - cpu: [x64] 307 - os: [netbsd] 308 - 309 241 '@esbuild/netbsd-x64@0.25.11': 310 242 resolution: {integrity: sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==} 311 243 engines: {node: '>=18'} ··· 318 250 cpu: [arm64] 319 251 os: [openbsd] 320 252 321 - '@esbuild/openbsd-x64@0.18.20': 322 - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} 323 - engines: {node: '>=12'} 324 - cpu: [x64] 325 - os: [openbsd] 326 - 327 253 '@esbuild/openbsd-x64@0.25.11': 328 254 resolution: {integrity: sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==} 329 255 engines: {node: '>=18'} ··· 336 262 cpu: [arm64] 337 263 os: [openharmony] 338 264 339 - '@esbuild/sunos-x64@0.18.20': 340 - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} 341 - engines: {node: '>=12'} 342 - cpu: [x64] 343 - os: [sunos] 344 - 345 265 '@esbuild/sunos-x64@0.25.11': 346 266 resolution: {integrity: sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==} 347 267 engines: {node: '>=18'} 348 268 cpu: [x64] 349 269 os: [sunos] 350 270 351 - '@esbuild/win32-arm64@0.18.20': 352 - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} 353 - engines: {node: '>=12'} 354 - cpu: [arm64] 355 - os: [win32] 356 - 357 271 '@esbuild/win32-arm64@0.25.11': 358 272 resolution: {integrity: sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==} 359 273 engines: {node: '>=18'} 360 274 cpu: [arm64] 361 275 os: [win32] 362 276 363 - '@esbuild/win32-ia32@0.18.20': 364 - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} 365 - engines: {node: '>=12'} 366 - cpu: [ia32] 367 - os: [win32] 368 - 369 277 '@esbuild/win32-ia32@0.25.11': 370 278 resolution: {integrity: sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==} 371 279 engines: {node: '>=18'} 372 280 cpu: [ia32] 373 281 os: [win32] 374 282 375 - '@esbuild/win32-x64@0.18.20': 376 - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} 377 - engines: {node: '>=12'} 378 - cpu: [x64] 379 - os: [win32] 380 - 381 283 '@esbuild/win32-x64@0.25.11': 382 284 resolution: {integrity: sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==} 383 285 engines: {node: '>=18'} 384 286 cpu: [x64] 385 287 os: [win32] 386 288 387 - '@eslint-community/eslint-utils@4.9.0': 388 - resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} 389 - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 390 - peerDependencies: 391 - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 392 - 393 - '@eslint-community/regexpp@4.12.1': 394 - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 395 - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 396 - 397 - '@eslint/config-array@0.21.0': 398 - resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} 399 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 400 - 401 - '@eslint/config-helpers@0.4.0': 402 - resolution: {integrity: sha512-WUFvV4WoIwW8Bv0KeKCIIEgdSiFOsulyN0xrMu+7z43q/hkOLXjvb5u7UC9jDxvRzcrbEmuZBX5yJZz1741jog==} 403 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 404 - 405 - '@eslint/core@0.16.0': 406 - resolution: {integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==} 407 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 408 - 409 - '@eslint/eslintrc@3.3.1': 410 - resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} 411 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 412 - 413 - '@eslint/js@9.37.0': 414 - resolution: {integrity: sha512-jaS+NJ+hximswBG6pjNX0uEJZkrT0zwpVi3BA3vX22aFGjJjmgSTSmPpZCRKmoBL5VY/M6p0xsSJx7rk7sy5gg==} 415 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 416 - 417 - '@eslint/object-schema@2.1.6': 418 - resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} 419 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 420 - 421 - '@eslint/plugin-kit@0.4.0': 422 - resolution: {integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==} 423 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 424 - 425 - '@humanfs/core@0.19.1': 426 - resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 427 - engines: {node: '>=18.18.0'} 428 - 429 - '@humanfs/node@0.16.7': 430 - resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} 431 - engines: {node: '>=18.18.0'} 432 - 433 - '@humanwhocodes/module-importer@1.0.1': 434 - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 435 - engines: {node: '>=12.22'} 436 - 437 - '@humanwhocodes/retry@0.4.3': 438 - resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} 439 - engines: {node: '>=18.18'} 289 + '@ipld/dag-cbor@7.0.3': 290 + resolution: {integrity: sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==} 440 291 441 292 '@jridgewell/resolve-uri@3.1.2': 442 293 resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} ··· 448 299 '@jridgewell/trace-mapping@0.3.9': 449 300 resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 450 301 451 - '@libsql/client@0.15.15': 452 - resolution: {integrity: sha512-twC0hQxPNHPKfeOv3sNT6u2pturQjLcI+CnpTM0SjRpocEGgfiZ7DWKXLNnsothjyJmDqEsBQJ5ztq9Wlu470w==} 453 - 454 - '@libsql/core@0.15.15': 455 - resolution: {integrity: sha512-C88Z6UKl+OyuKKPwz224riz02ih/zHYI3Ho/LAcVOgjsunIRZoBw7fjRfaH9oPMmSNeQfhGklSG2il1URoOIsA==} 456 - 457 - '@libsql/darwin-arm64@0.5.22': 458 - resolution: {integrity: sha512-4B8ZlX3nIDPndfct7GNe0nI3Yw6ibocEicWdC4fvQbSs/jdq/RC2oCsoJxJ4NzXkvktX70C1J4FcmmoBy069UA==} 459 - cpu: [arm64] 460 - os: [darwin] 461 - 462 - '@libsql/darwin-x64@0.5.22': 463 - resolution: {integrity: sha512-ny2HYWt6lFSIdNFzUFIJ04uiW6finXfMNJ7wypkAD8Pqdm6nAByO+Fdqu8t7sD0sqJGeUCiOg480icjyQ2/8VA==} 464 - cpu: [x64] 465 - os: [darwin] 466 - 467 - '@libsql/hrana-client@0.7.0': 468 - resolution: {integrity: sha512-OF8fFQSkbL7vJY9rfuegK1R7sPgQ6kFMkDamiEccNUvieQ+3urzfDFI616oPl8V7T9zRmnTkSjMOImYCAVRVuw==} 469 - 470 - '@libsql/isomorphic-fetch@0.3.1': 471 - resolution: {integrity: sha512-6kK3SUK5Uu56zPq/Las620n5aS9xJq+jMBcNSOmjhNf/MUvdyji4vrMTqD7ptY7/4/CAVEAYDeotUz60LNQHtw==} 472 - engines: {node: '>=18.0.0'} 473 - 474 - '@libsql/isomorphic-ws@0.1.5': 475 - resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} 476 - 477 - '@libsql/linux-arm-gnueabihf@0.5.22': 478 - resolution: {integrity: sha512-3Uo3SoDPJe/zBnyZKosziRGtszXaEtv57raWrZIahtQDsjxBVjuzYQinCm9LRCJCUT5t2r5Z5nLDPJi2CwZVoA==} 479 - cpu: [arm] 480 - os: [linux] 481 - 482 - '@libsql/linux-arm-musleabihf@0.5.22': 483 - resolution: {integrity: sha512-LCsXh07jvSojTNJptT9CowOzwITznD+YFGGW+1XxUr7fS+7/ydUrpDfsMX7UqTqjm7xG17eq86VkWJgHJfvpNg==} 484 - cpu: [arm] 485 - os: [linux] 486 - 487 - '@libsql/linux-arm64-gnu@0.5.22': 488 - resolution: {integrity: sha512-KSdnOMy88c9mpOFKUEzPskSaF3VLflfSUCBwas/pn1/sV3pEhtMF6H8VUCd2rsedwoukeeCSEONqX7LLnQwRMA==} 489 - cpu: [arm64] 490 - os: [linux] 491 - 492 - '@libsql/linux-arm64-musl@0.5.22': 493 - resolution: {integrity: sha512-mCHSMAsDTLK5YH//lcV3eFEgiR23Ym0U9oEvgZA0667gqRZg/2px+7LshDvErEKv2XZ8ixzw3p1IrBzLQHGSsw==} 494 - cpu: [arm64] 495 - os: [linux] 496 - 497 - '@libsql/linux-x64-gnu@0.5.22': 498 - resolution: {integrity: sha512-kNBHaIkSg78Y4BqAdgjcR2mBilZXs4HYkAmi58J+4GRwDQZh5fIUWbnQvB9f95DkWUIGVeenqLRFY2pcTmlsew==} 499 - cpu: [x64] 500 - os: [linux] 501 - 502 - '@libsql/linux-x64-musl@0.5.22': 503 - resolution: {integrity: sha512-UZ4Xdxm4pu3pQXjvfJiyCzZop/9j/eA2JjmhMaAhe3EVLH2g11Fy4fwyUp9sT1QJYR1kpc2JLuybPM0kuXv/Tg==} 504 - cpu: [x64] 505 - os: [linux] 506 - 507 - '@libsql/win32-x64-msvc@0.5.22': 508 - resolution: {integrity: sha512-Fj0j8RnBpo43tVZUVoNK6BV/9AtDUM5S7DF3LB4qTYg1LMSZqi3yeCneUTLJD6XomQJlZzbI4mst89yspVSAnA==} 509 - cpu: [x64] 510 - os: [win32] 511 - 512 - '@neon-rs/load@0.0.4': 513 - resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} 514 - 515 - '@nodelib/fs.scandir@2.1.5': 516 - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 517 - engines: {node: '>= 8'} 302 + '@noble/curves@1.9.7': 303 + resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} 304 + engines: {node: ^14.21.3 || >=16} 518 305 519 - '@nodelib/fs.stat@2.0.5': 520 - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 521 - engines: {node: '>= 8'} 522 - 523 - '@nodelib/fs.walk@1.2.8': 524 - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 525 - engines: {node: '>= 8'} 306 + '@noble/hashes@1.8.0': 307 + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} 308 + engines: {node: ^14.21.3 || >=16} 526 309 527 310 '@skyware/firehose@0.5.2': 528 311 resolution: {integrity: sha512-Ayg/cF0BkakBNQVA51ClDka0+nC96WiARNrGElMQxfqbwao0PBaCXkunfr8qS4DWS3TqLnR6hA9mvm1vAYlxJQ==} 529 312 313 + '@standard-schema/spec@1.0.0': 314 + resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} 315 + 530 316 '@tsconfig/node10@1.0.11': 531 317 resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} 532 318 ··· 539 325 '@tsconfig/node16@1.0.4': 540 326 resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} 541 327 542 - '@types/estree@1.0.8': 543 - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 544 - 545 - '@types/json-schema@7.0.15': 546 - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 547 - 548 - '@types/node@24.7.1': 549 - resolution: {integrity: sha512-CmyhGZanP88uuC5GpWU9q+fI61j2SkhO3UGMUdfYRE6Bcy0ccyzn1Rqj9YAB/ZY4kOXmNf0ocah5GtphmLMP6Q==} 328 + '@types/node@24.9.2': 329 + resolution: {integrity: sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==} 550 330 551 331 '@types/ws@8.18.1': 552 332 resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} 553 333 554 - '@typescript-eslint/eslint-plugin@8.46.0': 555 - resolution: {integrity: sha512-hA8gxBq4ukonVXPy0OKhiaUh/68D0E88GSmtC1iAEnGaieuDi38LhS7jdCHRLi6ErJBNDGCzvh5EnzdPwUc0DA==} 556 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 557 - peerDependencies: 558 - '@typescript-eslint/parser': ^8.46.0 559 - eslint: ^8.57.0 || ^9.0.0 560 - typescript: '>=4.8.4 <6.0.0' 561 - 562 - '@typescript-eslint/parser@8.46.0': 563 - resolution: {integrity: sha512-n1H6IcDhmmUEG7TNVSspGmiHHutt7iVKtZwRppD7e04wha5MrkV1h3pti9xQLcCMt6YWsncpoT0HMjkH1FNwWQ==} 564 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 565 - peerDependencies: 566 - eslint: ^8.57.0 || ^9.0.0 567 - typescript: '>=4.8.4 <6.0.0' 568 - 569 - '@typescript-eslint/project-service@8.46.0': 570 - resolution: {integrity: sha512-OEhec0mH+U5Je2NZOeK1AbVCdm0ChyapAyTeXVIYTPXDJ3F07+cu87PPXcGoYqZ7M9YJVvFnfpGg1UmCIqM+QQ==} 571 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 572 - peerDependencies: 573 - typescript: '>=4.8.4 <6.0.0' 574 - 575 - '@typescript-eslint/scope-manager@8.46.0': 576 - resolution: {integrity: sha512-lWETPa9XGcBes4jqAMYD9fW0j4n6hrPtTJwWDmtqgFO/4HF4jmdH/Q6wggTw5qIT5TXjKzbt7GsZUBnWoO3dqw==} 577 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 578 - 579 - '@typescript-eslint/tsconfig-utils@8.46.0': 580 - resolution: {integrity: sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==} 581 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 582 - peerDependencies: 583 - typescript: '>=4.8.4 <6.0.0' 584 - 585 - '@typescript-eslint/type-utils@8.46.0': 586 - resolution: {integrity: sha512-hy+lvYV1lZpVs2jRaEYvgCblZxUoJiPyCemwbQZ+NGulWkQRy0HRPYAoef/CNSzaLt+MLvMptZsHXHlkEilaeg==} 587 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 588 - peerDependencies: 589 - eslint: ^8.57.0 || ^9.0.0 590 - typescript: '>=4.8.4 <6.0.0' 591 - 592 - '@typescript-eslint/types@8.46.0': 593 - resolution: {integrity: sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==} 594 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 595 - 596 - '@typescript-eslint/typescript-estree@8.46.0': 597 - resolution: {integrity: sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==} 598 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 599 - peerDependencies: 600 - typescript: '>=4.8.4 <6.0.0' 601 - 602 - '@typescript-eslint/utils@8.46.0': 603 - resolution: {integrity: sha512-nD6yGWPj1xiOm4Gk0k6hLSZz2XkNXhuYmyIrOWcHoPuAhjT9i5bAG+xbWPgFeNR8HPHHtpNKdYUXJl/D3x7f5g==} 604 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 605 - peerDependencies: 606 - eslint: ^8.57.0 || ^9.0.0 607 - typescript: '>=4.8.4 <6.0.0' 608 - 609 - '@typescript-eslint/visitor-keys@8.46.0': 610 - resolution: {integrity: sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==} 611 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 334 + abort-controller@3.0.0: 335 + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} 336 + engines: {node: '>=6.5'} 612 337 613 - acorn-jsx@5.3.2: 614 - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 615 - peerDependencies: 616 - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 338 + accepts@1.3.8: 339 + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} 340 + engines: {node: '>= 0.6'} 617 341 618 342 acorn-walk@8.3.4: 619 343 resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} ··· 624 348 engines: {node: '>=0.4.0'} 625 349 hasBin: true 626 350 627 - ajv@6.12.6: 628 - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 629 - 630 - ansi-styles@4.3.0: 631 - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 632 - engines: {node: '>=8'} 633 - 634 - anymatch@3.1.3: 635 - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 636 - engines: {node: '>= 8'} 637 - 638 351 arg@4.1.3: 639 352 resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} 640 353 641 - argparse@2.0.1: 642 - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 354 + array-flatten@1.1.1: 355 + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} 643 356 644 - array-union@2.1.0: 645 - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 646 - engines: {node: '>=8'} 357 + atomic-sleep@1.0.0: 358 + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} 359 + engines: {node: '>=8.0.0'} 647 360 648 - balanced-match@1.0.2: 649 - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 361 + base64-js@1.5.1: 362 + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 650 363 651 - binary-extensions@2.3.0: 652 - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 653 - engines: {node: '>=8'} 364 + body-parser@1.20.3: 365 + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} 366 + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 654 367 655 - brace-expansion@1.1.12: 656 - resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} 368 + buffer@6.0.3: 369 + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} 657 370 658 - brace-expansion@2.0.2: 659 - resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} 371 + bytes@3.1.2: 372 + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 373 + engines: {node: '>= 0.8'} 660 374 661 - braces@3.0.3: 662 - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 663 - engines: {node: '>=8'} 375 + call-bind-apply-helpers@1.0.2: 376 + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 377 + engines: {node: '>= 0.4'} 664 378 665 - buffer-from@1.1.2: 666 - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 379 + call-bound@1.0.4: 380 + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 381 + engines: {node: '>= 0.4'} 667 382 668 - callsites@3.1.0: 669 - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 670 - engines: {node: '>=6'} 383 + cbor-extract@2.2.0: 384 + resolution: {integrity: sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==} 385 + hasBin: true 671 386 672 - chalk@4.1.2: 673 - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 674 - engines: {node: '>=10'} 387 + cbor-x@1.6.0: 388 + resolution: {integrity: sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==} 675 389 676 - chokidar@3.6.0: 677 - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 678 - engines: {node: '>= 8.10.0'} 390 + cborg@1.10.2: 391 + resolution: {integrity: sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==} 392 + hasBin: true 679 393 680 - color-convert@2.0.1: 681 - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 682 - engines: {node: '>=7.0.0'} 394 + content-disposition@0.5.4: 395 + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} 396 + engines: {node: '>= 0.6'} 683 397 684 - color-name@1.1.4: 685 - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 398 + content-type@1.0.5: 399 + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} 400 + engines: {node: '>= 0.6'} 686 401 687 - commander@9.5.0: 688 - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} 689 - engines: {node: ^12.20.0 || >=14} 402 + cookie-signature@1.0.6: 403 + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} 690 404 691 - concat-map@0.0.1: 692 - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 405 + cookie@0.7.1: 406 + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} 407 + engines: {node: '>= 0.6'} 693 408 694 409 create-require@1.1.1: 695 410 resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} 696 411 697 - cross-spawn@7.0.6: 698 - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 699 - engines: {node: '>= 8'} 700 - 701 - data-uri-to-buffer@4.0.1: 702 - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} 703 - engines: {node: '>= 12'} 704 - 705 - debug@4.4.3: 706 - resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} 707 - engines: {node: '>=6.0'} 412 + debug@2.6.9: 413 + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 708 414 peerDependencies: 709 415 supports-color: '*' 710 416 peerDependenciesMeta: 711 417 supports-color: 712 418 optional: true 713 419 714 - deep-is@0.1.4: 715 - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 420 + depd@2.0.0: 421 + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 422 + engines: {node: '>= 0.8'} 423 + 424 + destroy@1.2.0: 425 + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} 426 + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 716 427 717 - detect-libc@2.0.2: 718 - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} 428 + detect-libc@2.1.2: 429 + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} 719 430 engines: {node: '>=8'} 720 431 721 432 diff@4.0.2: 722 433 resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} 723 434 engines: {node: '>=0.3.1'} 724 435 725 - dir-glob@3.0.1: 726 - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 727 - engines: {node: '>=8'} 728 - 729 436 dotenv@17.2.3: 730 437 resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} 731 438 engines: {node: '>=12'} 732 439 733 - drizzle-kit@0.31.5: 734 - resolution: {integrity: sha512-+CHgPFzuoTQTt7cOYCV6MOw2w8vqEn/ap1yv4bpZOWL03u7rlVRQhUY0WYT3rHsgVTXwYQDZaSUJSQrMBUKuWg==} 735 - hasBin: true 736 - 737 - drizzle-orm@0.44.6: 738 - resolution: {integrity: sha512-uy6uarrrEOc9K1u5/uhBFJbdF5VJ5xQ/Yzbecw3eAYOunv5FDeYkR2m8iitocdHBOHbvorviKOW5GVw0U1j4LQ==} 739 - peerDependencies: 740 - '@aws-sdk/client-rds-data': '>=3' 741 - '@cloudflare/workers-types': '>=4' 742 - '@electric-sql/pglite': '>=0.2.0' 743 - '@libsql/client': '>=0.10.0' 744 - '@libsql/client-wasm': '>=0.10.0' 745 - '@neondatabase/serverless': '>=0.10.0' 746 - '@op-engineering/op-sqlite': '>=2' 747 - '@opentelemetry/api': ^1.4.1 748 - '@planetscale/database': '>=1.13' 749 - '@prisma/client': '*' 750 - '@tidbcloud/serverless': '*' 751 - '@types/better-sqlite3': '*' 752 - '@types/pg': '*' 753 - '@types/sql.js': '*' 754 - '@upstash/redis': '>=1.34.7' 755 - '@vercel/postgres': '>=0.8.0' 756 - '@xata.io/client': '*' 757 - better-sqlite3: '>=7' 758 - bun-types: '*' 759 - expo-sqlite: '>=14.0.0' 760 - gel: '>=2' 761 - knex: '*' 762 - kysely: '*' 763 - mysql2: '>=2' 764 - pg: '>=8' 765 - postgres: '>=3' 766 - prisma: '*' 767 - sql.js: '>=1' 768 - sqlite3: '>=5' 769 - peerDependenciesMeta: 770 - '@aws-sdk/client-rds-data': 771 - optional: true 772 - '@cloudflare/workers-types': 773 - optional: true 774 - '@electric-sql/pglite': 775 - optional: true 776 - '@libsql/client': 777 - optional: true 778 - '@libsql/client-wasm': 779 - optional: true 780 - '@neondatabase/serverless': 781 - optional: true 782 - '@op-engineering/op-sqlite': 783 - optional: true 784 - '@opentelemetry/api': 785 - optional: true 786 - '@planetscale/database': 787 - optional: true 788 - '@prisma/client': 789 - optional: true 790 - '@tidbcloud/serverless': 791 - optional: true 792 - '@types/better-sqlite3': 793 - optional: true 794 - '@types/pg': 795 - optional: true 796 - '@types/sql.js': 797 - optional: true 798 - '@upstash/redis': 799 - optional: true 800 - '@vercel/postgres': 801 - optional: true 802 - '@xata.io/client': 803 - optional: true 804 - better-sqlite3: 805 - optional: true 806 - bun-types: 807 - optional: true 808 - expo-sqlite: 809 - optional: true 810 - gel: 811 - optional: true 812 - knex: 813 - optional: true 814 - kysely: 815 - optional: true 816 - mysql2: 817 - optional: true 818 - pg: 819 - optional: true 820 - postgres: 821 - optional: true 822 - prisma: 823 - optional: true 824 - sql.js: 825 - optional: true 826 - sqlite3: 827 - optional: true 828 - 829 - esbuild-register@3.6.0: 830 - resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} 831 - peerDependencies: 832 - esbuild: '>=0.12 <1' 440 + dunder-proto@1.0.1: 441 + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 442 + engines: {node: '>= 0.4'} 833 443 834 - esbuild@0.18.20: 835 - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} 836 - engines: {node: '>=12'} 837 - hasBin: true 444 + ee-first@1.1.1: 445 + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 838 446 839 - esbuild@0.25.11: 840 - resolution: {integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==} 841 - engines: {node: '>=18'} 842 - hasBin: true 447 + encodeurl@1.0.2: 448 + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} 449 + engines: {node: '>= 0.8'} 843 450 844 - escape-string-regexp@4.0.0: 845 - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 846 - engines: {node: '>=10'} 451 + encodeurl@2.0.0: 452 + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} 453 + engines: {node: '>= 0.8'} 847 454 848 - eslint-scope@8.4.0: 849 - resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} 850 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 455 + es-define-property@1.0.1: 456 + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 457 + engines: {node: '>= 0.4'} 851 458 852 - eslint-visitor-keys@3.4.3: 853 - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 854 - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 459 + es-errors@1.3.0: 460 + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 461 + engines: {node: '>= 0.4'} 855 462 856 - eslint-visitor-keys@4.2.1: 857 - resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} 858 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 463 + es-object-atoms@1.1.1: 464 + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 465 + engines: {node: '>= 0.4'} 859 466 860 - eslint@9.37.0: 861 - resolution: {integrity: sha512-XyLmROnACWqSxiGYArdef1fItQd47weqB7iwtfr9JHwRrqIXZdcFMvvEcL9xHCmL0SNsOvF0c42lWyM1U5dgig==} 862 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 467 + esbuild@0.25.11: 468 + resolution: {integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==} 469 + engines: {node: '>=18'} 863 470 hasBin: true 864 - peerDependencies: 865 - jiti: '*' 866 - peerDependenciesMeta: 867 - jiti: 868 - optional: true 869 - 870 - espree@10.4.0: 871 - resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} 872 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 873 - 874 - esquery@1.6.0: 875 - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 876 - engines: {node: '>=0.10'} 877 - 878 - esrecurse@4.3.0: 879 - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 880 - engines: {node: '>=4.0'} 881 - 882 - estraverse@5.3.0: 883 - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 884 - engines: {node: '>=4.0'} 885 - 886 - esutils@2.0.3: 887 - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 888 - engines: {node: '>=0.10.0'} 889 - 890 - fast-deep-equal@3.1.3: 891 - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 892 - 893 - fast-glob@3.3.3: 894 - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 895 - engines: {node: '>=8.6.0'} 896 471 897 - fast-json-stable-stringify@2.1.0: 898 - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 472 + escape-html@1.0.3: 473 + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 899 474 900 - fast-levenshtein@2.0.6: 901 - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 475 + esm-env@1.2.2: 476 + resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} 902 477 903 - fastq@1.19.1: 904 - resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 478 + etag@1.8.1: 479 + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 480 + engines: {node: '>= 0.6'} 905 481 906 - fetch-blob@3.2.0: 907 - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} 908 - engines: {node: ^12.20 || >= 14.13} 482 + event-target-shim@5.0.1: 483 + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} 484 + engines: {node: '>=6'} 909 485 910 - file-entry-cache@8.0.0: 911 - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 912 - engines: {node: '>=16.0.0'} 486 + events@3.3.0: 487 + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} 488 + engines: {node: '>=0.8.x'} 913 489 914 - fill-range@7.1.1: 915 - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 916 - engines: {node: '>=8'} 490 + express@4.21.2: 491 + resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} 492 + engines: {node: '>= 0.10.0'} 917 493 918 - find-up@5.0.0: 919 - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 920 - engines: {node: '>=10'} 494 + fast-redact@3.5.0: 495 + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} 496 + engines: {node: '>=6'} 921 497 922 - flat-cache@4.0.1: 923 - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 924 - engines: {node: '>=16'} 498 + finalhandler@1.3.1: 499 + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} 500 + engines: {node: '>= 0.8'} 925 501 926 - flatted@3.3.3: 927 - resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 502 + forwarded@0.2.0: 503 + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 504 + engines: {node: '>= 0.6'} 928 505 929 - formdata-polyfill@4.0.10: 930 - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} 931 - engines: {node: '>=12.20.0'} 506 + fresh@0.5.2: 507 + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} 508 + engines: {node: '>= 0.6'} 932 509 933 510 fsevents@2.3.3: 934 511 resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 935 512 engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 936 513 os: [darwin] 937 514 938 - get-tsconfig@4.12.0: 939 - resolution: {integrity: sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==} 940 - 941 - glob-parent@5.1.2: 942 - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 943 - engines: {node: '>= 6'} 515 + function-bind@1.1.2: 516 + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 944 517 945 - glob-parent@6.0.2: 946 - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 947 - engines: {node: '>=10.13.0'} 518 + get-intrinsic@1.3.0: 519 + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 520 + engines: {node: '>= 0.4'} 948 521 949 - globals@14.0.0: 950 - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 951 - engines: {node: '>=18'} 522 + get-proto@1.0.1: 523 + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 524 + engines: {node: '>= 0.4'} 952 525 953 - globals@16.4.0: 954 - resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==} 955 - engines: {node: '>=18'} 526 + get-tsconfig@4.13.0: 527 + resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} 956 528 957 - globby@11.1.0: 958 - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 959 - engines: {node: '>=10'} 529 + gopd@1.2.0: 530 + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 531 + engines: {node: '>= 0.4'} 960 532 961 533 graphemer@1.4.0: 962 534 resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 963 535 964 - has-flag@4.0.0: 965 - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 966 - engines: {node: '>=8'} 536 + has-symbols@1.1.0: 537 + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 538 + engines: {node: '>= 0.4'} 967 539 968 - ignore@5.3.2: 969 - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 970 - engines: {node: '>= 4'} 540 + hasown@2.0.2: 541 + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 542 + engines: {node: '>= 0.4'} 971 543 972 - ignore@7.0.5: 973 - resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} 974 - engines: {node: '>= 4'} 544 + http-errors@2.0.0: 545 + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} 546 + engines: {node: '>= 0.8'} 975 547 976 - import-fresh@3.3.1: 977 - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 978 - engines: {node: '>=6'} 548 + iconv-lite@0.4.24: 549 + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 550 + engines: {node: '>=0.10.0'} 979 551 980 - imurmurhash@0.1.4: 981 - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 982 - engines: {node: '>=0.8.19'} 552 + ieee754@1.2.1: 553 + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 983 554 984 - is-binary-path@2.1.0: 985 - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 986 - engines: {node: '>=8'} 555 + inherits@2.0.4: 556 + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 987 557 988 - is-extglob@2.1.1: 989 - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 990 - engines: {node: '>=0.10.0'} 558 + ipaddr.js@1.9.1: 559 + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 560 + engines: {node: '>= 0.10'} 991 561 992 - is-glob@4.0.3: 993 - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 994 - engines: {node: '>=0.10.0'} 562 + iso-datestring-validator@2.2.2: 563 + resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==} 995 564 996 - is-number@7.0.0: 997 - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 998 - engines: {node: '>=0.12.0'} 565 + kysely@0.28.8: 566 + resolution: {integrity: sha512-QUOgl5ZrS9IRuhq5FvOKFSsD/3+IA6MLE81/bOOTRA/YQpKDza2sFdN5g6JCB9BOpqMJDGefLCQ9F12hRS13TA==} 567 + engines: {node: '>=20.0.0'} 999 568 1000 - isexe@2.0.0: 1001 - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 569 + make-error@1.3.6: 570 + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} 1002 571 1003 - jiti@2.6.1: 1004 - resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} 1005 - hasBin: true 572 + math-intrinsics@1.1.0: 573 + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 574 + engines: {node: '>= 0.4'} 1006 575 1007 - js-base64@3.7.8: 1008 - resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==} 576 + media-typer@0.3.0: 577 + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} 578 + engines: {node: '>= 0.6'} 1009 579 1010 - js-yaml@4.1.0: 1011 - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1012 - hasBin: true 580 + merge-descriptors@1.0.3: 581 + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} 1013 582 1014 - json-buffer@3.0.1: 1015 - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 583 + methods@1.1.2: 584 + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} 585 + engines: {node: '>= 0.6'} 1016 586 1017 - json-schema-traverse@0.4.1: 1018 - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 587 + mime-db@1.52.0: 588 + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 589 + engines: {node: '>= 0.6'} 1019 590 1020 - json-stable-stringify-without-jsonify@1.0.1: 1021 - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 591 + mime-types@2.1.35: 592 + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 593 + engines: {node: '>= 0.6'} 1022 594 1023 - json5@2.2.3: 1024 - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1025 - engines: {node: '>=6'} 595 + mime@1.6.0: 596 + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} 597 + engines: {node: '>=4'} 1026 598 hasBin: true 1027 599 1028 - keyv@4.5.4: 1029 - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 600 + ms@2.0.0: 601 + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 1030 602 1031 - levn@0.4.1: 1032 - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1033 - engines: {node: '>= 0.8.0'} 603 + ms@2.1.3: 604 + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1034 605 1035 - libsql@0.5.22: 1036 - resolution: {integrity: sha512-NscWthMQt7fpU8lqd7LXMvT9pi+KhhmTHAJWUB/Lj6MWa0MKFv0F2V4C6WKKpjCVZl0VwcDz4nOI3CyaT1DDiA==} 1037 - cpu: [x64, arm64, wasm32, arm] 1038 - os: [darwin, linux, win32] 606 + multiformats@9.9.0: 607 + resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} 1039 608 1040 - locate-path@6.0.0: 1041 - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1042 - engines: {node: '>=10'} 609 + nanoevents@9.1.0: 610 + resolution: {integrity: sha512-Jd0fILWG44a9luj8v5kED4WI+zfkkgwKyRQKItTtlPfEsh7Lznfi1kr8/iZ+XAIss4Qq5GqRB0qtWbaz9ceO/A==} 611 + engines: {node: ^18.0.0 || >=20.0.0} 1043 612 1044 - lodash.merge@4.6.2: 1045 - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 613 + negotiator@0.6.3: 614 + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} 615 + engines: {node: '>= 0.6'} 1046 616 1047 - make-error@1.3.6: 1048 - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} 617 + node-gyp-build-optional-packages@5.1.1: 618 + resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==} 619 + hasBin: true 1049 620 1050 - merge2@1.4.1: 1051 - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1052 - engines: {node: '>= 8'} 621 + object-inspect@1.13.4: 622 + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} 623 + engines: {node: '>= 0.4'} 1053 624 1054 - micromatch@4.0.8: 1055 - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1056 - engines: {node: '>=8.6'} 625 + on-exit-leak-free@2.1.2: 626 + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} 627 + engines: {node: '>=14.0.0'} 1057 628 1058 - minimatch@3.1.2: 1059 - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 629 + on-finished@2.4.1: 630 + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} 631 + engines: {node: '>= 0.8'} 1060 632 1061 - minimatch@9.0.5: 1062 - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1063 - engines: {node: '>=16 || 14 >=14.17'} 633 + parseurl@1.3.3: 634 + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 635 + engines: {node: '>= 0.8'} 1064 636 1065 - minimist@1.2.8: 1066 - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 637 + path-to-regexp@0.1.12: 638 + resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} 1067 639 1068 - ms@2.1.3: 1069 - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 640 + pg-cloudflare@1.2.7: 641 + resolution: {integrity: sha512-YgCtzMH0ptvZJslLM1ffsY4EuGaU0cx4XSdXLRFae8bPP4dS5xL1tNB3k2o/N64cHJpwU7dxKli/nZ2lUa5fLg==} 1070 642 1071 - mylas@2.1.13: 1072 - resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} 1073 - engines: {node: '>=12.0.0'} 643 + pg-connection-string@2.9.1: 644 + resolution: {integrity: sha512-nkc6NpDcvPVpZXxrreI/FOtX3XemeLl8E0qFr6F2Lrm/I8WOnaWNhIPK2Z7OHpw7gh5XJThi6j6ppgNoaT1w4w==} 1074 645 1075 - nanoevents@9.1.0: 1076 - resolution: {integrity: sha512-Jd0fILWG44a9luj8v5kED4WI+zfkkgwKyRQKItTtlPfEsh7Lznfi1kr8/iZ+XAIss4Qq5GqRB0qtWbaz9ceO/A==} 1077 - engines: {node: ^18.0.0 || >=20.0.0} 646 + pg-int8@1.0.1: 647 + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} 648 + engines: {node: '>=4.0.0'} 1078 649 1079 - natural-compare@1.4.0: 1080 - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 650 + pg-pool@3.10.1: 651 + resolution: {integrity: sha512-Tu8jMlcX+9d8+QVzKIvM/uJtp07PKr82IUOYEphaWcoBhIYkoHpLXN3qO59nAI11ripznDsEzEv8nUxBVWajGg==} 652 + peerDependencies: 653 + pg: '>=8.0' 1081 654 1082 - node-domexception@1.0.0: 1083 - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} 1084 - engines: {node: '>=10.5.0'} 1085 - deprecated: Use your platform's native DOMException instead 655 + pg-protocol@1.10.3: 656 + resolution: {integrity: sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ==} 1086 657 1087 - node-fetch@3.3.2: 1088 - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} 1089 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 658 + pg-types@2.2.0: 659 + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} 660 + engines: {node: '>=4'} 1090 661 1091 - normalize-path@3.0.0: 1092 - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1093 - engines: {node: '>=0.10.0'} 662 + pg@8.16.3: 663 + resolution: {integrity: sha512-enxc1h0jA/aq5oSDMvqyW3q89ra6XIIDZgCX9vkMrnz5DFTw/Ny3Li2lFQ+pt3L6MCgm/5o2o8HW9hiJji+xvw==} 664 + engines: {node: '>= 16.0.0'} 665 + peerDependencies: 666 + pg-native: '>=3.0.1' 667 + peerDependenciesMeta: 668 + pg-native: 669 + optional: true 1094 670 1095 - optionator@0.9.4: 1096 - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1097 - engines: {node: '>= 0.8.0'} 671 + pgpass@1.0.5: 672 + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} 1098 673 1099 - p-limit@3.1.0: 1100 - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1101 - engines: {node: '>=10'} 674 + pino-abstract-transport@1.2.0: 675 + resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} 1102 676 1103 - p-locate@5.0.0: 1104 - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1105 - engines: {node: '>=10'} 677 + pino-std-serializers@6.2.2: 678 + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} 1106 679 1107 - parent-module@1.0.1: 1108 - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1109 - engines: {node: '>=6'} 680 + pino@8.21.0: 681 + resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} 682 + hasBin: true 1110 683 1111 - path-exists@4.0.0: 1112 - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1113 - engines: {node: '>=8'} 684 + postgres-array@2.0.0: 685 + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} 686 + engines: {node: '>=4'} 1114 687 1115 - path-key@3.1.1: 1116 - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1117 - engines: {node: '>=8'} 688 + postgres-bytea@1.0.0: 689 + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} 690 + engines: {node: '>=0.10.0'} 1118 691 1119 - path-type@4.0.0: 1120 - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1121 - engines: {node: '>=8'} 692 + postgres-date@1.0.7: 693 + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} 694 + engines: {node: '>=0.10.0'} 1122 695 1123 - picomatch@2.3.1: 1124 - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1125 - engines: {node: '>=8.6'} 696 + postgres-interval@1.2.0: 697 + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} 698 + engines: {node: '>=0.10.0'} 1126 699 1127 - plimit-lit@1.6.1: 1128 - resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} 1129 - engines: {node: '>=12'} 700 + process-warning@3.0.0: 701 + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} 1130 702 1131 - prelude-ls@1.2.1: 1132 - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1133 - engines: {node: '>= 0.8.0'} 703 + process@0.11.10: 704 + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 705 + engines: {node: '>= 0.6.0'} 1134 706 1135 - prettier@3.6.2: 1136 - resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} 1137 - engines: {node: '>=14'} 1138 - hasBin: true 707 + proxy-addr@2.0.7: 708 + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 709 + engines: {node: '>= 0.10'} 1139 710 1140 - promise-limit@2.7.0: 1141 - resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==} 711 + qs@6.13.0: 712 + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} 713 + engines: {node: '>=0.6'} 1142 714 1143 - punycode@2.3.1: 1144 - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1145 - engines: {node: '>=6'} 715 + quick-format-unescaped@4.0.4: 716 + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} 1146 717 1147 - queue-lit@1.5.2: 1148 - resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==} 1149 - engines: {node: '>=12'} 718 + range-parser@1.2.1: 719 + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} 720 + engines: {node: '>= 0.6'} 1150 721 1151 - queue-microtask@1.2.3: 1152 - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 722 + rate-limiter-flexible@2.4.2: 723 + resolution: {integrity: sha512-rMATGGOdO1suFyf/mI5LYhts71g1sbdhmd6YvdiXO2gJnd42Tt6QS4JUKJKSWVVkMtBacm6l40FR7Trjo6Iruw==} 1153 724 1154 - readdirp@3.6.0: 1155 - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1156 - engines: {node: '>=8.10.0'} 725 + raw-body@2.5.2: 726 + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} 727 + engines: {node: '>= 0.8'} 1157 728 1158 - resolve-from@4.0.0: 1159 - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1160 - engines: {node: '>=4'} 729 + readable-stream@4.7.0: 730 + resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} 731 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 732 + 733 + real-require@0.2.0: 734 + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} 735 + engines: {node: '>= 12.13.0'} 1161 736 1162 737 resolve-pkg-maps@1.0.0: 1163 738 resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 1164 739 1165 - reusify@1.1.0: 1166 - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 1167 - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1168 - 1169 - run-parallel@1.2.0: 1170 - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 740 + safe-buffer@5.2.1: 741 + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1171 742 1172 - semver@7.7.3: 1173 - resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} 743 + safe-stable-stringify@2.5.0: 744 + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} 1174 745 engines: {node: '>=10'} 1175 - hasBin: true 1176 746 1177 - shebang-command@2.0.0: 1178 - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1179 - engines: {node: '>=8'} 747 + safer-buffer@2.1.2: 748 + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1180 749 1181 - shebang-regex@3.0.0: 1182 - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1183 - engines: {node: '>=8'} 750 + send@0.19.0: 751 + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} 752 + engines: {node: '>= 0.8.0'} 1184 753 1185 - slash@3.0.0: 1186 - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1187 - engines: {node: '>=8'} 754 + serve-static@1.16.2: 755 + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} 756 + engines: {node: '>= 0.8.0'} 1188 757 1189 - source-map-support@0.5.21: 1190 - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 758 + setprototypeof@1.2.0: 759 + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 1191 760 1192 - source-map@0.6.1: 1193 - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1194 - engines: {node: '>=0.10.0'} 761 + side-channel-list@1.0.0: 762 + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 763 + engines: {node: '>= 0.4'} 1195 764 1196 - strip-bom@3.0.0: 1197 - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1198 - engines: {node: '>=4'} 765 + side-channel-map@1.0.1: 766 + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} 767 + engines: {node: '>= 0.4'} 1199 768 1200 - strip-json-comments@3.1.1: 1201 - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1202 - engines: {node: '>=8'} 769 + side-channel-weakmap@1.0.2: 770 + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 771 + engines: {node: '>= 0.4'} 1203 772 1204 - supports-color@7.2.0: 1205 - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1206 - engines: {node: '>=8'} 773 + side-channel@1.1.0: 774 + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 775 + engines: {node: '>= 0.4'} 1207 776 1208 - to-regex-range@5.0.1: 1209 - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1210 - engines: {node: '>=8.0'} 777 + sonic-boom@3.8.1: 778 + resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} 1211 779 1212 - ts-api-utils@2.1.0: 1213 - resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} 1214 - engines: {node: '>=18.12'} 1215 - peerDependencies: 1216 - typescript: '>=4.8.4' 780 + split2@4.2.0: 781 + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} 782 + engines: {node: '>= 10.x'} 783 + 784 + statuses@2.0.1: 785 + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 786 + engines: {node: '>= 0.8'} 787 + 788 + string_decoder@1.3.0: 789 + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 790 + 791 + thread-stream@2.7.0: 792 + resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} 793 + 794 + toidentifier@1.0.1: 795 + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 796 + engines: {node: '>=0.6'} 1217 797 1218 798 ts-node@10.9.2: 1219 799 resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} ··· 1229 809 '@swc/wasm': 1230 810 optional: true 1231 811 1232 - tsc-alias@1.8.16: 1233 - resolution: {integrity: sha512-QjCyu55NFyRSBAl6+MTFwplpFcnm2Pq01rR/uxfqJoLMm6X3O14KEGtaSDZpJYaE1bJBGDjD0eSuiIWPe2T58g==} 1234 - engines: {node: '>=16.20.2'} 812 + tsx@4.20.6: 813 + resolution: {integrity: sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==} 814 + engines: {node: '>=18.0.0'} 1235 815 hasBin: true 1236 816 1237 - tsconfig-paths@4.2.0: 1238 - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} 1239 - engines: {node: '>=6'} 1240 - 1241 - type-check@0.4.0: 1242 - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1243 - engines: {node: '>= 0.8.0'} 1244 - 1245 - typescript-eslint@8.46.0: 1246 - resolution: {integrity: sha512-6+ZrB6y2bT2DX3K+Qd9vn7OFOJR+xSLDj+Aw/N3zBwUt27uTw2sw2TE2+UcY1RiyBZkaGbTkVg9SSdPNUG6aUw==} 1247 - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1248 - peerDependencies: 1249 - eslint: ^8.57.0 || ^9.0.0 1250 - typescript: '>=4.8.4 <6.0.0' 817 + type-is@1.6.18: 818 + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} 819 + engines: {node: '>= 0.6'} 1251 820 1252 821 typescript@5.9.3: 1253 822 resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 1254 823 engines: {node: '>=14.17'} 1255 824 hasBin: true 1256 825 1257 - undici-types@7.14.0: 1258 - resolution: {integrity: sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==} 826 + uint8arrays@3.0.0: 827 + resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==} 1259 828 1260 - uri-js@4.4.1: 1261 - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 829 + undici-types@7.16.0: 830 + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} 1262 831 1263 - v8-compile-cache-lib@3.0.1: 1264 - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} 832 + unpipe@1.0.0: 833 + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 834 + engines: {node: '>= 0.8'} 1265 835 1266 - web-streams-polyfill@3.3.3: 1267 - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} 1268 - engines: {node: '>= 8'} 836 + utils-merge@1.0.1: 837 + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} 838 + engines: {node: '>= 0.4.0'} 1269 839 1270 - which@2.0.2: 1271 - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1272 - engines: {node: '>= 8'} 1273 - hasBin: true 840 + v8-compile-cache-lib@3.0.1: 841 + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} 1274 842 1275 - word-wrap@1.2.5: 1276 - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1277 - engines: {node: '>=0.10.0'} 843 + vary@1.1.2: 844 + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 845 + engines: {node: '>= 0.8'} 1278 846 1279 847 ws@8.18.3: 1280 848 resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} ··· 1288 856 utf-8-validate: 1289 857 optional: true 1290 858 859 + xtend@4.0.2: 860 + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 861 + engines: {node: '>=0.4'} 862 + 1291 863 yn@3.1.1: 1292 864 resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} 1293 865 engines: {node: '>=6'} 1294 866 1295 - yocto-queue@0.1.0: 1296 - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1297 - engines: {node: '>=10'} 1298 - 1299 867 yocto-queue@1.2.1: 1300 868 resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} 1301 869 engines: {node: '>=12.20'} 1302 870 1303 - zod@4.1.12: 1304 - resolution: {integrity: sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==} 871 + zod@3.25.76: 872 + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} 1305 873 1306 874 snapshots: 1307 875 876 + '@atcute/atproto@3.1.8': 877 + dependencies: 878 + '@atcute/lexicons': 1.2.2 879 + 1308 880 '@atcute/car@3.1.3': 1309 881 dependencies: 1310 882 '@atcute/cbor': 2.2.7 1311 - '@atcute/cid': 2.2.5 883 + '@atcute/cid': 2.2.6 1312 884 '@atcute/uint8array': 1.0.5 1313 885 '@atcute/varint': 1.0.3 1314 886 yocto-queue: 1.2.1 1315 887 1316 888 '@atcute/cbor@2.2.7': 1317 889 dependencies: 1318 - '@atcute/cid': 2.2.5 890 + '@atcute/cid': 2.2.6 1319 891 '@atcute/multibase': 1.1.6 1320 892 '@atcute/uint8array': 1.0.5 1321 893 1322 - '@atcute/cid@2.2.5': 894 + '@atcute/cid@2.2.6': 1323 895 dependencies: 1324 896 '@atcute/multibase': 1.1.6 1325 897 '@atcute/uint8array': 1.0.5 1326 898 899 + '@atcute/lexicons@1.2.2': 900 + dependencies: 901 + '@standard-schema/spec': 1.0.0 902 + esm-env: 1.2.2 903 + 1327 904 '@atcute/multibase@1.1.6': 1328 905 dependencies: 1329 906 '@atcute/uint8array': 1.0.5 ··· 1332 909 1333 910 '@atcute/varint@1.0.3': {} 1334 911 1335 - '@cspotcode/source-map-support@0.8.1': 912 + '@atproto/common-web@0.4.3': 1336 913 dependencies: 1337 - '@jridgewell/trace-mapping': 0.3.9 1338 - 1339 - '@drizzle-team/brocli@0.10.2': {} 914 + graphemer: 1.4.0 915 + multiformats: 9.9.0 916 + uint8arrays: 3.0.0 917 + zod: 3.25.76 918 + 919 + '@atproto/common@0.4.12': 920 + dependencies: 921 + '@atproto/common-web': 0.4.3 922 + '@ipld/dag-cbor': 7.0.3 923 + cbor-x: 1.6.0 924 + iso-datestring-validator: 2.2.2 925 + multiformats: 9.9.0 926 + pino: 8.21.0 927 + 928 + '@atproto/crypto@0.4.4': 929 + dependencies: 930 + '@noble/curves': 1.9.7 931 + '@noble/hashes': 1.8.0 932 + uint8arrays: 3.0.0 933 + 934 + '@atproto/lexicon@0.5.1': 935 + dependencies: 936 + '@atproto/common-web': 0.4.3 937 + '@atproto/syntax': 0.4.1 938 + iso-datestring-validator: 2.2.2 939 + multiformats: 9.9.0 940 + zod: 3.25.76 941 + 942 + '@atproto/syntax@0.4.1': {} 943 + 944 + '@atproto/xrpc-server@0.9.5': 945 + dependencies: 946 + '@atproto/common': 0.4.12 947 + '@atproto/crypto': 0.4.4 948 + '@atproto/lexicon': 0.5.1 949 + '@atproto/xrpc': 0.7.5 950 + cbor-x: 1.6.0 951 + express: 4.21.2 952 + http-errors: 2.0.0 953 + mime-types: 2.1.35 954 + rate-limiter-flexible: 2.4.2 955 + uint8arrays: 3.0.0 956 + ws: 8.18.3 957 + zod: 3.25.76 958 + transitivePeerDependencies: 959 + - bufferutil 960 + - supports-color 961 + - utf-8-validate 1340 962 1341 - '@esbuild-kit/core-utils@3.3.2': 963 + '@atproto/xrpc@0.7.5': 1342 964 dependencies: 1343 - esbuild: 0.18.20 1344 - source-map-support: 0.5.21 965 + '@atproto/lexicon': 0.5.1 966 + zod: 3.25.76 1345 967 1346 - '@esbuild-kit/esm-loader@2.6.5': 1347 - dependencies: 1348 - '@esbuild-kit/core-utils': 3.3.2 1349 - get-tsconfig: 4.12.0 968 + '@cbor-extract/cbor-extract-darwin-arm64@2.2.0': 969 + optional: true 1350 970 1351 - '@esbuild/aix-ppc64@0.25.11': 971 + '@cbor-extract/cbor-extract-darwin-x64@2.2.0': 1352 972 optional: true 1353 973 1354 - '@esbuild/android-arm64@0.18.20': 974 + '@cbor-extract/cbor-extract-linux-arm64@2.2.0': 1355 975 optional: true 1356 976 1357 - '@esbuild/android-arm64@0.25.11': 977 + '@cbor-extract/cbor-extract-linux-arm@2.2.0': 1358 978 optional: true 1359 979 1360 - '@esbuild/android-arm@0.18.20': 980 + '@cbor-extract/cbor-extract-linux-x64@2.2.0': 1361 981 optional: true 1362 982 1363 - '@esbuild/android-arm@0.25.11': 983 + '@cbor-extract/cbor-extract-win32-x64@2.2.0': 984 + optional: true 985 + 986 + '@cspotcode/source-map-support@0.8.1': 987 + dependencies: 988 + '@jridgewell/trace-mapping': 0.3.9 989 + 990 + '@esbuild/aix-ppc64@0.25.11': 991 + optional: true 992 + 993 + '@esbuild/android-arm64@0.25.11': 1364 994 optional: true 1365 995 1366 - '@esbuild/android-x64@0.18.20': 996 + '@esbuild/android-arm@0.25.11': 1367 997 optional: true 1368 998 1369 999 '@esbuild/android-x64@0.25.11': 1370 1000 optional: true 1371 1001 1372 - '@esbuild/darwin-arm64@0.18.20': 1373 - optional: true 1374 - 1375 1002 '@esbuild/darwin-arm64@0.25.11': 1376 1003 optional: true 1377 1004 1378 - '@esbuild/darwin-x64@0.18.20': 1379 - optional: true 1380 - 1381 1005 '@esbuild/darwin-x64@0.25.11': 1382 1006 optional: true 1383 1007 1384 - '@esbuild/freebsd-arm64@0.18.20': 1385 - optional: true 1386 - 1387 1008 '@esbuild/freebsd-arm64@0.25.11': 1388 1009 optional: true 1389 1010 1390 - '@esbuild/freebsd-x64@0.18.20': 1391 - optional: true 1392 - 1393 1011 '@esbuild/freebsd-x64@0.25.11': 1394 1012 optional: true 1395 1013 1396 - '@esbuild/linux-arm64@0.18.20': 1397 - optional: true 1398 - 1399 1014 '@esbuild/linux-arm64@0.25.11': 1400 1015 optional: true 1401 1016 1402 - '@esbuild/linux-arm@0.18.20': 1403 - optional: true 1404 - 1405 1017 '@esbuild/linux-arm@0.25.11': 1406 1018 optional: true 1407 1019 1408 - '@esbuild/linux-ia32@0.18.20': 1409 - optional: true 1410 - 1411 1020 '@esbuild/linux-ia32@0.25.11': 1412 1021 optional: true 1413 1022 1414 - '@esbuild/linux-loong64@0.18.20': 1415 - optional: true 1416 - 1417 1023 '@esbuild/linux-loong64@0.25.11': 1418 1024 optional: true 1419 1025 1420 - '@esbuild/linux-mips64el@0.18.20': 1421 - optional: true 1422 - 1423 1026 '@esbuild/linux-mips64el@0.25.11': 1424 1027 optional: true 1425 1028 1426 - '@esbuild/linux-ppc64@0.18.20': 1427 - optional: true 1428 - 1429 1029 '@esbuild/linux-ppc64@0.25.11': 1430 1030 optional: true 1431 1031 1432 - '@esbuild/linux-riscv64@0.18.20': 1433 - optional: true 1434 - 1435 1032 '@esbuild/linux-riscv64@0.25.11': 1436 1033 optional: true 1437 1034 1438 - '@esbuild/linux-s390x@0.18.20': 1439 - optional: true 1440 - 1441 1035 '@esbuild/linux-s390x@0.25.11': 1442 1036 optional: true 1443 1037 1444 - '@esbuild/linux-x64@0.18.20': 1445 - optional: true 1446 - 1447 1038 '@esbuild/linux-x64@0.25.11': 1448 1039 optional: true 1449 1040 1450 1041 '@esbuild/netbsd-arm64@0.25.11': 1451 1042 optional: true 1452 1043 1453 - '@esbuild/netbsd-x64@0.18.20': 1454 - optional: true 1455 - 1456 1044 '@esbuild/netbsd-x64@0.25.11': 1457 1045 optional: true 1458 1046 1459 1047 '@esbuild/openbsd-arm64@0.25.11': 1460 1048 optional: true 1461 1049 1462 - '@esbuild/openbsd-x64@0.18.20': 1463 - optional: true 1464 - 1465 1050 '@esbuild/openbsd-x64@0.25.11': 1466 1051 optional: true 1467 1052 1468 1053 '@esbuild/openharmony-arm64@0.25.11': 1469 1054 optional: true 1470 1055 1471 - '@esbuild/sunos-x64@0.18.20': 1472 - optional: true 1473 - 1474 1056 '@esbuild/sunos-x64@0.25.11': 1475 1057 optional: true 1476 1058 1477 - '@esbuild/win32-arm64@0.18.20': 1478 - optional: true 1479 - 1480 1059 '@esbuild/win32-arm64@0.25.11': 1481 1060 optional: true 1482 1061 1483 - '@esbuild/win32-ia32@0.18.20': 1484 - optional: true 1485 - 1486 1062 '@esbuild/win32-ia32@0.25.11': 1487 1063 optional: true 1488 1064 1489 - '@esbuild/win32-x64@0.18.20': 1490 - optional: true 1491 - 1492 1065 '@esbuild/win32-x64@0.25.11': 1493 1066 optional: true 1494 1067 1495 - '@eslint-community/eslint-utils@4.9.0(eslint@9.37.0(jiti@2.6.1))': 1496 - dependencies: 1497 - eslint: 9.37.0(jiti@2.6.1) 1498 - eslint-visitor-keys: 3.4.3 1499 - 1500 - '@eslint-community/regexpp@4.12.1': {} 1501 - 1502 - '@eslint/config-array@0.21.0': 1503 - dependencies: 1504 - '@eslint/object-schema': 2.1.6 1505 - debug: 4.4.3 1506 - minimatch: 3.1.2 1507 - transitivePeerDependencies: 1508 - - supports-color 1509 - 1510 - '@eslint/config-helpers@0.4.0': 1511 - dependencies: 1512 - '@eslint/core': 0.16.0 1513 - 1514 - '@eslint/core@0.16.0': 1068 + '@ipld/dag-cbor@7.0.3': 1515 1069 dependencies: 1516 - '@types/json-schema': 7.0.15 1517 - 1518 - '@eslint/eslintrc@3.3.1': 1519 - dependencies: 1520 - ajv: 6.12.6 1521 - debug: 4.4.3 1522 - espree: 10.4.0 1523 - globals: 14.0.0 1524 - ignore: 5.3.2 1525 - import-fresh: 3.3.1 1526 - js-yaml: 4.1.0 1527 - minimatch: 3.1.2 1528 - strip-json-comments: 3.1.1 1529 - transitivePeerDependencies: 1530 - - supports-color 1531 - 1532 - '@eslint/js@9.37.0': {} 1533 - 1534 - '@eslint/object-schema@2.1.6': {} 1535 - 1536 - '@eslint/plugin-kit@0.4.0': 1537 - dependencies: 1538 - '@eslint/core': 0.16.0 1539 - levn: 0.4.1 1540 - 1541 - '@humanfs/core@0.19.1': {} 1542 - 1543 - '@humanfs/node@0.16.7': 1544 - dependencies: 1545 - '@humanfs/core': 0.19.1 1546 - '@humanwhocodes/retry': 0.4.3 1547 - 1548 - '@humanwhocodes/module-importer@1.0.1': {} 1549 - 1550 - '@humanwhocodes/retry@0.4.3': {} 1070 + cborg: 1.10.2 1071 + multiformats: 9.9.0 1551 1072 1552 1073 '@jridgewell/resolve-uri@3.1.2': {} 1553 1074 ··· 1558 1079 '@jridgewell/resolve-uri': 3.1.2 1559 1080 '@jridgewell/sourcemap-codec': 1.5.5 1560 1081 1561 - '@libsql/client@0.15.15': 1562 - dependencies: 1563 - '@libsql/core': 0.15.15 1564 - '@libsql/hrana-client': 0.7.0 1565 - js-base64: 3.7.8 1566 - libsql: 0.5.22 1567 - promise-limit: 2.7.0 1568 - transitivePeerDependencies: 1569 - - bufferutil 1570 - - utf-8-validate 1571 - 1572 - '@libsql/core@0.15.15': 1573 - dependencies: 1574 - js-base64: 3.7.8 1575 - 1576 - '@libsql/darwin-arm64@0.5.22': 1577 - optional: true 1578 - 1579 - '@libsql/darwin-x64@0.5.22': 1580 - optional: true 1581 - 1582 - '@libsql/hrana-client@0.7.0': 1583 - dependencies: 1584 - '@libsql/isomorphic-fetch': 0.3.1 1585 - '@libsql/isomorphic-ws': 0.1.5 1586 - js-base64: 3.7.8 1587 - node-fetch: 3.3.2 1588 - transitivePeerDependencies: 1589 - - bufferutil 1590 - - utf-8-validate 1591 - 1592 - '@libsql/isomorphic-fetch@0.3.1': {} 1593 - 1594 - '@libsql/isomorphic-ws@0.1.5': 1595 - dependencies: 1596 - '@types/ws': 8.18.1 1597 - ws: 8.18.3 1598 - transitivePeerDependencies: 1599 - - bufferutil 1600 - - utf-8-validate 1601 - 1602 - '@libsql/linux-arm-gnueabihf@0.5.22': 1603 - optional: true 1604 - 1605 - '@libsql/linux-arm-musleabihf@0.5.22': 1606 - optional: true 1607 - 1608 - '@libsql/linux-arm64-gnu@0.5.22': 1609 - optional: true 1610 - 1611 - '@libsql/linux-arm64-musl@0.5.22': 1612 - optional: true 1613 - 1614 - '@libsql/linux-x64-gnu@0.5.22': 1615 - optional: true 1616 - 1617 - '@libsql/linux-x64-musl@0.5.22': 1618 - optional: true 1619 - 1620 - '@libsql/win32-x64-msvc@0.5.22': 1621 - optional: true 1622 - 1623 - '@neon-rs/load@0.0.4': {} 1624 - 1625 - '@nodelib/fs.scandir@2.1.5': 1082 + '@noble/curves@1.9.7': 1626 1083 dependencies: 1627 - '@nodelib/fs.stat': 2.0.5 1628 - run-parallel: 1.2.0 1629 - 1630 - '@nodelib/fs.stat@2.0.5': {} 1084 + '@noble/hashes': 1.8.0 1631 1085 1632 - '@nodelib/fs.walk@1.2.8': 1633 - dependencies: 1634 - '@nodelib/fs.scandir': 2.1.5 1635 - fastq: 1.19.1 1086 + '@noble/hashes@1.8.0': {} 1636 1087 1637 1088 '@skyware/firehose@0.5.2': 1638 1089 dependencies: ··· 1640 1091 '@atcute/cbor': 2.2.7 1641 1092 nanoevents: 9.1.0 1642 1093 1094 + '@standard-schema/spec@1.0.0': {} 1095 + 1643 1096 '@tsconfig/node10@1.0.11': {} 1644 1097 1645 1098 '@tsconfig/node12@1.0.11': {} ··· 1648 1101 1649 1102 '@tsconfig/node16@1.0.4': {} 1650 1103 1651 - '@types/estree@1.0.8': {} 1652 - 1653 - '@types/json-schema@7.0.15': {} 1654 - 1655 - '@types/node@24.7.1': 1104 + '@types/node@24.9.2': 1656 1105 dependencies: 1657 - undici-types: 7.14.0 1106 + undici-types: 7.16.0 1658 1107 1659 1108 '@types/ws@8.18.1': 1660 1109 dependencies: 1661 - '@types/node': 24.7.1 1110 + '@types/node': 24.9.2 1662 1111 1663 - '@typescript-eslint/eslint-plugin@8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)': 1112 + abort-controller@3.0.0: 1664 1113 dependencies: 1665 - '@eslint-community/regexpp': 4.12.1 1666 - '@typescript-eslint/parser': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) 1667 - '@typescript-eslint/scope-manager': 8.46.0 1668 - '@typescript-eslint/type-utils': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) 1669 - '@typescript-eslint/utils': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) 1670 - '@typescript-eslint/visitor-keys': 8.46.0 1671 - eslint: 9.37.0(jiti@2.6.1) 1672 - graphemer: 1.4.0 1673 - ignore: 7.0.5 1674 - natural-compare: 1.4.0 1675 - ts-api-utils: 2.1.0(typescript@5.9.3) 1676 - typescript: 5.9.3 1677 - transitivePeerDependencies: 1678 - - supports-color 1114 + event-target-shim: 5.0.1 1679 1115 1680 - '@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)': 1116 + accepts@1.3.8: 1681 1117 dependencies: 1682 - '@typescript-eslint/scope-manager': 8.46.0 1683 - '@typescript-eslint/types': 8.46.0 1684 - '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3) 1685 - '@typescript-eslint/visitor-keys': 8.46.0 1686 - debug: 4.4.3 1687 - eslint: 9.37.0(jiti@2.6.1) 1688 - typescript: 5.9.3 1689 - transitivePeerDependencies: 1690 - - supports-color 1118 + mime-types: 2.1.35 1119 + negotiator: 0.6.3 1691 1120 1692 - '@typescript-eslint/project-service@8.46.0(typescript@5.9.3)': 1121 + acorn-walk@8.3.4: 1693 1122 dependencies: 1694 - '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3) 1695 - '@typescript-eslint/types': 8.46.0 1696 - debug: 4.4.3 1697 - typescript: 5.9.3 1698 - transitivePeerDependencies: 1699 - - supports-color 1123 + acorn: 8.15.0 1700 1124 1701 - '@typescript-eslint/scope-manager@8.46.0': 1702 - dependencies: 1703 - '@typescript-eslint/types': 8.46.0 1704 - '@typescript-eslint/visitor-keys': 8.46.0 1125 + acorn@8.15.0: {} 1705 1126 1706 - '@typescript-eslint/tsconfig-utils@8.46.0(typescript@5.9.3)': 1707 - dependencies: 1708 - typescript: 5.9.3 1127 + arg@4.1.3: {} 1709 1128 1710 - '@typescript-eslint/type-utils@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)': 1711 - dependencies: 1712 - '@typescript-eslint/types': 8.46.0 1713 - '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3) 1714 - '@typescript-eslint/utils': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) 1715 - debug: 4.4.3 1716 - eslint: 9.37.0(jiti@2.6.1) 1717 - ts-api-utils: 2.1.0(typescript@5.9.3) 1718 - typescript: 5.9.3 1719 - transitivePeerDependencies: 1720 - - supports-color 1129 + array-flatten@1.1.1: {} 1721 1130 1722 - '@typescript-eslint/types@8.46.0': {} 1131 + atomic-sleep@1.0.0: {} 1723 1132 1724 - '@typescript-eslint/typescript-estree@8.46.0(typescript@5.9.3)': 1725 - dependencies: 1726 - '@typescript-eslint/project-service': 8.46.0(typescript@5.9.3) 1727 - '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3) 1728 - '@typescript-eslint/types': 8.46.0 1729 - '@typescript-eslint/visitor-keys': 8.46.0 1730 - debug: 4.4.3 1731 - fast-glob: 3.3.3 1732 - is-glob: 4.0.3 1733 - minimatch: 9.0.5 1734 - semver: 7.7.3 1735 - ts-api-utils: 2.1.0(typescript@5.9.3) 1736 - typescript: 5.9.3 1737 - transitivePeerDependencies: 1738 - - supports-color 1133 + base64-js@1.5.1: {} 1739 1134 1740 - '@typescript-eslint/utils@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)': 1135 + body-parser@1.20.3: 1741 1136 dependencies: 1742 - '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1)) 1743 - '@typescript-eslint/scope-manager': 8.46.0 1744 - '@typescript-eslint/types': 8.46.0 1745 - '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3) 1746 - eslint: 9.37.0(jiti@2.6.1) 1747 - typescript: 5.9.3 1137 + bytes: 3.1.2 1138 + content-type: 1.0.5 1139 + debug: 2.6.9 1140 + depd: 2.0.0 1141 + destroy: 1.2.0 1142 + http-errors: 2.0.0 1143 + iconv-lite: 0.4.24 1144 + on-finished: 2.4.1 1145 + qs: 6.13.0 1146 + raw-body: 2.5.2 1147 + type-is: 1.6.18 1148 + unpipe: 1.0.0 1748 1149 transitivePeerDependencies: 1749 1150 - supports-color 1750 1151 1751 - '@typescript-eslint/visitor-keys@8.46.0': 1752 - dependencies: 1753 - '@typescript-eslint/types': 8.46.0 1754 - eslint-visitor-keys: 4.2.1 1755 - 1756 - acorn-jsx@5.3.2(acorn@8.15.0): 1757 - dependencies: 1758 - acorn: 8.15.0 1759 - 1760 - acorn-walk@8.3.4: 1152 + buffer@6.0.3: 1761 1153 dependencies: 1762 - acorn: 8.15.0 1154 + base64-js: 1.5.1 1155 + ieee754: 1.2.1 1763 1156 1764 - acorn@8.15.0: {} 1157 + bytes@3.1.2: {} 1765 1158 1766 - ajv@6.12.6: 1159 + call-bind-apply-helpers@1.0.2: 1767 1160 dependencies: 1768 - fast-deep-equal: 3.1.3 1769 - fast-json-stable-stringify: 2.1.0 1770 - json-schema-traverse: 0.4.1 1771 - uri-js: 4.4.1 1161 + es-errors: 1.3.0 1162 + function-bind: 1.1.2 1772 1163 1773 - ansi-styles@4.3.0: 1164 + call-bound@1.0.4: 1774 1165 dependencies: 1775 - color-convert: 2.0.1 1166 + call-bind-apply-helpers: 1.0.2 1167 + get-intrinsic: 1.3.0 1776 1168 1777 - anymatch@3.1.3: 1169 + cbor-extract@2.2.0: 1778 1170 dependencies: 1779 - normalize-path: 3.0.0 1780 - picomatch: 2.3.1 1781 - 1782 - arg@4.1.3: {} 1783 - 1784 - argparse@2.0.1: {} 1785 - 1786 - array-union@2.1.0: {} 1787 - 1788 - balanced-match@1.0.2: {} 1789 - 1790 - binary-extensions@2.3.0: {} 1171 + node-gyp-build-optional-packages: 5.1.1 1172 + optionalDependencies: 1173 + '@cbor-extract/cbor-extract-darwin-arm64': 2.2.0 1174 + '@cbor-extract/cbor-extract-darwin-x64': 2.2.0 1175 + '@cbor-extract/cbor-extract-linux-arm': 2.2.0 1176 + '@cbor-extract/cbor-extract-linux-arm64': 2.2.0 1177 + '@cbor-extract/cbor-extract-linux-x64': 2.2.0 1178 + '@cbor-extract/cbor-extract-win32-x64': 2.2.0 1179 + optional: true 1791 1180 1792 - brace-expansion@1.1.12: 1793 - dependencies: 1794 - balanced-match: 1.0.2 1795 - concat-map: 0.0.1 1181 + cbor-x@1.6.0: 1182 + optionalDependencies: 1183 + cbor-extract: 2.2.0 1796 1184 1797 - brace-expansion@2.0.2: 1798 - dependencies: 1799 - balanced-match: 1.0.2 1185 + cborg@1.10.2: {} 1800 1186 1801 - braces@3.0.3: 1187 + content-disposition@0.5.4: 1802 1188 dependencies: 1803 - fill-range: 7.1.1 1189 + safe-buffer: 5.2.1 1804 1190 1805 - buffer-from@1.1.2: {} 1191 + content-type@1.0.5: {} 1806 1192 1807 - callsites@3.1.0: {} 1193 + cookie-signature@1.0.6: {} 1808 1194 1809 - chalk@4.1.2: 1810 - dependencies: 1811 - ansi-styles: 4.3.0 1812 - supports-color: 7.2.0 1195 + cookie@0.7.1: {} 1813 1196 1814 - chokidar@3.6.0: 1815 - dependencies: 1816 - anymatch: 3.1.3 1817 - braces: 3.0.3 1818 - glob-parent: 5.1.2 1819 - is-binary-path: 2.1.0 1820 - is-glob: 4.0.3 1821 - normalize-path: 3.0.0 1822 - readdirp: 3.6.0 1823 - optionalDependencies: 1824 - fsevents: 2.3.3 1197 + create-require@1.1.1: {} 1825 1198 1826 - color-convert@2.0.1: 1199 + debug@2.6.9: 1827 1200 dependencies: 1828 - color-name: 1.1.4 1201 + ms: 2.0.0 1829 1202 1830 - color-name@1.1.4: {} 1203 + depd@2.0.0: {} 1831 1204 1832 - commander@9.5.0: {} 1205 + destroy@1.2.0: {} 1833 1206 1834 - concat-map@0.0.1: {} 1835 - 1836 - create-require@1.1.1: {} 1207 + detect-libc@2.1.2: 1208 + optional: true 1837 1209 1838 - cross-spawn@7.0.6: 1839 - dependencies: 1840 - path-key: 3.1.1 1841 - shebang-command: 2.0.0 1842 - which: 2.0.2 1210 + diff@4.0.2: {} 1843 1211 1844 - data-uri-to-buffer@4.0.1: {} 1212 + dotenv@17.2.3: {} 1845 1213 1846 - debug@4.4.3: 1214 + dunder-proto@1.0.1: 1847 1215 dependencies: 1848 - ms: 2.1.3 1849 - 1850 - deep-is@0.1.4: {} 1216 + call-bind-apply-helpers: 1.0.2 1217 + es-errors: 1.3.0 1218 + gopd: 1.2.0 1851 1219 1852 - detect-libc@2.0.2: {} 1853 - 1854 - diff@4.0.2: {} 1220 + ee-first@1.1.1: {} 1855 1221 1856 - dir-glob@3.0.1: 1857 - dependencies: 1858 - path-type: 4.0.0 1222 + encodeurl@1.0.2: {} 1859 1223 1860 - dotenv@17.2.3: {} 1224 + encodeurl@2.0.0: {} 1861 1225 1862 - drizzle-kit@0.31.5: 1863 - dependencies: 1864 - '@drizzle-team/brocli': 0.10.2 1865 - '@esbuild-kit/esm-loader': 2.6.5 1866 - esbuild: 0.25.11 1867 - esbuild-register: 3.6.0(esbuild@0.25.11) 1868 - transitivePeerDependencies: 1869 - - supports-color 1226 + es-define-property@1.0.1: {} 1870 1227 1871 - drizzle-orm@0.44.6(@libsql/client@0.15.15): 1872 - optionalDependencies: 1873 - '@libsql/client': 0.15.15 1228 + es-errors@1.3.0: {} 1874 1229 1875 - esbuild-register@3.6.0(esbuild@0.25.11): 1230 + es-object-atoms@1.1.1: 1876 1231 dependencies: 1877 - debug: 4.4.3 1878 - esbuild: 0.25.11 1879 - transitivePeerDependencies: 1880 - - supports-color 1881 - 1882 - esbuild@0.18.20: 1883 - optionalDependencies: 1884 - '@esbuild/android-arm': 0.18.20 1885 - '@esbuild/android-arm64': 0.18.20 1886 - '@esbuild/android-x64': 0.18.20 1887 - '@esbuild/darwin-arm64': 0.18.20 1888 - '@esbuild/darwin-x64': 0.18.20 1889 - '@esbuild/freebsd-arm64': 0.18.20 1890 - '@esbuild/freebsd-x64': 0.18.20 1891 - '@esbuild/linux-arm': 0.18.20 1892 - '@esbuild/linux-arm64': 0.18.20 1893 - '@esbuild/linux-ia32': 0.18.20 1894 - '@esbuild/linux-loong64': 0.18.20 1895 - '@esbuild/linux-mips64el': 0.18.20 1896 - '@esbuild/linux-ppc64': 0.18.20 1897 - '@esbuild/linux-riscv64': 0.18.20 1898 - '@esbuild/linux-s390x': 0.18.20 1899 - '@esbuild/linux-x64': 0.18.20 1900 - '@esbuild/netbsd-x64': 0.18.20 1901 - '@esbuild/openbsd-x64': 0.18.20 1902 - '@esbuild/sunos-x64': 0.18.20 1903 - '@esbuild/win32-arm64': 0.18.20 1904 - '@esbuild/win32-ia32': 0.18.20 1905 - '@esbuild/win32-x64': 0.18.20 1232 + es-errors: 1.3.0 1906 1233 1907 1234 esbuild@0.25.11: 1908 1235 optionalDependencies: ··· 1933 1260 '@esbuild/win32-ia32': 0.25.11 1934 1261 '@esbuild/win32-x64': 0.25.11 1935 1262 1936 - escape-string-regexp@4.0.0: {} 1937 - 1938 - eslint-scope@8.4.0: 1939 - dependencies: 1940 - esrecurse: 4.3.0 1941 - estraverse: 5.3.0 1942 - 1943 - eslint-visitor-keys@3.4.3: {} 1944 - 1945 - eslint-visitor-keys@4.2.1: {} 1946 - 1947 - eslint@9.37.0(jiti@2.6.1): 1948 - dependencies: 1949 - '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1)) 1950 - '@eslint-community/regexpp': 4.12.1 1951 - '@eslint/config-array': 0.21.0 1952 - '@eslint/config-helpers': 0.4.0 1953 - '@eslint/core': 0.16.0 1954 - '@eslint/eslintrc': 3.3.1 1955 - '@eslint/js': 9.37.0 1956 - '@eslint/plugin-kit': 0.4.0 1957 - '@humanfs/node': 0.16.7 1958 - '@humanwhocodes/module-importer': 1.0.1 1959 - '@humanwhocodes/retry': 0.4.3 1960 - '@types/estree': 1.0.8 1961 - '@types/json-schema': 7.0.15 1962 - ajv: 6.12.6 1963 - chalk: 4.1.2 1964 - cross-spawn: 7.0.6 1965 - debug: 4.4.3 1966 - escape-string-regexp: 4.0.0 1967 - eslint-scope: 8.4.0 1968 - eslint-visitor-keys: 4.2.1 1969 - espree: 10.4.0 1970 - esquery: 1.6.0 1971 - esutils: 2.0.3 1972 - fast-deep-equal: 3.1.3 1973 - file-entry-cache: 8.0.0 1974 - find-up: 5.0.0 1975 - glob-parent: 6.0.2 1976 - ignore: 5.3.2 1977 - imurmurhash: 0.1.4 1978 - is-glob: 4.0.3 1979 - json-stable-stringify-without-jsonify: 1.0.1 1980 - lodash.merge: 4.6.2 1981 - minimatch: 3.1.2 1982 - natural-compare: 1.4.0 1983 - optionator: 0.9.4 1984 - optionalDependencies: 1985 - jiti: 2.6.1 1263 + escape-html@1.0.3: {} 1264 + 1265 + esm-env@1.2.2: {} 1266 + 1267 + etag@1.8.1: {} 1268 + 1269 + event-target-shim@5.0.1: {} 1270 + 1271 + events@3.3.0: {} 1272 + 1273 + express@4.21.2: 1274 + dependencies: 1275 + accepts: 1.3.8 1276 + array-flatten: 1.1.1 1277 + body-parser: 1.20.3 1278 + content-disposition: 0.5.4 1279 + content-type: 1.0.5 1280 + cookie: 0.7.1 1281 + cookie-signature: 1.0.6 1282 + debug: 2.6.9 1283 + depd: 2.0.0 1284 + encodeurl: 2.0.0 1285 + escape-html: 1.0.3 1286 + etag: 1.8.1 1287 + finalhandler: 1.3.1 1288 + fresh: 0.5.2 1289 + http-errors: 2.0.0 1290 + merge-descriptors: 1.0.3 1291 + methods: 1.1.2 1292 + on-finished: 2.4.1 1293 + parseurl: 1.3.3 1294 + path-to-regexp: 0.1.12 1295 + proxy-addr: 2.0.7 1296 + qs: 6.13.0 1297 + range-parser: 1.2.1 1298 + safe-buffer: 5.2.1 1299 + send: 0.19.0 1300 + serve-static: 1.16.2 1301 + setprototypeof: 1.2.0 1302 + statuses: 2.0.1 1303 + type-is: 1.6.18 1304 + utils-merge: 1.0.1 1305 + vary: 1.1.2 1986 1306 transitivePeerDependencies: 1987 1307 - supports-color 1988 1308 1989 - espree@10.4.0: 1990 - dependencies: 1991 - acorn: 8.15.0 1992 - acorn-jsx: 5.3.2(acorn@8.15.0) 1993 - eslint-visitor-keys: 4.2.1 1309 + fast-redact@3.5.0: {} 1994 1310 1995 - esquery@1.6.0: 1311 + finalhandler@1.3.1: 1996 1312 dependencies: 1997 - estraverse: 5.3.0 1313 + debug: 2.6.9 1314 + encodeurl: 2.0.0 1315 + escape-html: 1.0.3 1316 + on-finished: 2.4.1 1317 + parseurl: 1.3.3 1318 + statuses: 2.0.1 1319 + unpipe: 1.0.0 1320 + transitivePeerDependencies: 1321 + - supports-color 1998 1322 1999 - esrecurse@4.3.0: 2000 - dependencies: 2001 - estraverse: 5.3.0 1323 + forwarded@0.2.0: {} 2002 1324 2003 - estraverse@5.3.0: {} 1325 + fresh@0.5.2: {} 2004 1326 2005 - esutils@2.0.3: {} 1327 + fsevents@2.3.3: 1328 + optional: true 2006 1329 2007 - fast-deep-equal@3.1.3: {} 1330 + function-bind@1.1.2: {} 2008 1331 2009 - fast-glob@3.3.3: 1332 + get-intrinsic@1.3.0: 2010 1333 dependencies: 2011 - '@nodelib/fs.stat': 2.0.5 2012 - '@nodelib/fs.walk': 1.2.8 2013 - glob-parent: 5.1.2 2014 - merge2: 1.4.1 2015 - micromatch: 4.0.8 1334 + call-bind-apply-helpers: 1.0.2 1335 + es-define-property: 1.0.1 1336 + es-errors: 1.3.0 1337 + es-object-atoms: 1.1.1 1338 + function-bind: 1.1.2 1339 + get-proto: 1.0.1 1340 + gopd: 1.2.0 1341 + has-symbols: 1.1.0 1342 + hasown: 2.0.2 1343 + math-intrinsics: 1.1.0 2016 1344 2017 - fast-json-stable-stringify@2.1.0: {} 2018 - 2019 - fast-levenshtein@2.0.6: {} 2020 - 2021 - fastq@1.19.1: 1345 + get-proto@1.0.1: 2022 1346 dependencies: 2023 - reusify: 1.1.0 1347 + dunder-proto: 1.0.1 1348 + es-object-atoms: 1.1.1 2024 1349 2025 - fetch-blob@3.2.0: 1350 + get-tsconfig@4.13.0: 2026 1351 dependencies: 2027 - node-domexception: 1.0.0 2028 - web-streams-polyfill: 3.3.3 1352 + resolve-pkg-maps: 1.0.0 2029 1353 2030 - file-entry-cache@8.0.0: 2031 - dependencies: 2032 - flat-cache: 4.0.1 1354 + gopd@1.2.0: {} 2033 1355 2034 - fill-range@7.1.1: 2035 - dependencies: 2036 - to-regex-range: 5.0.1 1356 + graphemer@1.4.0: {} 2037 1357 2038 - find-up@5.0.0: 2039 - dependencies: 2040 - locate-path: 6.0.0 2041 - path-exists: 4.0.0 1358 + has-symbols@1.1.0: {} 2042 1359 2043 - flat-cache@4.0.1: 1360 + hasown@2.0.2: 2044 1361 dependencies: 2045 - flatted: 3.3.3 2046 - keyv: 4.5.4 2047 - 2048 - flatted@3.3.3: {} 1362 + function-bind: 1.1.2 2049 1363 2050 - formdata-polyfill@4.0.10: 1364 + http-errors@2.0.0: 2051 1365 dependencies: 2052 - fetch-blob: 3.2.0 1366 + depd: 2.0.0 1367 + inherits: 2.0.4 1368 + setprototypeof: 1.2.0 1369 + statuses: 2.0.1 1370 + toidentifier: 1.0.1 2053 1371 2054 - fsevents@2.3.3: 2055 - optional: true 2056 - 2057 - get-tsconfig@4.12.0: 1372 + iconv-lite@0.4.24: 2058 1373 dependencies: 2059 - resolve-pkg-maps: 1.0.0 1374 + safer-buffer: 2.1.2 2060 1375 2061 - glob-parent@5.1.2: 2062 - dependencies: 2063 - is-glob: 4.0.3 1376 + ieee754@1.2.1: {} 2064 1377 2065 - glob-parent@6.0.2: 2066 - dependencies: 2067 - is-glob: 4.0.3 1378 + inherits@2.0.4: {} 2068 1379 2069 - globals@14.0.0: {} 1380 + ipaddr.js@1.9.1: {} 2070 1381 2071 - globals@16.4.0: {} 1382 + iso-datestring-validator@2.2.2: {} 2072 1383 2073 - globby@11.1.0: 2074 - dependencies: 2075 - array-union: 2.1.0 2076 - dir-glob: 3.0.1 2077 - fast-glob: 3.3.3 2078 - ignore: 5.3.2 2079 - merge2: 1.4.1 2080 - slash: 3.0.0 1384 + kysely@0.28.8: {} 2081 1385 2082 - graphemer@1.4.0: {} 1386 + make-error@1.3.6: {} 2083 1387 2084 - has-flag@4.0.0: {} 1388 + math-intrinsics@1.1.0: {} 2085 1389 2086 - ignore@5.3.2: {} 1390 + media-typer@0.3.0: {} 2087 1391 2088 - ignore@7.0.5: {} 1392 + merge-descriptors@1.0.3: {} 2089 1393 2090 - import-fresh@3.3.1: 2091 - dependencies: 2092 - parent-module: 1.0.1 2093 - resolve-from: 4.0.0 1394 + methods@1.1.2: {} 2094 1395 2095 - imurmurhash@0.1.4: {} 1396 + mime-db@1.52.0: {} 2096 1397 2097 - is-binary-path@2.1.0: 1398 + mime-types@2.1.35: 2098 1399 dependencies: 2099 - binary-extensions: 2.3.0 1400 + mime-db: 1.52.0 2100 1401 2101 - is-extglob@2.1.1: {} 1402 + mime@1.6.0: {} 2102 1403 2103 - is-glob@4.0.3: 2104 - dependencies: 2105 - is-extglob: 2.1.1 1404 + ms@2.0.0: {} 2106 1405 2107 - is-number@7.0.0: {} 1406 + ms@2.1.3: {} 2108 1407 2109 - isexe@2.0.0: {} 1408 + multiformats@9.9.0: {} 2110 1409 2111 - jiti@2.6.1: {} 1410 + nanoevents@9.1.0: {} 2112 1411 2113 - js-base64@3.7.8: {} 1412 + negotiator@0.6.3: {} 2114 1413 2115 - js-yaml@4.1.0: 1414 + node-gyp-build-optional-packages@5.1.1: 2116 1415 dependencies: 2117 - argparse: 2.0.1 2118 - 2119 - json-buffer@3.0.1: {} 2120 - 2121 - json-schema-traverse@0.4.1: {} 1416 + detect-libc: 2.1.2 1417 + optional: true 2122 1418 2123 - json-stable-stringify-without-jsonify@1.0.1: {} 1419 + object-inspect@1.13.4: {} 2124 1420 2125 - json5@2.2.3: {} 1421 + on-exit-leak-free@2.1.2: {} 2126 1422 2127 - keyv@4.5.4: 1423 + on-finished@2.4.1: 2128 1424 dependencies: 2129 - json-buffer: 3.0.1 1425 + ee-first: 1.1.1 2130 1426 2131 - levn@0.4.1: 2132 - dependencies: 2133 - prelude-ls: 1.2.1 2134 - type-check: 0.4.0 1427 + parseurl@1.3.3: {} 2135 1428 2136 - libsql@0.5.22: 2137 - dependencies: 2138 - '@neon-rs/load': 0.0.4 2139 - detect-libc: 2.0.2 2140 - optionalDependencies: 2141 - '@libsql/darwin-arm64': 0.5.22 2142 - '@libsql/darwin-x64': 0.5.22 2143 - '@libsql/linux-arm-gnueabihf': 0.5.22 2144 - '@libsql/linux-arm-musleabihf': 0.5.22 2145 - '@libsql/linux-arm64-gnu': 0.5.22 2146 - '@libsql/linux-arm64-musl': 0.5.22 2147 - '@libsql/linux-x64-gnu': 0.5.22 2148 - '@libsql/linux-x64-musl': 0.5.22 2149 - '@libsql/win32-x64-msvc': 0.5.22 1429 + path-to-regexp@0.1.12: {} 2150 1430 2151 - locate-path@6.0.0: 2152 - dependencies: 2153 - p-locate: 5.0.0 1431 + pg-cloudflare@1.2.7: 1432 + optional: true 2154 1433 2155 - lodash.merge@4.6.2: {} 1434 + pg-connection-string@2.9.1: {} 2156 1435 2157 - make-error@1.3.6: {} 1436 + pg-int8@1.0.1: {} 1437 + 1438 + pg-pool@3.10.1(pg@8.16.3): 1439 + dependencies: 1440 + pg: 8.16.3 2158 1441 2159 - merge2@1.4.1: {} 1442 + pg-protocol@1.10.3: {} 2160 1443 2161 - micromatch@4.0.8: 1444 + pg-types@2.2.0: 2162 1445 dependencies: 2163 - braces: 3.0.3 2164 - picomatch: 2.3.1 1446 + pg-int8: 1.0.1 1447 + postgres-array: 2.0.0 1448 + postgres-bytea: 1.0.0 1449 + postgres-date: 1.0.7 1450 + postgres-interval: 1.2.0 2165 1451 2166 - minimatch@3.1.2: 1452 + pg@8.16.3: 2167 1453 dependencies: 2168 - brace-expansion: 1.1.12 1454 + pg-connection-string: 2.9.1 1455 + pg-pool: 3.10.1(pg@8.16.3) 1456 + pg-protocol: 1.10.3 1457 + pg-types: 2.2.0 1458 + pgpass: 1.0.5 1459 + optionalDependencies: 1460 + pg-cloudflare: 1.2.7 2169 1461 2170 - minimatch@9.0.5: 1462 + pgpass@1.0.5: 2171 1463 dependencies: 2172 - brace-expansion: 2.0.2 1464 + split2: 4.2.0 2173 1465 2174 - minimist@1.2.8: {} 1466 + pino-abstract-transport@1.2.0: 1467 + dependencies: 1468 + readable-stream: 4.7.0 1469 + split2: 4.2.0 2175 1470 2176 - ms@2.1.3: {} 1471 + pino-std-serializers@6.2.2: {} 2177 1472 2178 - mylas@2.1.13: {} 1473 + pino@8.21.0: 1474 + dependencies: 1475 + atomic-sleep: 1.0.0 1476 + fast-redact: 3.5.0 1477 + on-exit-leak-free: 2.1.2 1478 + pino-abstract-transport: 1.2.0 1479 + pino-std-serializers: 6.2.2 1480 + process-warning: 3.0.0 1481 + quick-format-unescaped: 4.0.4 1482 + real-require: 0.2.0 1483 + safe-stable-stringify: 2.5.0 1484 + sonic-boom: 3.8.1 1485 + thread-stream: 2.7.0 2179 1486 2180 - nanoevents@9.1.0: {} 1487 + postgres-array@2.0.0: {} 2181 1488 2182 - natural-compare@1.4.0: {} 1489 + postgres-bytea@1.0.0: {} 2183 1490 2184 - node-domexception@1.0.0: {} 1491 + postgres-date@1.0.7: {} 2185 1492 2186 - node-fetch@3.3.2: 1493 + postgres-interval@1.2.0: 2187 1494 dependencies: 2188 - data-uri-to-buffer: 4.0.1 2189 - fetch-blob: 3.2.0 2190 - formdata-polyfill: 4.0.10 2191 - 2192 - normalize-path@3.0.0: {} 1495 + xtend: 4.0.2 2193 1496 2194 - optionator@0.9.4: 2195 - dependencies: 2196 - deep-is: 0.1.4 2197 - fast-levenshtein: 2.0.6 2198 - levn: 0.4.1 2199 - prelude-ls: 1.2.1 2200 - type-check: 0.4.0 2201 - word-wrap: 1.2.5 1497 + process-warning@3.0.0: {} 2202 1498 2203 - p-limit@3.1.0: 2204 - dependencies: 2205 - yocto-queue: 0.1.0 1499 + process@0.11.10: {} 2206 1500 2207 - p-locate@5.0.0: 1501 + proxy-addr@2.0.7: 2208 1502 dependencies: 2209 - p-limit: 3.1.0 1503 + forwarded: 0.2.0 1504 + ipaddr.js: 1.9.1 2210 1505 2211 - parent-module@1.0.1: 1506 + qs@6.13.0: 2212 1507 dependencies: 2213 - callsites: 3.1.0 1508 + side-channel: 1.1.0 2214 1509 2215 - path-exists@4.0.0: {} 1510 + quick-format-unescaped@4.0.4: {} 2216 1511 2217 - path-key@3.1.1: {} 1512 + range-parser@1.2.1: {} 2218 1513 2219 - path-type@4.0.0: {} 1514 + rate-limiter-flexible@2.4.2: {} 2220 1515 2221 - picomatch@2.3.1: {} 2222 - 2223 - plimit-lit@1.6.1: 1516 + raw-body@2.5.2: 2224 1517 dependencies: 2225 - queue-lit: 1.5.2 1518 + bytes: 3.1.2 1519 + http-errors: 2.0.0 1520 + iconv-lite: 0.4.24 1521 + unpipe: 1.0.0 2226 1522 2227 - prelude-ls@1.2.1: {} 1523 + readable-stream@4.7.0: 1524 + dependencies: 1525 + abort-controller: 3.0.0 1526 + buffer: 6.0.3 1527 + events: 3.3.0 1528 + process: 0.11.10 1529 + string_decoder: 1.3.0 2228 1530 2229 - prettier@3.6.2: {} 1531 + real-require@0.2.0: {} 2230 1532 2231 - promise-limit@2.7.0: {} 1533 + resolve-pkg-maps@1.0.0: {} 2232 1534 2233 - punycode@2.3.1: {} 1535 + safe-buffer@5.2.1: {} 2234 1536 2235 - queue-lit@1.5.2: {} 1537 + safe-stable-stringify@2.5.0: {} 2236 1538 2237 - queue-microtask@1.2.3: {} 1539 + safer-buffer@2.1.2: {} 2238 1540 2239 - readdirp@3.6.0: 1541 + send@0.19.0: 2240 1542 dependencies: 2241 - picomatch: 2.3.1 2242 - 2243 - resolve-from@4.0.0: {} 2244 - 2245 - resolve-pkg-maps@1.0.0: {} 2246 - 2247 - reusify@1.1.0: {} 1543 + debug: 2.6.9 1544 + depd: 2.0.0 1545 + destroy: 1.2.0 1546 + encodeurl: 1.0.2 1547 + escape-html: 1.0.3 1548 + etag: 1.8.1 1549 + fresh: 0.5.2 1550 + http-errors: 2.0.0 1551 + mime: 1.6.0 1552 + ms: 2.1.3 1553 + on-finished: 2.4.1 1554 + range-parser: 1.2.1 1555 + statuses: 2.0.1 1556 + transitivePeerDependencies: 1557 + - supports-color 2248 1558 2249 - run-parallel@1.2.0: 1559 + serve-static@1.16.2: 2250 1560 dependencies: 2251 - queue-microtask: 1.2.3 1561 + encodeurl: 2.0.0 1562 + escape-html: 1.0.3 1563 + parseurl: 1.3.3 1564 + send: 0.19.0 1565 + transitivePeerDependencies: 1566 + - supports-color 2252 1567 2253 - semver@7.7.3: {} 1568 + setprototypeof@1.2.0: {} 2254 1569 2255 - shebang-command@2.0.0: 1570 + side-channel-list@1.0.0: 2256 1571 dependencies: 2257 - shebang-regex: 3.0.0 1572 + es-errors: 1.3.0 1573 + object-inspect: 1.13.4 2258 1574 2259 - shebang-regex@3.0.0: {} 1575 + side-channel-map@1.0.1: 1576 + dependencies: 1577 + call-bound: 1.0.4 1578 + es-errors: 1.3.0 1579 + get-intrinsic: 1.3.0 1580 + object-inspect: 1.13.4 2260 1581 2261 - slash@3.0.0: {} 1582 + side-channel-weakmap@1.0.2: 1583 + dependencies: 1584 + call-bound: 1.0.4 1585 + es-errors: 1.3.0 1586 + get-intrinsic: 1.3.0 1587 + object-inspect: 1.13.4 1588 + side-channel-map: 1.0.1 2262 1589 2263 - source-map-support@0.5.21: 1590 + side-channel@1.1.0: 2264 1591 dependencies: 2265 - buffer-from: 1.1.2 2266 - source-map: 0.6.1 1592 + es-errors: 1.3.0 1593 + object-inspect: 1.13.4 1594 + side-channel-list: 1.0.0 1595 + side-channel-map: 1.0.1 1596 + side-channel-weakmap: 1.0.2 2267 1597 2268 - source-map@0.6.1: {} 1598 + sonic-boom@3.8.1: 1599 + dependencies: 1600 + atomic-sleep: 1.0.0 2269 1601 2270 - strip-bom@3.0.0: {} 1602 + split2@4.2.0: {} 2271 1603 2272 - strip-json-comments@3.1.1: {} 1604 + statuses@2.0.1: {} 2273 1605 2274 - supports-color@7.2.0: 1606 + string_decoder@1.3.0: 2275 1607 dependencies: 2276 - has-flag: 4.0.0 1608 + safe-buffer: 5.2.1 2277 1609 2278 - to-regex-range@5.0.1: 1610 + thread-stream@2.7.0: 2279 1611 dependencies: 2280 - is-number: 7.0.0 1612 + real-require: 0.2.0 2281 1613 2282 - ts-api-utils@2.1.0(typescript@5.9.3): 2283 - dependencies: 2284 - typescript: 5.9.3 1614 + toidentifier@1.0.1: {} 2285 1615 2286 - ts-node@10.9.2(@types/node@24.7.1)(typescript@5.9.3): 1616 + ts-node@10.9.2(@types/node@24.9.2)(typescript@5.9.3): 2287 1617 dependencies: 2288 1618 '@cspotcode/source-map-support': 0.8.1 2289 1619 '@tsconfig/node10': 1.0.11 2290 1620 '@tsconfig/node12': 1.0.11 2291 1621 '@tsconfig/node14': 1.0.3 2292 1622 '@tsconfig/node16': 1.0.4 2293 - '@types/node': 24.7.1 1623 + '@types/node': 24.9.2 2294 1624 acorn: 8.15.0 2295 1625 acorn-walk: 8.3.4 2296 1626 arg: 4.1.3 ··· 2301 1631 v8-compile-cache-lib: 3.0.1 2302 1632 yn: 3.1.1 2303 1633 2304 - tsc-alias@1.8.16: 1634 + tsx@4.20.6: 2305 1635 dependencies: 2306 - chokidar: 3.6.0 2307 - commander: 9.5.0 2308 - get-tsconfig: 4.12.0 2309 - globby: 11.1.0 2310 - mylas: 2.1.13 2311 - normalize-path: 3.0.0 2312 - plimit-lit: 1.6.1 1636 + esbuild: 0.25.11 1637 + get-tsconfig: 4.13.0 1638 + optionalDependencies: 1639 + fsevents: 2.3.3 2313 1640 2314 - tsconfig-paths@4.2.0: 1641 + type-is@1.6.18: 2315 1642 dependencies: 2316 - json5: 2.2.3 2317 - minimist: 1.2.8 2318 - strip-bom: 3.0.0 1643 + media-typer: 0.3.0 1644 + mime-types: 2.1.35 2319 1645 2320 - type-check@0.4.0: 2321 - dependencies: 2322 - prelude-ls: 1.2.1 1646 + typescript@5.9.3: {} 2323 1647 2324 - typescript-eslint@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3): 1648 + uint8arrays@3.0.0: 2325 1649 dependencies: 2326 - '@typescript-eslint/eslint-plugin': 8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) 2327 - '@typescript-eslint/parser': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) 2328 - '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3) 2329 - '@typescript-eslint/utils': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) 2330 - eslint: 9.37.0(jiti@2.6.1) 2331 - typescript: 5.9.3 2332 - transitivePeerDependencies: 2333 - - supports-color 1650 + multiformats: 9.9.0 2334 1651 2335 - typescript@5.9.3: {} 1652 + undici-types@7.16.0: {} 2336 1653 2337 - undici-types@7.14.0: {} 1654 + unpipe@1.0.0: {} 2338 1655 2339 - uri-js@4.4.1: 2340 - dependencies: 2341 - punycode: 2.3.1 1656 + utils-merge@1.0.1: {} 2342 1657 2343 1658 v8-compile-cache-lib@3.0.1: {} 2344 1659 2345 - web-streams-polyfill@3.3.3: {} 2346 - 2347 - which@2.0.2: 2348 - dependencies: 2349 - isexe: 2.0.0 2350 - 2351 - word-wrap@1.2.5: {} 1660 + vary@1.1.2: {} 2352 1661 2353 1662 ws@8.18.3: {} 2354 1663 2355 - yn@3.1.1: {} 1664 + xtend@4.0.2: {} 2356 1665 2357 - yocto-queue@0.1.0: {} 1666 + yn@3.1.1: {} 2358 1667 2359 1668 yocto-queue@1.2.1: {} 2360 1669 2361 - zod@4.1.12: {} 1670 + zod@3.25.76: {}
+27
src/db.ts
··· 1 + import { Kysely, PostgresDialect } from 'kysely' 2 + import { Pool } from 'pg' 3 + import dotenv from 'dotenv' 4 + 5 + dotenv.config() 6 + 7 + type JsonValue = string | number | boolean | null | { [key: string]: JsonValue } | JsonValue[] 8 + 9 + interface FirehoseEventTable { 10 + timestamp: Date 11 + event_type: 'commit' | 'identity' | 'account' 12 + event_data: JsonValue 13 + } 14 + 15 + interface Database { 16 + firehose_event: FirehoseEventTable 17 + } 18 + 19 + const dialect = new PostgresDialect({ 20 + pool: new Pool({ 21 + connectionString: process.env.DATABASE_URL, 22 + }), 23 + }) 24 + 25 + export const db = new Kysely<Database>({ 26 + dialect, 27 + })
+85
src/firehose.ts
··· 1 + import { Firehose, CommitEvent, AccountEvent, IdentityEvent } from "@skyware/firehose"; 2 + import WebSocket from "ws"; 3 + import { db } from "./db"; 4 + import { Insertable } from "kysely"; 5 + import { FirehoseEventTable } from "./db"; 6 + 7 + const pretty_print = (event_type: string, data: object) => { 8 +     const colors = { 9 +         commit: "\x1b[34m", 10 +         identity: "\x1b[32m", 11 +         account: "\x1b[33m", 12 +         reset: "\x1b[0m", 13 +     }; 14 +     const color = colors[event_type.toLowerCase()] || colors.reset; 15 +     console.debug(`\n${color}## RECEIVED [${event_type.toUpperCase()}] EVENT ##${colors.reset}`); 16 +     console.debug(JSON.stringify( 17 +         data, 18 +         (key, value) => typeof value === 'bigint' ? value.toString() : value, 19 +         2 20 +     )); 21 + }; 22 + 23 + const saveEvent = async (type: 'commit' | 'identity' | 'account', data: any) => { 24 + try { 25 + await db.insertInto('firehose_event').values({ 26 + event_type: type, 27 + event_data: data 28 + }).execute(); 29 + } catch (error) { 30 + console.error("\nFailed to save event to database:", error); 31 + } 32 + }; 33 + 34 + const main = () => { 35 +     console.log("Starting Firehose listener..."); 36 + 37 +     const firehose = new Firehose({ 38 +         ws: WebSocket, 39 +     }); 40 + 41 +     firehose.on("commit", (commit: CommitEvent) => { 42 + saveEvent('commit', commit); 43 +         const createOps = commit.ops.filter(op => op.action === 'create'); 44 + 45 +         for (const op of createOps) { 46 +             const recordType = op.record['$type']; 47 + 48 +             if (recordType && (recordType.startsWith('com.atproto.') || recordType.startsWith('systems.gmstn.'))) { 49 +                 pretty_print(`COMMIT - ${recordType}`, { 50 +                     repo: commit.repo, 51 +                     path: op.path, 52 +                     record: op.record 53 +                 }); 54 +             } 55 +         } 56 +     }); 57 + 58 +     firehose.on("identity", (identity: IdentityEvent) => { 59 + saveEvent('identity', identity); 60 +         pretty_print("IDENTITY", identity); 61 +     }); 62 + 63 +     firehose.on("account", (account: AccountEvent) => { 64 + saveEvent('account', account); 65 +         pretty_print("ACCOUNT", account); 66 +     }); 67 + 68 +     firehose.on("open", () => { 69 +         console.log("\nConnection opened"); 70 +     }); 71 + 72 +     firehose.on("close", (cursor) => { 73 +         console.log(`\nConnection closed. Last cursor was: ${cursor}`); 74 +     }); 75 + 76 +     firehose.on("error", ({ error, cursor }) => { 77 +         console.error(`\nAn error occurred at cursor ${cursor}:`, error); 78 +     }); 79 +      80 +     firehose.start(); 81 + 82 +     console.log("Listeners attached. Waiting for events..."); 83 + }; 84 + 85 + main();
+21 -4
src/index.ts
··· 1 - const main = () => { 2 - console.log("Hello!!"); 3 - }; 1 + import { fork } from 'child_process'; 2 + import path from 'path'; 4 3 5 - main(); 4 + console.log('Main app starting...'); 5 + 6 + const firehosePath = path.resolve(__dirname, 'firehose.ts'); 7 + const firehoseProcess = fork(firehosePath); 8 + 9 + console.log(`Firehose process started with PID: ${firehoseProcess.pid}`); 10 + 11 + firehoseProcess.on('exit', (code) => { 12 + console.error(`Firehose process exited with code: ${code}`); 13 + }); 14 + 15 + const serverPath = path.resolve(__dirname, 'server.ts'); 16 + const serverProcess = fork(serverPath); 17 + 18 + console.log(`XRPC Server process started with PID: ${serverProcess.pid}`); 19 + 20 + serverProcess.on('exit', (code) => { 21 + console.error(`XRPC Server process exited with code: ${code}`); 22 + });
+60
src/scripts/migrate.ts
··· 1 + import * as path from 'path' 2 + import { promises as fs } from 'fs' 3 + import { Migrator, FileMigrationProvider } from 'kysely' 4 + import { db } from '../db' 5 + 6 + async function migrate(direction: 'up' | 'down' | 'latest') { 7 + const migrator = new Migrator({ 8 + db, 9 + provider: new FileMigrationProvider({ 10 + fs, 11 + path, 12 + migrationFolder: path.join(__dirname, '../../migrations'), 13 + }), 14 + }) 15 + 16 + console.log(`Running migration: ${direction}`); 17 + 18 + if (direction === 'down') { 19 + const { error, results } = await migrator.migrateDown() 20 + results?.forEach((it) => { 21 + if (it.status === 'Success') { 22 + console.log(`migration "${it.migrationName}" was reverted successfully`) 23 + } else if (it.status === 'Error') { 24 + console.error(`failed to revert migration "${it.migrationName}"`) 25 + } 26 + }) 27 + if (error) { 28 + console.error('failed to migrate') 29 + console.error(error) 30 + process.exit(1) 31 + } 32 + } 33 + 34 + if (direction === 'up' || direction === 'latest') { 35 + const { error, results } = await migrator.migrateToLatest() 36 + results?.forEach((it) => { 37 + if (it.status === 'Success') { 38 + console.log(`migration "${it.migrationName}" was executed successfully`) 39 + } else if (it.status === 'Error') { 40 + console.error(`failed to execute migration "${it.migrationName}"`) 41 + } 42 + }) 43 + if (error) { 44 + console.error('failed to migrate') 45 + console.error(error) 46 + process.exit(1) 47 + } 48 + } 49 + 50 + await db.destroy() 51 + } 52 + 53 + const direction = process.argv[2] as 'up' | 'down' | 'latest' | undefined; 54 + 55 + if (!direction || !['up', 'down', 'latest'].includes(direction)) { 56 + console.error('Please provide a migration direction: up, down, or latest'); 57 + process.exit(1); 58 + } 59 + 60 + migrate(direction);
+105
src/server.ts
··· 1 + import * as xrpc from '@atproto/xrpc-server'; 2 + import { db } from './db'; 3 + import { sql } from 'kysely'; 4 + import express from 'express'; 5 + import fs from 'fs'; 6 + import path from 'path'; 7 + 8 + interface StrongRef { 9 + $type: 'com.atproto.repo.strongRef'; 10 + uri: string; 11 + cid: string; 12 + } 13 + 14 + interface InviteRecord { 15 + $type: 'systems.gmstn.development.channel.invite'; 16 + recipient: string; 17 + channel: StrongRef; 18 + createdAt: string; 19 + } 20 + 21 + const listInvitesLexicon = JSON.parse( 22 + fs.readFileSync(path.join(__dirname, '../lexicons/systems/gmstn/development/channel/listInvites.json'), 'utf8') 23 + ); 24 + 25 + const server = xrpc.createServer([ 26 + listInvitesLexicon, 27 + ]); 28 + 29 + async function listInvitesHandler(ctx: { 30 + params: xrpc.Params; 31 + auth: xrpc.HandlerAuth; 32 + }) { 33 + try { 34 + const { limit = 50, cursor } = ctx.params; 35 + const querierDid = ctx.auth.credentials.did; 36 + 37 + if (!querierDid) { 38 + throw new xrpc.AuthRequiredError(); 39 + } 40 + 41 + // TODO: have a separate job that combs through the firehose events and turns the invites into a nice normalized table instead of stream log style. 42 + let query = db 43 + .selectFrom('firehose_event') 44 + .selectAll() 45 + .where('event_type', '=', 'commit') 46 + .where( 47 + sql`jsonb_path_exists(event_data, '$.ops[*] ? (@.action == "create" && @.record."$type" == "systems.gmstn.development.channel.invite" && @.record.recipient == $recipientDid)', jsonb_build_object('recipientDid', ${querierDid}))` 48 + ) 49 + .orderBy('timestamp', 'desc') 50 + .limit(limit); 51 + 52 + const results = await query.execute(); 53 + 54 + const invites = results.flatMap(row => { 55 + const commit = row.event_data as any; 56 + 57 + const inviteOp = commit.ops.find(op => 58 + op.action === 'create' && 59 + op.record.$type === 'systems.gmstn.development.channel.invite' && 60 + op.record.recipient === querierDid 61 + ); 62 + 63 + if (!inviteOp) return []; 64 + 65 + const record = inviteOp.record as InviteRecord; 66 + const atUri = `at://${commit.repo}/${inviteOp.path}`; 67 + 68 + return { 69 + uri: atUri, 70 + cid: inviteOp.cid, 71 + author: commit.repo, 72 + channel: { 73 + uri: record.channel.uri, 74 + cid: record.channel.cid, 75 + }, 76 + createdAt: record.createdAt, 77 + }; 78 + }); 79 + 80 + const lastResultId = results.at(-1)?.timestamp; 81 + const nextCursor = lastResultId ? lastResultId.toString() : undefined; 82 + 83 + return { 84 + encoding: 'application/json', 85 + body: { 86 + invites, 87 + cursor: nextCursor, 88 + }, 89 + }; 90 + 91 + } catch (error) { 92 + console.error('Internal server error in listInvitesHandler:'); 93 + console.error(error); 94 + throw error; 95 + } 96 + } 97 + 98 + server.method('systems.gmstn.development.channel.listInvites', listInvitesHandler); 99 + 100 + const app = express(); 101 + app.use(server.router); 102 + 103 + app.listen(3000, () => { 104 + console.log('XRPC server running on http://localhost:3000'); 105 + });