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
···
/dist
.env
*.tsbuildinfo
+
+
pgdata_podman
+
postgres.log
+55
lexicons/systems/gmstn/development/channel/listInvites.json
···
+
{
+
"lexicon": 1,
+
"id": "systems.gmstn.development.channel.listInvites",
+
"description": "Lists all channel invites for the authenticated user.",
+
"defs": {
+
"main": {
+
"type": "query",
+
"parameters": {
+
"type": "params",
+
"properties": {
+
"limit": {
+
"type": "integer",
+
"minimum": 1,
+
"maximum": 100,
+
"default": 50
+
},
+
"cursor": {
+
"type": "string"
+
}
+
}
+
},
+
"output": {
+
"encoding": "application/json",
+
"schema": {
+
"type": "object",
+
"required": ["invites"],
+
"properties": {
+
"cursor": { "type": "string" },
+
"invites": {
+
"type": "array",
+
"items": {
+
"type": "object",
+
"required": ["uri", "cid", "author", "channel", "createdAt"],
+
"properties": {
+
"uri": { "type": "string" },
+
"cid": { "type": "string" },
+
"author": { "type": "string", "format": "did" },
+
"channel": {
+
"type": "object",
+
"required": ["uri", "cid"],
+
"properties": {
+
"uri": { "type": "string", "format": "at-uri" },
+
"cid": { "type": "string" }
+
}
+
},
+
"createdAt": { "type": "string", "format": "datetime" }
+
}
+
}
+
}
+
}
+
}
+
}
+
}
+
}
+
}
+16
migrations/20251029194100_create_firehose_event_table.ts
···
+
import { Kysely, sql } from 'kysely'
+
+
export async function up(db: Kysely<any>): Promise<void> {
+
await db.schema
+
.createTable('firehose_event')
+
.addColumn('timestamp', 'timestamptz', (col) =>
+
col.notNull().defaultTo(sql`now()`)
+
)
+
.addColumn('event_type', 'text', (col) => col.notNull())
+
.addColumn('event_data', 'jsonb', (col) => col.notNull())
+
.execute()
+
}
+
+
export async function down(db: Kysely<any>): Promise<void> {
+
await db.schema.dropTable('firehose_event').execute()
+
}
+31 -35
package.json
···
{
-
"name": "dawn-persona",
-
"version": "0.0.1",
-
"description": "persaon lettabot",
-
"main": "index.js",
-
"scripts": {
-
"test": "echo \"Error: no test specified\" && exit 1",
-
"dev": "tsc && tsc-alias && node dist/index.js",
-
"db:generate": "drizzle-kit generate",
-
"db:migrate": "drizzle-kit migrate"
-
},
-
"keywords": [],
-
"author": "",
-
"license": "ISC",
-
"packageManager": "pnpm@10.18.0",
-
"devDependencies": {
-
"@eslint/js": "^9.37.0",
-
"@types/node": "^24.7.1",
-
"drizzle-kit": "^0.31.5",
-
"eslint": "^9.37.0",
-
"globals": "^16.4.0",
-
"jiti": "^2.6.1",
-
"prettier": "^3.6.2",
-
"ts-node": "^10.9.2",
-
"tsc-alias": "^1.8.16",
-
"tsconfig-paths": "^4.2.0",
-
"typescript": "^5.9.3",
-
"typescript-eslint": "^8.46.0"
-
},
-
"dependencies": {
-
"@libsql/client": "^0.15.15",
-
"@skyware/firehose": "^0.5.2",
-
"dotenv": "^17.2.3",
-
"drizzle-orm": "^0.44.6",
-
"zod": "^4.1.12"
-
}
+
"name": "prism",
+
"version": "1.0.0",
+
"description": "",
+
"main": "index.js",
+
"scripts": {
+
"test": "echo \"Error: no test specified\" && exit 1",
+
"dev": "tsx src/index.ts",
+
"lint": "eslint src/",
+
"db:migrate": "npx ts-node src/scripts/migrate.ts latest",
+
"db:revert": "npx ts-node src/scripts/migrate.ts down"
+
},
+
"keywords": [],
+
"author": "",
+
"license": "ISC",
+
"packageManager": "pnpm@10.20.0",
+
"dependencies": {
+
"@atproto/xrpc-server": "^0.9.5",
+
"@skyware/firehose": "^0.5.2",
+
"dotenv": "^17.2.3",
+
"kysely": "^0.28.8",
+
"pg": "^8.16.3",
+
"ws": "^8.18.3"
+
},
+
"devDependencies": {
+
"@atcute/atproto": "^3.1.8",
+
"@types/node": "^24.9.2",
+
"@types/ws": "^8.18.1",
+
"ts-node": "^10.9.2",
+
"tsx": "^4.20.6",
+
"typescript": "^5.9.3"
+
}
}
+874 -1565
pnpm-lock.yaml
···
.:
dependencies:
-
'@libsql/client':
-
specifier: ^0.15.15
-
version: 0.15.15
+
'@atproto/xrpc-server':
+
specifier: ^0.9.5
+
version: 0.9.5
'@skyware/firehose':
specifier: ^0.5.2
version: 0.5.2
dotenv:
specifier: ^17.2.3
version: 17.2.3
-
drizzle-orm:
-
specifier: ^0.44.6
-
version: 0.44.6(@libsql/client@0.15.15)
-
zod:
-
specifier: ^4.1.12
-
version: 4.1.12
+
kysely:
+
specifier: ^0.28.8
+
version: 0.28.8
+
pg:
+
specifier: ^8.16.3
+
version: 8.16.3
+
ws:
+
specifier: ^8.18.3
+
version: 8.18.3
devDependencies:
-
'@eslint/js':
-
specifier: ^9.37.0
-
version: 9.37.0
+
'@atcute/atproto':
+
specifier: ^3.1.8
+
version: 3.1.8
'@types/node':
-
specifier: ^24.7.1
-
version: 24.7.1
-
drizzle-kit:
-
specifier: ^0.31.5
-
version: 0.31.5
-
eslint:
-
specifier: ^9.37.0
-
version: 9.37.0(jiti@2.6.1)
-
globals:
-
specifier: ^16.4.0
-
version: 16.4.0
-
jiti:
-
specifier: ^2.6.1
-
version: 2.6.1
-
prettier:
-
specifier: ^3.6.2
-
version: 3.6.2
+
specifier: ^24.9.2
+
version: 24.9.2
+
'@types/ws':
+
specifier: ^8.18.1
+
version: 8.18.1
ts-node:
specifier: ^10.9.2
-
version: 10.9.2(@types/node@24.7.1)(typescript@5.9.3)
-
tsc-alias:
-
specifier: ^1.8.16
-
version: 1.8.16
-
tsconfig-paths:
-
specifier: ^4.2.0
-
version: 4.2.0
+
version: 10.9.2(@types/node@24.9.2)(typescript@5.9.3)
+
tsx:
+
specifier: ^4.20.6
+
version: 4.20.6
typescript:
specifier: ^5.9.3
version: 5.9.3
-
typescript-eslint:
-
specifier: ^8.46.0
-
version: 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
packages:
+
'@atcute/atproto@3.1.8':
+
resolution: {integrity: sha512-Miu+S7RSgAYbmQWtHJKfSFUN5Kliqoo4YH0rILPmBtfmlZieORJgXNj9oO/Uive0/ulWkiRse07ATIcK8JxMnw==}
+
'@atcute/car@3.1.3':
resolution: {integrity: sha512-WJ13bAEt7TjDMVi09ubjLtvhdljbWInGm9Kfy7Y6NhrmiyC/aZYaA/zHX/bHI6xv1c/h3SQduWqxOr4ae49eqA==}
'@atcute/cbor@2.2.7':
resolution: {integrity: sha512-/mwAF0gnokOphceZqFq3uzMGdd8sbw5y6bxF8CRutRkCCUcpjjpJc5fkLwhxyGgOveF3mZuHE6p7t/+IAqb7Aw==}
-
'@atcute/cid@2.2.5':
-
resolution: {integrity: sha512-7SId61nMyuxSwsDI02wEZn6/gVeha2TrAN4W0UPSdSEcwQD3R2W8VU7zvR4XGfU7A/KmBnVkwx5FTfzyizKj6g==}
+
'@atcute/cid@2.2.6':
+
resolution: {integrity: sha512-bTAHHbJ24p+E//V4KCS4xdmd39o211jJswvqQOevj7vk+5IYcgDLx1ryZWZ1sEPOo9x875li/kj5gpKL14RDwQ==}
+
+
'@atcute/lexicons@1.2.2':
+
resolution: {integrity: sha512-bgEhJq5Z70/0TbK5sx+tAkrR8FsCODNiL2gUEvS5PuJfPxmFmRYNWaMGehxSPaXWpU2+Oa9ckceHiYbrItDTkA==}
'@atcute/multibase@1.1.6':
resolution: {integrity: sha512-HBxuCgYLKPPxETV0Rot4VP9e24vKl8JdzGCZOVsDaOXJgbRZoRIF67Lp0H/OgnJeH/Xpva8Z5ReoTNJE5dn3kg==}
···
'@atcute/varint@1.0.3':
resolution: {integrity: sha512-fdvMPyBB+McDT+Ai5e9RwEbwYV4yjZ60S2Dn5PTjGqUyxvoCH1z42viuheDZRUDkmfQehXJTZ5az7dSozVNtog==}
-
'@cspotcode/source-map-support@0.8.1':
-
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
-
engines: {node: '>=12'}
+
'@atproto/common-web@0.4.3':
+
resolution: {integrity: sha512-nRDINmSe4VycJzPo6fP/hEltBcULFxt9Kw7fQk6405FyAWZiTluYHlXOnU7GkQfeUK44OENG1qFTBcmCJ7e8pg==}
+
+
'@atproto/common@0.4.12':
+
resolution: {integrity: sha512-NC+TULLQiqs6MvNymhQS5WDms3SlbIKGLf4n33tpftRJcalh507rI+snbcUb7TLIkKw7VO17qMqxEXtIdd5auQ==}
+
engines: {node: '>=18.7.0'}
+
+
'@atproto/crypto@0.4.4':
+
resolution: {integrity: sha512-Yq9+crJ7WQl7sxStVpHgie5Z51R05etaK9DLWYG/7bR5T4bhdcIgF6IfklLShtZwLYdVVj+K15s0BqW9a8PSDA==}
+
engines: {node: '>=18.7.0'}
+
+
'@atproto/lexicon@0.5.1':
+
resolution: {integrity: sha512-y8AEtYmfgVl4fqFxqXAeGvhesiGkxiy3CWoJIfsFDDdTlZUC8DFnZrYhcqkIop3OlCkkljvpSJi1hbeC1tbi8A==}
+
+
'@atproto/syntax@0.4.1':
+
resolution: {integrity: sha512-CJdImtLAiFO+0z3BWTtxwk6aY5w4t8orHTMVJgkf++QRJWTxPbIFko/0hrkADB7n2EruDxDSeAgfUGehpH6ngw==}
+
+
'@atproto/xrpc-server@0.9.5':
+
resolution: {integrity: sha512-V0srjUgy6mQ5yf9+MSNBLs457m4qclEaWZsnqIE7RfYywvntexTAbMoo7J7ONfTNwdmA9Gw4oLak2z2cDAET4w==}
+
engines: {node: '>=18.7.0'}
+
+
'@atproto/xrpc@0.7.5':
+
resolution: {integrity: sha512-MUYNn5d2hv8yVegRL0ccHvTHAVj5JSnW07bkbiaz96UH45lvYNRVwt44z+yYVnb0/mvBzyD3/ZQ55TRGt7fHkA==}
+
+
'@cbor-extract/cbor-extract-darwin-arm64@2.2.0':
+
resolution: {integrity: sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==}
+
cpu: [arm64]
+
os: [darwin]
+
+
'@cbor-extract/cbor-extract-darwin-x64@2.2.0':
+
resolution: {integrity: sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==}
+
cpu: [x64]
+
os: [darwin]
+
+
'@cbor-extract/cbor-extract-linux-arm64@2.2.0':
+
resolution: {integrity: sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==}
+
cpu: [arm64]
+
os: [linux]
+
+
'@cbor-extract/cbor-extract-linux-arm@2.2.0':
+
resolution: {integrity: sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==}
+
cpu: [arm]
+
os: [linux]
-
'@drizzle-team/brocli@0.10.2':
-
resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==}
+
'@cbor-extract/cbor-extract-linux-x64@2.2.0':
+
resolution: {integrity: sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==}
+
cpu: [x64]
+
os: [linux]
-
'@esbuild-kit/core-utils@3.3.2':
-
resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==}
-
deprecated: 'Merged into tsx: https://tsx.is'
+
'@cbor-extract/cbor-extract-win32-x64@2.2.0':
+
resolution: {integrity: sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==}
+
cpu: [x64]
+
os: [win32]
-
'@esbuild-kit/esm-loader@2.6.5':
-
resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==}
-
deprecated: 'Merged into tsx: https://tsx.is'
+
'@cspotcode/source-map-support@0.8.1':
+
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
+
engines: {node: '>=12'}
'@esbuild/aix-ppc64@0.25.11':
resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==}
···
cpu: [ppc64]
os: [aix]
-
'@esbuild/android-arm64@0.18.20':
-
resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
-
engines: {node: '>=12'}
-
cpu: [arm64]
-
os: [android]
-
'@esbuild/android-arm64@0.25.11':
resolution: {integrity: sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
-
'@esbuild/android-arm@0.18.20':
-
resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
-
engines: {node: '>=12'}
-
cpu: [arm]
-
os: [android]
-
'@esbuild/android-arm@0.25.11':
resolution: {integrity: sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
-
'@esbuild/android-x64@0.18.20':
-
resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
-
engines: {node: '>=12'}
-
cpu: [x64]
-
os: [android]
-
'@esbuild/android-x64@0.25.11':
resolution: {integrity: sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
-
'@esbuild/darwin-arm64@0.18.20':
-
resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
-
engines: {node: '>=12'}
-
cpu: [arm64]
-
os: [darwin]
-
'@esbuild/darwin-arm64@0.25.11':
resolution: {integrity: sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
-
'@esbuild/darwin-x64@0.18.20':
-
resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
-
engines: {node: '>=12'}
-
cpu: [x64]
-
os: [darwin]
-
'@esbuild/darwin-x64@0.25.11':
resolution: {integrity: sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
-
'@esbuild/freebsd-arm64@0.18.20':
-
resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
-
engines: {node: '>=12'}
-
cpu: [arm64]
-
os: [freebsd]
-
'@esbuild/freebsd-arm64@0.25.11':
resolution: {integrity: sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
-
'@esbuild/freebsd-x64@0.18.20':
-
resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
-
engines: {node: '>=12'}
-
cpu: [x64]
-
os: [freebsd]
-
'@esbuild/freebsd-x64@0.25.11':
resolution: {integrity: sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
-
'@esbuild/linux-arm64@0.18.20':
-
resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
-
engines: {node: '>=12'}
-
cpu: [arm64]
-
os: [linux]
-
'@esbuild/linux-arm64@0.25.11':
resolution: {integrity: sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
-
'@esbuild/linux-arm@0.18.20':
-
resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
-
engines: {node: '>=12'}
-
cpu: [arm]
-
os: [linux]
-
'@esbuild/linux-arm@0.25.11':
resolution: {integrity: sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
-
'@esbuild/linux-ia32@0.18.20':
-
resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
-
engines: {node: '>=12'}
-
cpu: [ia32]
-
os: [linux]
-
'@esbuild/linux-ia32@0.25.11':
resolution: {integrity: sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
-
'@esbuild/linux-loong64@0.18.20':
-
resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
-
engines: {node: '>=12'}
-
cpu: [loong64]
-
os: [linux]
-
'@esbuild/linux-loong64@0.25.11':
resolution: {integrity: sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
-
'@esbuild/linux-mips64el@0.18.20':
-
resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
-
engines: {node: '>=12'}
-
cpu: [mips64el]
-
os: [linux]
-
'@esbuild/linux-mips64el@0.25.11':
resolution: {integrity: sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
-
'@esbuild/linux-ppc64@0.18.20':
-
resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
-
engines: {node: '>=12'}
-
cpu: [ppc64]
-
os: [linux]
-
'@esbuild/linux-ppc64@0.25.11':
resolution: {integrity: sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
-
'@esbuild/linux-riscv64@0.18.20':
-
resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
-
engines: {node: '>=12'}
-
cpu: [riscv64]
-
os: [linux]
-
'@esbuild/linux-riscv64@0.25.11':
resolution: {integrity: sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
-
'@esbuild/linux-s390x@0.18.20':
-
resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
-
engines: {node: '>=12'}
-
cpu: [s390x]
-
os: [linux]
-
'@esbuild/linux-s390x@0.25.11':
resolution: {integrity: sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
-
'@esbuild/linux-x64@0.18.20':
-
resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
-
engines: {node: '>=12'}
-
cpu: [x64]
-
os: [linux]
-
'@esbuild/linux-x64@0.25.11':
resolution: {integrity: sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==}
engines: {node: '>=18'}
···
cpu: [arm64]
os: [netbsd]
-
'@esbuild/netbsd-x64@0.18.20':
-
resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
-
engines: {node: '>=12'}
-
cpu: [x64]
-
os: [netbsd]
-
'@esbuild/netbsd-x64@0.25.11':
resolution: {integrity: sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==}
engines: {node: '>=18'}
···
cpu: [arm64]
os: [openbsd]
-
'@esbuild/openbsd-x64@0.18.20':
-
resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
-
engines: {node: '>=12'}
-
cpu: [x64]
-
os: [openbsd]
-
'@esbuild/openbsd-x64@0.25.11':
resolution: {integrity: sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==}
engines: {node: '>=18'}
···
cpu: [arm64]
os: [openharmony]
-
'@esbuild/sunos-x64@0.18.20':
-
resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
-
engines: {node: '>=12'}
-
cpu: [x64]
-
os: [sunos]
-
'@esbuild/sunos-x64@0.25.11':
resolution: {integrity: sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
-
'@esbuild/win32-arm64@0.18.20':
-
resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
-
engines: {node: '>=12'}
-
cpu: [arm64]
-
os: [win32]
-
'@esbuild/win32-arm64@0.25.11':
resolution: {integrity: sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
-
'@esbuild/win32-ia32@0.18.20':
-
resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
-
engines: {node: '>=12'}
-
cpu: [ia32]
-
os: [win32]
-
'@esbuild/win32-ia32@0.25.11':
resolution: {integrity: sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
-
'@esbuild/win32-x64@0.18.20':
-
resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
-
engines: {node: '>=12'}
-
cpu: [x64]
-
os: [win32]
-
'@esbuild/win32-x64@0.25.11':
resolution: {integrity: sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==}
engines: {node: '>=18'}
cpu: [x64]
os: [win32]
-
'@eslint-community/eslint-utils@4.9.0':
-
resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==}
-
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
peerDependencies:
-
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
-
-
'@eslint-community/regexpp@4.12.1':
-
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
-
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
-
-
'@eslint/config-array@0.21.0':
-
resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-
'@eslint/config-helpers@0.4.0':
-
resolution: {integrity: sha512-WUFvV4WoIwW8Bv0KeKCIIEgdSiFOsulyN0xrMu+7z43q/hkOLXjvb5u7UC9jDxvRzcrbEmuZBX5yJZz1741jog==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-
'@eslint/core@0.16.0':
-
resolution: {integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-
'@eslint/eslintrc@3.3.1':
-
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-
'@eslint/js@9.37.0':
-
resolution: {integrity: sha512-jaS+NJ+hximswBG6pjNX0uEJZkrT0zwpVi3BA3vX22aFGjJjmgSTSmPpZCRKmoBL5VY/M6p0xsSJx7rk7sy5gg==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-
'@eslint/object-schema@2.1.6':
-
resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-
'@eslint/plugin-kit@0.4.0':
-
resolution: {integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-
'@humanfs/core@0.19.1':
-
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
-
engines: {node: '>=18.18.0'}
-
-
'@humanfs/node@0.16.7':
-
resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==}
-
engines: {node: '>=18.18.0'}
-
-
'@humanwhocodes/module-importer@1.0.1':
-
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
-
engines: {node: '>=12.22'}
-
-
'@humanwhocodes/retry@0.4.3':
-
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
-
engines: {node: '>=18.18'}
+
'@ipld/dag-cbor@7.0.3':
+
resolution: {integrity: sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==}
'@jridgewell/resolve-uri@3.1.2':
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
···
'@jridgewell/trace-mapping@0.3.9':
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
-
'@libsql/client@0.15.15':
-
resolution: {integrity: sha512-twC0hQxPNHPKfeOv3sNT6u2pturQjLcI+CnpTM0SjRpocEGgfiZ7DWKXLNnsothjyJmDqEsBQJ5ztq9Wlu470w==}
-
-
'@libsql/core@0.15.15':
-
resolution: {integrity: sha512-C88Z6UKl+OyuKKPwz224riz02ih/zHYI3Ho/LAcVOgjsunIRZoBw7fjRfaH9oPMmSNeQfhGklSG2il1URoOIsA==}
-
-
'@libsql/darwin-arm64@0.5.22':
-
resolution: {integrity: sha512-4B8ZlX3nIDPndfct7GNe0nI3Yw6ibocEicWdC4fvQbSs/jdq/RC2oCsoJxJ4NzXkvktX70C1J4FcmmoBy069UA==}
-
cpu: [arm64]
-
os: [darwin]
-
-
'@libsql/darwin-x64@0.5.22':
-
resolution: {integrity: sha512-ny2HYWt6lFSIdNFzUFIJ04uiW6finXfMNJ7wypkAD8Pqdm6nAByO+Fdqu8t7sD0sqJGeUCiOg480icjyQ2/8VA==}
-
cpu: [x64]
-
os: [darwin]
-
-
'@libsql/hrana-client@0.7.0':
-
resolution: {integrity: sha512-OF8fFQSkbL7vJY9rfuegK1R7sPgQ6kFMkDamiEccNUvieQ+3urzfDFI616oPl8V7T9zRmnTkSjMOImYCAVRVuw==}
-
-
'@libsql/isomorphic-fetch@0.3.1':
-
resolution: {integrity: sha512-6kK3SUK5Uu56zPq/Las620n5aS9xJq+jMBcNSOmjhNf/MUvdyji4vrMTqD7ptY7/4/CAVEAYDeotUz60LNQHtw==}
-
engines: {node: '>=18.0.0'}
-
-
'@libsql/isomorphic-ws@0.1.5':
-
resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==}
-
-
'@libsql/linux-arm-gnueabihf@0.5.22':
-
resolution: {integrity: sha512-3Uo3SoDPJe/zBnyZKosziRGtszXaEtv57raWrZIahtQDsjxBVjuzYQinCm9LRCJCUT5t2r5Z5nLDPJi2CwZVoA==}
-
cpu: [arm]
-
os: [linux]
-
-
'@libsql/linux-arm-musleabihf@0.5.22':
-
resolution: {integrity: sha512-LCsXh07jvSojTNJptT9CowOzwITznD+YFGGW+1XxUr7fS+7/ydUrpDfsMX7UqTqjm7xG17eq86VkWJgHJfvpNg==}
-
cpu: [arm]
-
os: [linux]
-
-
'@libsql/linux-arm64-gnu@0.5.22':
-
resolution: {integrity: sha512-KSdnOMy88c9mpOFKUEzPskSaF3VLflfSUCBwas/pn1/sV3pEhtMF6H8VUCd2rsedwoukeeCSEONqX7LLnQwRMA==}
-
cpu: [arm64]
-
os: [linux]
-
-
'@libsql/linux-arm64-musl@0.5.22':
-
resolution: {integrity: sha512-mCHSMAsDTLK5YH//lcV3eFEgiR23Ym0U9oEvgZA0667gqRZg/2px+7LshDvErEKv2XZ8ixzw3p1IrBzLQHGSsw==}
-
cpu: [arm64]
-
os: [linux]
-
-
'@libsql/linux-x64-gnu@0.5.22':
-
resolution: {integrity: sha512-kNBHaIkSg78Y4BqAdgjcR2mBilZXs4HYkAmi58J+4GRwDQZh5fIUWbnQvB9f95DkWUIGVeenqLRFY2pcTmlsew==}
-
cpu: [x64]
-
os: [linux]
-
-
'@libsql/linux-x64-musl@0.5.22':
-
resolution: {integrity: sha512-UZ4Xdxm4pu3pQXjvfJiyCzZop/9j/eA2JjmhMaAhe3EVLH2g11Fy4fwyUp9sT1QJYR1kpc2JLuybPM0kuXv/Tg==}
-
cpu: [x64]
-
os: [linux]
-
-
'@libsql/win32-x64-msvc@0.5.22':
-
resolution: {integrity: sha512-Fj0j8RnBpo43tVZUVoNK6BV/9AtDUM5S7DF3LB4qTYg1LMSZqi3yeCneUTLJD6XomQJlZzbI4mst89yspVSAnA==}
-
cpu: [x64]
-
os: [win32]
-
-
'@neon-rs/load@0.0.4':
-
resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==}
-
-
'@nodelib/fs.scandir@2.1.5':
-
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
-
engines: {node: '>= 8'}
+
'@noble/curves@1.9.7':
+
resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==}
+
engines: {node: ^14.21.3 || >=16}
-
'@nodelib/fs.stat@2.0.5':
-
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
-
engines: {node: '>= 8'}
-
-
'@nodelib/fs.walk@1.2.8':
-
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
-
engines: {node: '>= 8'}
+
'@noble/hashes@1.8.0':
+
resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==}
+
engines: {node: ^14.21.3 || >=16}
'@skyware/firehose@0.5.2':
resolution: {integrity: sha512-Ayg/cF0BkakBNQVA51ClDka0+nC96WiARNrGElMQxfqbwao0PBaCXkunfr8qS4DWS3TqLnR6hA9mvm1vAYlxJQ==}
+
'@standard-schema/spec@1.0.0':
+
resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==}
+
'@tsconfig/node10@1.0.11':
resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
···
'@tsconfig/node16@1.0.4':
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
-
'@types/estree@1.0.8':
-
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
-
-
'@types/json-schema@7.0.15':
-
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
-
-
'@types/node@24.7.1':
-
resolution: {integrity: sha512-CmyhGZanP88uuC5GpWU9q+fI61j2SkhO3UGMUdfYRE6Bcy0ccyzn1Rqj9YAB/ZY4kOXmNf0ocah5GtphmLMP6Q==}
+
'@types/node@24.9.2':
+
resolution: {integrity: sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==}
'@types/ws@8.18.1':
resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
-
'@typescript-eslint/eslint-plugin@8.46.0':
-
resolution: {integrity: sha512-hA8gxBq4ukonVXPy0OKhiaUh/68D0E88GSmtC1iAEnGaieuDi38LhS7jdCHRLi6ErJBNDGCzvh5EnzdPwUc0DA==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
peerDependencies:
-
'@typescript-eslint/parser': ^8.46.0
-
eslint: ^8.57.0 || ^9.0.0
-
typescript: '>=4.8.4 <6.0.0'
-
-
'@typescript-eslint/parser@8.46.0':
-
resolution: {integrity: sha512-n1H6IcDhmmUEG7TNVSspGmiHHutt7iVKtZwRppD7e04wha5MrkV1h3pti9xQLcCMt6YWsncpoT0HMjkH1FNwWQ==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
peerDependencies:
-
eslint: ^8.57.0 || ^9.0.0
-
typescript: '>=4.8.4 <6.0.0'
-
-
'@typescript-eslint/project-service@8.46.0':
-
resolution: {integrity: sha512-OEhec0mH+U5Je2NZOeK1AbVCdm0ChyapAyTeXVIYTPXDJ3F07+cu87PPXcGoYqZ7M9YJVvFnfpGg1UmCIqM+QQ==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
peerDependencies:
-
typescript: '>=4.8.4 <6.0.0'
-
-
'@typescript-eslint/scope-manager@8.46.0':
-
resolution: {integrity: sha512-lWETPa9XGcBes4jqAMYD9fW0j4n6hrPtTJwWDmtqgFO/4HF4jmdH/Q6wggTw5qIT5TXjKzbt7GsZUBnWoO3dqw==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-
'@typescript-eslint/tsconfig-utils@8.46.0':
-
resolution: {integrity: sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
peerDependencies:
-
typescript: '>=4.8.4 <6.0.0'
-
-
'@typescript-eslint/type-utils@8.46.0':
-
resolution: {integrity: sha512-hy+lvYV1lZpVs2jRaEYvgCblZxUoJiPyCemwbQZ+NGulWkQRy0HRPYAoef/CNSzaLt+MLvMptZsHXHlkEilaeg==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
peerDependencies:
-
eslint: ^8.57.0 || ^9.0.0
-
typescript: '>=4.8.4 <6.0.0'
-
-
'@typescript-eslint/types@8.46.0':
-
resolution: {integrity: sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-
'@typescript-eslint/typescript-estree@8.46.0':
-
resolution: {integrity: sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
peerDependencies:
-
typescript: '>=4.8.4 <6.0.0'
-
-
'@typescript-eslint/utils@8.46.0':
-
resolution: {integrity: sha512-nD6yGWPj1xiOm4Gk0k6hLSZz2XkNXhuYmyIrOWcHoPuAhjT9i5bAG+xbWPgFeNR8HPHHtpNKdYUXJl/D3x7f5g==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
peerDependencies:
-
eslint: ^8.57.0 || ^9.0.0
-
typescript: '>=4.8.4 <6.0.0'
-
-
'@typescript-eslint/visitor-keys@8.46.0':
-
resolution: {integrity: sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
abort-controller@3.0.0:
+
resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
+
engines: {node: '>=6.5'}
-
acorn-jsx@5.3.2:
-
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
-
peerDependencies:
-
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
accepts@1.3.8:
+
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+
engines: {node: '>= 0.6'}
acorn-walk@8.3.4:
resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
···
engines: {node: '>=0.4.0'}
hasBin: true
-
ajv@6.12.6:
-
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
-
-
ansi-styles@4.3.0:
-
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
-
engines: {node: '>=8'}
-
-
anymatch@3.1.3:
-
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
-
engines: {node: '>= 8'}
-
arg@4.1.3:
resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
-
argparse@2.0.1:
-
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
array-flatten@1.1.1:
+
resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
-
array-union@2.1.0:
-
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
-
engines: {node: '>=8'}
+
atomic-sleep@1.0.0:
+
resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
+
engines: {node: '>=8.0.0'}
-
balanced-match@1.0.2:
-
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
base64-js@1.5.1:
+
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
-
binary-extensions@2.3.0:
-
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
-
engines: {node: '>=8'}
+
body-parser@1.20.3:
+
resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
+
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
-
brace-expansion@1.1.12:
-
resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
+
buffer@6.0.3:
+
resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
-
brace-expansion@2.0.2:
-
resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
+
bytes@3.1.2:
+
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+
engines: {node: '>= 0.8'}
-
braces@3.0.3:
-
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
-
engines: {node: '>=8'}
+
call-bind-apply-helpers@1.0.2:
+
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+
engines: {node: '>= 0.4'}
-
buffer-from@1.1.2:
-
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
call-bound@1.0.4:
+
resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
+
engines: {node: '>= 0.4'}
-
callsites@3.1.0:
-
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
-
engines: {node: '>=6'}
+
cbor-extract@2.2.0:
+
resolution: {integrity: sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==}
+
hasBin: true
-
chalk@4.1.2:
-
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
-
engines: {node: '>=10'}
+
cbor-x@1.6.0:
+
resolution: {integrity: sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==}
-
chokidar@3.6.0:
-
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
-
engines: {node: '>= 8.10.0'}
+
cborg@1.10.2:
+
resolution: {integrity: sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==}
+
hasBin: true
-
color-convert@2.0.1:
-
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
-
engines: {node: '>=7.0.0'}
+
content-disposition@0.5.4:
+
resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+
engines: {node: '>= 0.6'}
-
color-name@1.1.4:
-
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
content-type@1.0.5:
+
resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
+
engines: {node: '>= 0.6'}
-
commander@9.5.0:
-
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
-
engines: {node: ^12.20.0 || >=14}
+
cookie-signature@1.0.6:
+
resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
-
concat-map@0.0.1:
-
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
cookie@0.7.1:
+
resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
+
engines: {node: '>= 0.6'}
create-require@1.1.1:
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
-
cross-spawn@7.0.6:
-
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
-
engines: {node: '>= 8'}
-
-
data-uri-to-buffer@4.0.1:
-
resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
-
engines: {node: '>= 12'}
-
-
debug@4.4.3:
-
resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
-
engines: {node: '>=6.0'}
+
debug@2.6.9:
+
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
-
deep-is@0.1.4:
-
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+
depd@2.0.0:
+
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+
engines: {node: '>= 0.8'}
+
+
destroy@1.2.0:
+
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
-
detect-libc@2.0.2:
-
resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
+
detect-libc@2.1.2:
+
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
diff@4.0.2:
resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
engines: {node: '>=0.3.1'}
-
dir-glob@3.0.1:
-
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
-
engines: {node: '>=8'}
-
dotenv@17.2.3:
resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==}
engines: {node: '>=12'}
-
drizzle-kit@0.31.5:
-
resolution: {integrity: sha512-+CHgPFzuoTQTt7cOYCV6MOw2w8vqEn/ap1yv4bpZOWL03u7rlVRQhUY0WYT3rHsgVTXwYQDZaSUJSQrMBUKuWg==}
-
hasBin: true
-
-
drizzle-orm@0.44.6:
-
resolution: {integrity: sha512-uy6uarrrEOc9K1u5/uhBFJbdF5VJ5xQ/Yzbecw3eAYOunv5FDeYkR2m8iitocdHBOHbvorviKOW5GVw0U1j4LQ==}
-
peerDependencies:
-
'@aws-sdk/client-rds-data': '>=3'
-
'@cloudflare/workers-types': '>=4'
-
'@electric-sql/pglite': '>=0.2.0'
-
'@libsql/client': '>=0.10.0'
-
'@libsql/client-wasm': '>=0.10.0'
-
'@neondatabase/serverless': '>=0.10.0'
-
'@op-engineering/op-sqlite': '>=2'
-
'@opentelemetry/api': ^1.4.1
-
'@planetscale/database': '>=1.13'
-
'@prisma/client': '*'
-
'@tidbcloud/serverless': '*'
-
'@types/better-sqlite3': '*'
-
'@types/pg': '*'
-
'@types/sql.js': '*'
-
'@upstash/redis': '>=1.34.7'
-
'@vercel/postgres': '>=0.8.0'
-
'@xata.io/client': '*'
-
better-sqlite3: '>=7'
-
bun-types: '*'
-
expo-sqlite: '>=14.0.0'
-
gel: '>=2'
-
knex: '*'
-
kysely: '*'
-
mysql2: '>=2'
-
pg: '>=8'
-
postgres: '>=3'
-
prisma: '*'
-
sql.js: '>=1'
-
sqlite3: '>=5'
-
peerDependenciesMeta:
-
'@aws-sdk/client-rds-data':
-
optional: true
-
'@cloudflare/workers-types':
-
optional: true
-
'@electric-sql/pglite':
-
optional: true
-
'@libsql/client':
-
optional: true
-
'@libsql/client-wasm':
-
optional: true
-
'@neondatabase/serverless':
-
optional: true
-
'@op-engineering/op-sqlite':
-
optional: true
-
'@opentelemetry/api':
-
optional: true
-
'@planetscale/database':
-
optional: true
-
'@prisma/client':
-
optional: true
-
'@tidbcloud/serverless':
-
optional: true
-
'@types/better-sqlite3':
-
optional: true
-
'@types/pg':
-
optional: true
-
'@types/sql.js':
-
optional: true
-
'@upstash/redis':
-
optional: true
-
'@vercel/postgres':
-
optional: true
-
'@xata.io/client':
-
optional: true
-
better-sqlite3:
-
optional: true
-
bun-types:
-
optional: true
-
expo-sqlite:
-
optional: true
-
gel:
-
optional: true
-
knex:
-
optional: true
-
kysely:
-
optional: true
-
mysql2:
-
optional: true
-
pg:
-
optional: true
-
postgres:
-
optional: true
-
prisma:
-
optional: true
-
sql.js:
-
optional: true
-
sqlite3:
-
optional: true
-
-
esbuild-register@3.6.0:
-
resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==}
-
peerDependencies:
-
esbuild: '>=0.12 <1'
+
dunder-proto@1.0.1:
+
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+
engines: {node: '>= 0.4'}
-
esbuild@0.18.20:
-
resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
-
engines: {node: '>=12'}
-
hasBin: true
+
ee-first@1.1.1:
+
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
-
esbuild@0.25.11:
-
resolution: {integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==}
-
engines: {node: '>=18'}
-
hasBin: true
+
encodeurl@1.0.2:
+
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
+
engines: {node: '>= 0.8'}
-
escape-string-regexp@4.0.0:
-
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
-
engines: {node: '>=10'}
+
encodeurl@2.0.0:
+
resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
+
engines: {node: '>= 0.8'}
-
eslint-scope@8.4.0:
-
resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
es-define-property@1.0.1:
+
resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+
engines: {node: '>= 0.4'}
-
eslint-visitor-keys@3.4.3:
-
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
-
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
es-errors@1.3.0:
+
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+
engines: {node: '>= 0.4'}
-
eslint-visitor-keys@4.2.1:
-
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
es-object-atoms@1.1.1:
+
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
+
engines: {node: '>= 0.4'}
-
eslint@9.37.0:
-
resolution: {integrity: sha512-XyLmROnACWqSxiGYArdef1fItQd47weqB7iwtfr9JHwRrqIXZdcFMvvEcL9xHCmL0SNsOvF0c42lWyM1U5dgig==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
esbuild@0.25.11:
+
resolution: {integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==}
+
engines: {node: '>=18'}
hasBin: true
-
peerDependencies:
-
jiti: '*'
-
peerDependenciesMeta:
-
jiti:
-
optional: true
-
-
espree@10.4.0:
-
resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-
esquery@1.6.0:
-
resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
-
engines: {node: '>=0.10'}
-
-
esrecurse@4.3.0:
-
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
-
engines: {node: '>=4.0'}
-
-
estraverse@5.3.0:
-
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
-
engines: {node: '>=4.0'}
-
-
esutils@2.0.3:
-
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
-
engines: {node: '>=0.10.0'}
-
-
fast-deep-equal@3.1.3:
-
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
-
-
fast-glob@3.3.3:
-
resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
-
engines: {node: '>=8.6.0'}
-
fast-json-stable-stringify@2.1.0:
-
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
escape-html@1.0.3:
+
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
-
fast-levenshtein@2.0.6:
-
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+
esm-env@1.2.2:
+
resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==}
-
fastq@1.19.1:
-
resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
+
etag@1.8.1:
+
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+
engines: {node: '>= 0.6'}
-
fetch-blob@3.2.0:
-
resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
-
engines: {node: ^12.20 || >= 14.13}
+
event-target-shim@5.0.1:
+
resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
+
engines: {node: '>=6'}
-
file-entry-cache@8.0.0:
-
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
-
engines: {node: '>=16.0.0'}
+
events@3.3.0:
+
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+
engines: {node: '>=0.8.x'}
-
fill-range@7.1.1:
-
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
-
engines: {node: '>=8'}
+
express@4.21.2:
+
resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==}
+
engines: {node: '>= 0.10.0'}
-
find-up@5.0.0:
-
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
-
engines: {node: '>=10'}
+
fast-redact@3.5.0:
+
resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==}
+
engines: {node: '>=6'}
-
flat-cache@4.0.1:
-
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
-
engines: {node: '>=16'}
+
finalhandler@1.3.1:
+
resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==}
+
engines: {node: '>= 0.8'}
-
flatted@3.3.3:
-
resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+
forwarded@0.2.0:
+
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
+
engines: {node: '>= 0.6'}
-
formdata-polyfill@4.0.10:
-
resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
-
engines: {node: '>=12.20.0'}
+
fresh@0.5.2:
+
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
+
engines: {node: '>= 0.6'}
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
-
get-tsconfig@4.12.0:
-
resolution: {integrity: sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==}
-
-
glob-parent@5.1.2:
-
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
-
engines: {node: '>= 6'}
+
function-bind@1.1.2:
+
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
-
glob-parent@6.0.2:
-
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
-
engines: {node: '>=10.13.0'}
+
get-intrinsic@1.3.0:
+
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
+
engines: {node: '>= 0.4'}
-
globals@14.0.0:
-
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
-
engines: {node: '>=18'}
+
get-proto@1.0.1:
+
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+
engines: {node: '>= 0.4'}
-
globals@16.4.0:
-
resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==}
-
engines: {node: '>=18'}
+
get-tsconfig@4.13.0:
+
resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==}
-
globby@11.1.0:
-
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
-
engines: {node: '>=10'}
+
gopd@1.2.0:
+
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+
engines: {node: '>= 0.4'}
graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
-
has-flag@4.0.0:
-
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
-
engines: {node: '>=8'}
+
has-symbols@1.1.0:
+
resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+
engines: {node: '>= 0.4'}
-
ignore@5.3.2:
-
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
-
engines: {node: '>= 4'}
+
hasown@2.0.2:
+
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+
engines: {node: '>= 0.4'}
-
ignore@7.0.5:
-
resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
-
engines: {node: '>= 4'}
+
http-errors@2.0.0:
+
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
+
engines: {node: '>= 0.8'}
-
import-fresh@3.3.1:
-
resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
-
engines: {node: '>=6'}
+
iconv-lite@0.4.24:
+
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+
engines: {node: '>=0.10.0'}
-
imurmurhash@0.1.4:
-
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
-
engines: {node: '>=0.8.19'}
+
ieee754@1.2.1:
+
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
-
is-binary-path@2.1.0:
-
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
-
engines: {node: '>=8'}
+
inherits@2.0.4:
+
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
-
is-extglob@2.1.1:
-
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
-
engines: {node: '>=0.10.0'}
+
ipaddr.js@1.9.1:
+
resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
+
engines: {node: '>= 0.10'}
-
is-glob@4.0.3:
-
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
-
engines: {node: '>=0.10.0'}
+
iso-datestring-validator@2.2.2:
+
resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==}
-
is-number@7.0.0:
-
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
-
engines: {node: '>=0.12.0'}
+
kysely@0.28.8:
+
resolution: {integrity: sha512-QUOgl5ZrS9IRuhq5FvOKFSsD/3+IA6MLE81/bOOTRA/YQpKDza2sFdN5g6JCB9BOpqMJDGefLCQ9F12hRS13TA==}
+
engines: {node: '>=20.0.0'}
-
isexe@2.0.0:
-
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
make-error@1.3.6:
+
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
-
jiti@2.6.1:
-
resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
-
hasBin: true
+
math-intrinsics@1.1.0:
+
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+
engines: {node: '>= 0.4'}
-
js-base64@3.7.8:
-
resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==}
+
media-typer@0.3.0:
+
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
+
engines: {node: '>= 0.6'}
-
js-yaml@4.1.0:
-
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
-
hasBin: true
+
merge-descriptors@1.0.3:
+
resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
-
json-buffer@3.0.1:
-
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
methods@1.1.2:
+
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
+
engines: {node: '>= 0.6'}
-
json-schema-traverse@0.4.1:
-
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
mime-db@1.52.0:
+
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+
engines: {node: '>= 0.6'}
-
json-stable-stringify-without-jsonify@1.0.1:
-
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
mime-types@2.1.35:
+
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+
engines: {node: '>= 0.6'}
-
json5@2.2.3:
-
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
-
engines: {node: '>=6'}
+
mime@1.6.0:
+
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+
engines: {node: '>=4'}
hasBin: true
-
keyv@4.5.4:
-
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+
ms@2.0.0:
+
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
-
levn@0.4.1:
-
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
-
engines: {node: '>= 0.8.0'}
+
ms@2.1.3:
+
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
-
libsql@0.5.22:
-
resolution: {integrity: sha512-NscWthMQt7fpU8lqd7LXMvT9pi+KhhmTHAJWUB/Lj6MWa0MKFv0F2V4C6WKKpjCVZl0VwcDz4nOI3CyaT1DDiA==}
-
cpu: [x64, arm64, wasm32, arm]
-
os: [darwin, linux, win32]
+
multiformats@9.9.0:
+
resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==}
-
locate-path@6.0.0:
-
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
-
engines: {node: '>=10'}
+
nanoevents@9.1.0:
+
resolution: {integrity: sha512-Jd0fILWG44a9luj8v5kED4WI+zfkkgwKyRQKItTtlPfEsh7Lznfi1kr8/iZ+XAIss4Qq5GqRB0qtWbaz9ceO/A==}
+
engines: {node: ^18.0.0 || >=20.0.0}
-
lodash.merge@4.6.2:
-
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
negotiator@0.6.3:
+
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+
engines: {node: '>= 0.6'}
-
make-error@1.3.6:
-
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
+
node-gyp-build-optional-packages@5.1.1:
+
resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==}
+
hasBin: true
-
merge2@1.4.1:
-
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
-
engines: {node: '>= 8'}
+
object-inspect@1.13.4:
+
resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
+
engines: {node: '>= 0.4'}
-
micromatch@4.0.8:
-
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
-
engines: {node: '>=8.6'}
+
on-exit-leak-free@2.1.2:
+
resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==}
+
engines: {node: '>=14.0.0'}
-
minimatch@3.1.2:
-
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+
on-finished@2.4.1:
+
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+
engines: {node: '>= 0.8'}
-
minimatch@9.0.5:
-
resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
-
engines: {node: '>=16 || 14 >=14.17'}
+
parseurl@1.3.3:
+
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+
engines: {node: '>= 0.8'}
-
minimist@1.2.8:
-
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
path-to-regexp@0.1.12:
+
resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==}
-
ms@2.1.3:
-
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
pg-cloudflare@1.2.7:
+
resolution: {integrity: sha512-YgCtzMH0ptvZJslLM1ffsY4EuGaU0cx4XSdXLRFae8bPP4dS5xL1tNB3k2o/N64cHJpwU7dxKli/nZ2lUa5fLg==}
-
mylas@2.1.13:
-
resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==}
-
engines: {node: '>=12.0.0'}
+
pg-connection-string@2.9.1:
+
resolution: {integrity: sha512-nkc6NpDcvPVpZXxrreI/FOtX3XemeLl8E0qFr6F2Lrm/I8WOnaWNhIPK2Z7OHpw7gh5XJThi6j6ppgNoaT1w4w==}
-
nanoevents@9.1.0:
-
resolution: {integrity: sha512-Jd0fILWG44a9luj8v5kED4WI+zfkkgwKyRQKItTtlPfEsh7Lznfi1kr8/iZ+XAIss4Qq5GqRB0qtWbaz9ceO/A==}
-
engines: {node: ^18.0.0 || >=20.0.0}
+
pg-int8@1.0.1:
+
resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
+
engines: {node: '>=4.0.0'}
-
natural-compare@1.4.0:
-
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
pg-pool@3.10.1:
+
resolution: {integrity: sha512-Tu8jMlcX+9d8+QVzKIvM/uJtp07PKr82IUOYEphaWcoBhIYkoHpLXN3qO59nAI11ripznDsEzEv8nUxBVWajGg==}
+
peerDependencies:
+
pg: '>=8.0'
-
node-domexception@1.0.0:
-
resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
-
engines: {node: '>=10.5.0'}
-
deprecated: Use your platform's native DOMException instead
+
pg-protocol@1.10.3:
+
resolution: {integrity: sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ==}
-
node-fetch@3.3.2:
-
resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==}
-
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
pg-types@2.2.0:
+
resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==}
+
engines: {node: '>=4'}
-
normalize-path@3.0.0:
-
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
-
engines: {node: '>=0.10.0'}
+
pg@8.16.3:
+
resolution: {integrity: sha512-enxc1h0jA/aq5oSDMvqyW3q89ra6XIIDZgCX9vkMrnz5DFTw/Ny3Li2lFQ+pt3L6MCgm/5o2o8HW9hiJji+xvw==}
+
engines: {node: '>= 16.0.0'}
+
peerDependencies:
+
pg-native: '>=3.0.1'
+
peerDependenciesMeta:
+
pg-native:
+
optional: true
-
optionator@0.9.4:
-
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
-
engines: {node: '>= 0.8.0'}
+
pgpass@1.0.5:
+
resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==}
-
p-limit@3.1.0:
-
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
-
engines: {node: '>=10'}
+
pino-abstract-transport@1.2.0:
+
resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==}
-
p-locate@5.0.0:
-
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
-
engines: {node: '>=10'}
+
pino-std-serializers@6.2.2:
+
resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==}
-
parent-module@1.0.1:
-
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
-
engines: {node: '>=6'}
+
pino@8.21.0:
+
resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==}
+
hasBin: true
-
path-exists@4.0.0:
-
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
-
engines: {node: '>=8'}
+
postgres-array@2.0.0:
+
resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==}
+
engines: {node: '>=4'}
-
path-key@3.1.1:
-
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
-
engines: {node: '>=8'}
+
postgres-bytea@1.0.0:
+
resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==}
+
engines: {node: '>=0.10.0'}
-
path-type@4.0.0:
-
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
-
engines: {node: '>=8'}
+
postgres-date@1.0.7:
+
resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==}
+
engines: {node: '>=0.10.0'}
-
picomatch@2.3.1:
-
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
-
engines: {node: '>=8.6'}
+
postgres-interval@1.2.0:
+
resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==}
+
engines: {node: '>=0.10.0'}
-
plimit-lit@1.6.1:
-
resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==}
-
engines: {node: '>=12'}
+
process-warning@3.0.0:
+
resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==}
-
prelude-ls@1.2.1:
-
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
-
engines: {node: '>= 0.8.0'}
+
process@0.11.10:
+
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
+
engines: {node: '>= 0.6.0'}
-
prettier@3.6.2:
-
resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
-
engines: {node: '>=14'}
-
hasBin: true
+
proxy-addr@2.0.7:
+
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
+
engines: {node: '>= 0.10'}
-
promise-limit@2.7.0:
-
resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==}
+
qs@6.13.0:
+
resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
+
engines: {node: '>=0.6'}
-
punycode@2.3.1:
-
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
-
engines: {node: '>=6'}
+
quick-format-unescaped@4.0.4:
+
resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==}
-
queue-lit@1.5.2:
-
resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==}
-
engines: {node: '>=12'}
+
range-parser@1.2.1:
+
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+
engines: {node: '>= 0.6'}
-
queue-microtask@1.2.3:
-
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
rate-limiter-flexible@2.4.2:
+
resolution: {integrity: sha512-rMATGGOdO1suFyf/mI5LYhts71g1sbdhmd6YvdiXO2gJnd42Tt6QS4JUKJKSWVVkMtBacm6l40FR7Trjo6Iruw==}
-
readdirp@3.6.0:
-
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
-
engines: {node: '>=8.10.0'}
+
raw-body@2.5.2:
+
resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
+
engines: {node: '>= 0.8'}
-
resolve-from@4.0.0:
-
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
-
engines: {node: '>=4'}
+
readable-stream@4.7.0:
+
resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==}
+
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+
real-require@0.2.0:
+
resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==}
+
engines: {node: '>= 12.13.0'}
resolve-pkg-maps@1.0.0:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
-
reusify@1.1.0:
-
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
-
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
-
-
run-parallel@1.2.0:
-
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
safe-buffer@5.2.1:
+
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
-
semver@7.7.3:
-
resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
+
safe-stable-stringify@2.5.0:
+
resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==}
engines: {node: '>=10'}
-
hasBin: true
-
shebang-command@2.0.0:
-
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
-
engines: {node: '>=8'}
+
safer-buffer@2.1.2:
+
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
-
shebang-regex@3.0.0:
-
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
-
engines: {node: '>=8'}
+
send@0.19.0:
+
resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
+
engines: {node: '>= 0.8.0'}
-
slash@3.0.0:
-
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
-
engines: {node: '>=8'}
+
serve-static@1.16.2:
+
resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
+
engines: {node: '>= 0.8.0'}
-
source-map-support@0.5.21:
-
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+
setprototypeof@1.2.0:
+
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
-
source-map@0.6.1:
-
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
-
engines: {node: '>=0.10.0'}
+
side-channel-list@1.0.0:
+
resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
+
engines: {node: '>= 0.4'}
-
strip-bom@3.0.0:
-
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
-
engines: {node: '>=4'}
+
side-channel-map@1.0.1:
+
resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
+
engines: {node: '>= 0.4'}
-
strip-json-comments@3.1.1:
-
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
-
engines: {node: '>=8'}
+
side-channel-weakmap@1.0.2:
+
resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
+
engines: {node: '>= 0.4'}
-
supports-color@7.2.0:
-
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
-
engines: {node: '>=8'}
+
side-channel@1.1.0:
+
resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
+
engines: {node: '>= 0.4'}
-
to-regex-range@5.0.1:
-
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
-
engines: {node: '>=8.0'}
+
sonic-boom@3.8.1:
+
resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==}
-
ts-api-utils@2.1.0:
-
resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
-
engines: {node: '>=18.12'}
-
peerDependencies:
-
typescript: '>=4.8.4'
+
split2@4.2.0:
+
resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
+
engines: {node: '>= 10.x'}
+
+
statuses@2.0.1:
+
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
+
engines: {node: '>= 0.8'}
+
+
string_decoder@1.3.0:
+
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+
+
thread-stream@2.7.0:
+
resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==}
+
+
toidentifier@1.0.1:
+
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+
engines: {node: '>=0.6'}
ts-node@10.9.2:
resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
···
'@swc/wasm':
optional: true
-
tsc-alias@1.8.16:
-
resolution: {integrity: sha512-QjCyu55NFyRSBAl6+MTFwplpFcnm2Pq01rR/uxfqJoLMm6X3O14KEGtaSDZpJYaE1bJBGDjD0eSuiIWPe2T58g==}
-
engines: {node: '>=16.20.2'}
+
tsx@4.20.6:
+
resolution: {integrity: sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==}
+
engines: {node: '>=18.0.0'}
hasBin: true
-
tsconfig-paths@4.2.0:
-
resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==}
-
engines: {node: '>=6'}
-
-
type-check@0.4.0:
-
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
-
engines: {node: '>= 0.8.0'}
-
-
typescript-eslint@8.46.0:
-
resolution: {integrity: sha512-6+ZrB6y2bT2DX3K+Qd9vn7OFOJR+xSLDj+Aw/N3zBwUt27uTw2sw2TE2+UcY1RiyBZkaGbTkVg9SSdPNUG6aUw==}
-
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
peerDependencies:
-
eslint: ^8.57.0 || ^9.0.0
-
typescript: '>=4.8.4 <6.0.0'
+
type-is@1.6.18:
+
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
+
engines: {node: '>= 0.6'}
typescript@5.9.3:
resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
engines: {node: '>=14.17'}
hasBin: true
-
undici-types@7.14.0:
-
resolution: {integrity: sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==}
+
uint8arrays@3.0.0:
+
resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==}
-
uri-js@4.4.1:
-
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+
undici-types@7.16.0:
+
resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
-
v8-compile-cache-lib@3.0.1:
-
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
+
unpipe@1.0.0:
+
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+
engines: {node: '>= 0.8'}
-
web-streams-polyfill@3.3.3:
-
resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
-
engines: {node: '>= 8'}
+
utils-merge@1.0.1:
+
resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
+
engines: {node: '>= 0.4.0'}
-
which@2.0.2:
-
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
-
engines: {node: '>= 8'}
-
hasBin: true
+
v8-compile-cache-lib@3.0.1:
+
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
-
word-wrap@1.2.5:
-
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
-
engines: {node: '>=0.10.0'}
+
vary@1.1.2:
+
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+
engines: {node: '>= 0.8'}
ws@8.18.3:
resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
···
utf-8-validate:
optional: true
+
xtend@4.0.2:
+
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+
engines: {node: '>=0.4'}
+
yn@3.1.1:
resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
engines: {node: '>=6'}
-
yocto-queue@0.1.0:
-
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
-
engines: {node: '>=10'}
-
yocto-queue@1.2.1:
resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==}
engines: {node: '>=12.20'}
-
zod@4.1.12:
-
resolution: {integrity: sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==}
+
zod@3.25.76:
+
resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
snapshots:
+
'@atcute/atproto@3.1.8':
+
dependencies:
+
'@atcute/lexicons': 1.2.2
+
'@atcute/car@3.1.3':
dependencies:
'@atcute/cbor': 2.2.7
-
'@atcute/cid': 2.2.5
+
'@atcute/cid': 2.2.6
'@atcute/uint8array': 1.0.5
'@atcute/varint': 1.0.3
yocto-queue: 1.2.1
'@atcute/cbor@2.2.7':
dependencies:
-
'@atcute/cid': 2.2.5
+
'@atcute/cid': 2.2.6
'@atcute/multibase': 1.1.6
'@atcute/uint8array': 1.0.5
-
'@atcute/cid@2.2.5':
+
'@atcute/cid@2.2.6':
dependencies:
'@atcute/multibase': 1.1.6
'@atcute/uint8array': 1.0.5
+
'@atcute/lexicons@1.2.2':
+
dependencies:
+
'@standard-schema/spec': 1.0.0
+
esm-env: 1.2.2
+
'@atcute/multibase@1.1.6':
dependencies:
'@atcute/uint8array': 1.0.5
···
'@atcute/varint@1.0.3': {}
-
'@cspotcode/source-map-support@0.8.1':
+
'@atproto/common-web@0.4.3':
dependencies:
-
'@jridgewell/trace-mapping': 0.3.9
-
-
'@drizzle-team/brocli@0.10.2': {}
+
graphemer: 1.4.0
+
multiformats: 9.9.0
+
uint8arrays: 3.0.0
+
zod: 3.25.76
+
+
'@atproto/common@0.4.12':
+
dependencies:
+
'@atproto/common-web': 0.4.3
+
'@ipld/dag-cbor': 7.0.3
+
cbor-x: 1.6.0
+
iso-datestring-validator: 2.2.2
+
multiformats: 9.9.0
+
pino: 8.21.0
+
+
'@atproto/crypto@0.4.4':
+
dependencies:
+
'@noble/curves': 1.9.7
+
'@noble/hashes': 1.8.0
+
uint8arrays: 3.0.0
+
+
'@atproto/lexicon@0.5.1':
+
dependencies:
+
'@atproto/common-web': 0.4.3
+
'@atproto/syntax': 0.4.1
+
iso-datestring-validator: 2.2.2
+
multiformats: 9.9.0
+
zod: 3.25.76
+
+
'@atproto/syntax@0.4.1': {}
+
+
'@atproto/xrpc-server@0.9.5':
+
dependencies:
+
'@atproto/common': 0.4.12
+
'@atproto/crypto': 0.4.4
+
'@atproto/lexicon': 0.5.1
+
'@atproto/xrpc': 0.7.5
+
cbor-x: 1.6.0
+
express: 4.21.2
+
http-errors: 2.0.0
+
mime-types: 2.1.35
+
rate-limiter-flexible: 2.4.2
+
uint8arrays: 3.0.0
+
ws: 8.18.3
+
zod: 3.25.76
+
transitivePeerDependencies:
+
- bufferutil
+
- supports-color
+
- utf-8-validate
-
'@esbuild-kit/core-utils@3.3.2':
+
'@atproto/xrpc@0.7.5':
dependencies:
-
esbuild: 0.18.20
-
source-map-support: 0.5.21
+
'@atproto/lexicon': 0.5.1
+
zod: 3.25.76
-
'@esbuild-kit/esm-loader@2.6.5':
-
dependencies:
-
'@esbuild-kit/core-utils': 3.3.2
-
get-tsconfig: 4.12.0
+
'@cbor-extract/cbor-extract-darwin-arm64@2.2.0':
+
optional: true
-
'@esbuild/aix-ppc64@0.25.11':
+
'@cbor-extract/cbor-extract-darwin-x64@2.2.0':
optional: true
-
'@esbuild/android-arm64@0.18.20':
+
'@cbor-extract/cbor-extract-linux-arm64@2.2.0':
optional: true
-
'@esbuild/android-arm64@0.25.11':
+
'@cbor-extract/cbor-extract-linux-arm@2.2.0':
optional: true
-
'@esbuild/android-arm@0.18.20':
+
'@cbor-extract/cbor-extract-linux-x64@2.2.0':
optional: true
-
'@esbuild/android-arm@0.25.11':
+
'@cbor-extract/cbor-extract-win32-x64@2.2.0':
+
optional: true
+
+
'@cspotcode/source-map-support@0.8.1':
+
dependencies:
+
'@jridgewell/trace-mapping': 0.3.9
+
+
'@esbuild/aix-ppc64@0.25.11':
+
optional: true
+
+
'@esbuild/android-arm64@0.25.11':
optional: true
-
'@esbuild/android-x64@0.18.20':
+
'@esbuild/android-arm@0.25.11':
optional: true
'@esbuild/android-x64@0.25.11':
optional: true
-
'@esbuild/darwin-arm64@0.18.20':
-
optional: true
-
'@esbuild/darwin-arm64@0.25.11':
optional: true
-
'@esbuild/darwin-x64@0.18.20':
-
optional: true
-
'@esbuild/darwin-x64@0.25.11':
optional: true
-
'@esbuild/freebsd-arm64@0.18.20':
-
optional: true
-
'@esbuild/freebsd-arm64@0.25.11':
optional: true
-
'@esbuild/freebsd-x64@0.18.20':
-
optional: true
-
'@esbuild/freebsd-x64@0.25.11':
optional: true
-
'@esbuild/linux-arm64@0.18.20':
-
optional: true
-
'@esbuild/linux-arm64@0.25.11':
optional: true
-
'@esbuild/linux-arm@0.18.20':
-
optional: true
-
'@esbuild/linux-arm@0.25.11':
optional: true
-
'@esbuild/linux-ia32@0.18.20':
-
optional: true
-
'@esbuild/linux-ia32@0.25.11':
optional: true
-
'@esbuild/linux-loong64@0.18.20':
-
optional: true
-
'@esbuild/linux-loong64@0.25.11':
optional: true
-
'@esbuild/linux-mips64el@0.18.20':
-
optional: true
-
'@esbuild/linux-mips64el@0.25.11':
optional: true
-
'@esbuild/linux-ppc64@0.18.20':
-
optional: true
-
'@esbuild/linux-ppc64@0.25.11':
optional: true
-
'@esbuild/linux-riscv64@0.18.20':
-
optional: true
-
'@esbuild/linux-riscv64@0.25.11':
optional: true
-
'@esbuild/linux-s390x@0.18.20':
-
optional: true
-
'@esbuild/linux-s390x@0.25.11':
optional: true
-
'@esbuild/linux-x64@0.18.20':
-
optional: true
-
'@esbuild/linux-x64@0.25.11':
optional: true
'@esbuild/netbsd-arm64@0.25.11':
optional: true
-
'@esbuild/netbsd-x64@0.18.20':
-
optional: true
-
'@esbuild/netbsd-x64@0.25.11':
optional: true
'@esbuild/openbsd-arm64@0.25.11':
optional: true
-
'@esbuild/openbsd-x64@0.18.20':
-
optional: true
-
'@esbuild/openbsd-x64@0.25.11':
optional: true
'@esbuild/openharmony-arm64@0.25.11':
optional: true
-
'@esbuild/sunos-x64@0.18.20':
-
optional: true
-
'@esbuild/sunos-x64@0.25.11':
optional: true
-
'@esbuild/win32-arm64@0.18.20':
-
optional: true
-
'@esbuild/win32-arm64@0.25.11':
optional: true
-
'@esbuild/win32-ia32@0.18.20':
-
optional: true
-
'@esbuild/win32-ia32@0.25.11':
optional: true
-
'@esbuild/win32-x64@0.18.20':
-
optional: true
-
'@esbuild/win32-x64@0.25.11':
optional: true
-
'@eslint-community/eslint-utils@4.9.0(eslint@9.37.0(jiti@2.6.1))':
-
dependencies:
-
eslint: 9.37.0(jiti@2.6.1)
-
eslint-visitor-keys: 3.4.3
-
-
'@eslint-community/regexpp@4.12.1': {}
-
-
'@eslint/config-array@0.21.0':
-
dependencies:
-
'@eslint/object-schema': 2.1.6
-
debug: 4.4.3
-
minimatch: 3.1.2
-
transitivePeerDependencies:
-
- supports-color
-
-
'@eslint/config-helpers@0.4.0':
-
dependencies:
-
'@eslint/core': 0.16.0
-
-
'@eslint/core@0.16.0':
+
'@ipld/dag-cbor@7.0.3':
dependencies:
-
'@types/json-schema': 7.0.15
-
-
'@eslint/eslintrc@3.3.1':
-
dependencies:
-
ajv: 6.12.6
-
debug: 4.4.3
-
espree: 10.4.0
-
globals: 14.0.0
-
ignore: 5.3.2
-
import-fresh: 3.3.1
-
js-yaml: 4.1.0
-
minimatch: 3.1.2
-
strip-json-comments: 3.1.1
-
transitivePeerDependencies:
-
- supports-color
-
-
'@eslint/js@9.37.0': {}
-
-
'@eslint/object-schema@2.1.6': {}
-
-
'@eslint/plugin-kit@0.4.0':
-
dependencies:
-
'@eslint/core': 0.16.0
-
levn: 0.4.1
-
-
'@humanfs/core@0.19.1': {}
-
-
'@humanfs/node@0.16.7':
-
dependencies:
-
'@humanfs/core': 0.19.1
-
'@humanwhocodes/retry': 0.4.3
-
-
'@humanwhocodes/module-importer@1.0.1': {}
-
-
'@humanwhocodes/retry@0.4.3': {}
+
cborg: 1.10.2
+
multiformats: 9.9.0
'@jridgewell/resolve-uri@3.1.2': {}
···
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
-
'@libsql/client@0.15.15':
-
dependencies:
-
'@libsql/core': 0.15.15
-
'@libsql/hrana-client': 0.7.0
-
js-base64: 3.7.8
-
libsql: 0.5.22
-
promise-limit: 2.7.0
-
transitivePeerDependencies:
-
- bufferutil
-
- utf-8-validate
-
-
'@libsql/core@0.15.15':
-
dependencies:
-
js-base64: 3.7.8
-
-
'@libsql/darwin-arm64@0.5.22':
-
optional: true
-
-
'@libsql/darwin-x64@0.5.22':
-
optional: true
-
-
'@libsql/hrana-client@0.7.0':
-
dependencies:
-
'@libsql/isomorphic-fetch': 0.3.1
-
'@libsql/isomorphic-ws': 0.1.5
-
js-base64: 3.7.8
-
node-fetch: 3.3.2
-
transitivePeerDependencies:
-
- bufferutil
-
- utf-8-validate
-
-
'@libsql/isomorphic-fetch@0.3.1': {}
-
-
'@libsql/isomorphic-ws@0.1.5':
-
dependencies:
-
'@types/ws': 8.18.1
-
ws: 8.18.3
-
transitivePeerDependencies:
-
- bufferutil
-
- utf-8-validate
-
-
'@libsql/linux-arm-gnueabihf@0.5.22':
-
optional: true
-
-
'@libsql/linux-arm-musleabihf@0.5.22':
-
optional: true
-
-
'@libsql/linux-arm64-gnu@0.5.22':
-
optional: true
-
-
'@libsql/linux-arm64-musl@0.5.22':
-
optional: true
-
-
'@libsql/linux-x64-gnu@0.5.22':
-
optional: true
-
-
'@libsql/linux-x64-musl@0.5.22':
-
optional: true
-
-
'@libsql/win32-x64-msvc@0.5.22':
-
optional: true
-
-
'@neon-rs/load@0.0.4': {}
-
-
'@nodelib/fs.scandir@2.1.5':
+
'@noble/curves@1.9.7':
dependencies:
-
'@nodelib/fs.stat': 2.0.5
-
run-parallel: 1.2.0
-
-
'@nodelib/fs.stat@2.0.5': {}
+
'@noble/hashes': 1.8.0
-
'@nodelib/fs.walk@1.2.8':
-
dependencies:
-
'@nodelib/fs.scandir': 2.1.5
-
fastq: 1.19.1
+
'@noble/hashes@1.8.0': {}
'@skyware/firehose@0.5.2':
dependencies:
···
'@atcute/cbor': 2.2.7
nanoevents: 9.1.0
+
'@standard-schema/spec@1.0.0': {}
+
'@tsconfig/node10@1.0.11': {}
'@tsconfig/node12@1.0.11': {}
···
'@tsconfig/node16@1.0.4': {}
-
'@types/estree@1.0.8': {}
-
-
'@types/json-schema@7.0.15': {}
-
-
'@types/node@24.7.1':
+
'@types/node@24.9.2':
dependencies:
-
undici-types: 7.14.0
+
undici-types: 7.16.0
'@types/ws@8.18.1':
dependencies:
-
'@types/node': 24.7.1
+
'@types/node': 24.9.2
-
'@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)':
+
abort-controller@3.0.0:
dependencies:
-
'@eslint-community/regexpp': 4.12.1
-
'@typescript-eslint/parser': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
-
'@typescript-eslint/scope-manager': 8.46.0
-
'@typescript-eslint/type-utils': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
-
'@typescript-eslint/utils': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
-
'@typescript-eslint/visitor-keys': 8.46.0
-
eslint: 9.37.0(jiti@2.6.1)
-
graphemer: 1.4.0
-
ignore: 7.0.5
-
natural-compare: 1.4.0
-
ts-api-utils: 2.1.0(typescript@5.9.3)
-
typescript: 5.9.3
-
transitivePeerDependencies:
-
- supports-color
+
event-target-shim: 5.0.1
-
'@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)':
+
accepts@1.3.8:
dependencies:
-
'@typescript-eslint/scope-manager': 8.46.0
-
'@typescript-eslint/types': 8.46.0
-
'@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3)
-
'@typescript-eslint/visitor-keys': 8.46.0
-
debug: 4.4.3
-
eslint: 9.37.0(jiti@2.6.1)
-
typescript: 5.9.3
-
transitivePeerDependencies:
-
- supports-color
+
mime-types: 2.1.35
+
negotiator: 0.6.3
-
'@typescript-eslint/project-service@8.46.0(typescript@5.9.3)':
+
acorn-walk@8.3.4:
dependencies:
-
'@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3)
-
'@typescript-eslint/types': 8.46.0
-
debug: 4.4.3
-
typescript: 5.9.3
-
transitivePeerDependencies:
-
- supports-color
+
acorn: 8.15.0
-
'@typescript-eslint/scope-manager@8.46.0':
-
dependencies:
-
'@typescript-eslint/types': 8.46.0
-
'@typescript-eslint/visitor-keys': 8.46.0
+
acorn@8.15.0: {}
-
'@typescript-eslint/tsconfig-utils@8.46.0(typescript@5.9.3)':
-
dependencies:
-
typescript: 5.9.3
+
arg@4.1.3: {}
-
'@typescript-eslint/type-utils@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)':
-
dependencies:
-
'@typescript-eslint/types': 8.46.0
-
'@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3)
-
'@typescript-eslint/utils': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
-
debug: 4.4.3
-
eslint: 9.37.0(jiti@2.6.1)
-
ts-api-utils: 2.1.0(typescript@5.9.3)
-
typescript: 5.9.3
-
transitivePeerDependencies:
-
- supports-color
+
array-flatten@1.1.1: {}
-
'@typescript-eslint/types@8.46.0': {}
+
atomic-sleep@1.0.0: {}
-
'@typescript-eslint/typescript-estree@8.46.0(typescript@5.9.3)':
-
dependencies:
-
'@typescript-eslint/project-service': 8.46.0(typescript@5.9.3)
-
'@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3)
-
'@typescript-eslint/types': 8.46.0
-
'@typescript-eslint/visitor-keys': 8.46.0
-
debug: 4.4.3
-
fast-glob: 3.3.3
-
is-glob: 4.0.3
-
minimatch: 9.0.5
-
semver: 7.7.3
-
ts-api-utils: 2.1.0(typescript@5.9.3)
-
typescript: 5.9.3
-
transitivePeerDependencies:
-
- supports-color
+
base64-js@1.5.1: {}
-
'@typescript-eslint/utils@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)':
+
body-parser@1.20.3:
dependencies:
-
'@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1))
-
'@typescript-eslint/scope-manager': 8.46.0
-
'@typescript-eslint/types': 8.46.0
-
'@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3)
-
eslint: 9.37.0(jiti@2.6.1)
-
typescript: 5.9.3
+
bytes: 3.1.2
+
content-type: 1.0.5
+
debug: 2.6.9
+
depd: 2.0.0
+
destroy: 1.2.0
+
http-errors: 2.0.0
+
iconv-lite: 0.4.24
+
on-finished: 2.4.1
+
qs: 6.13.0
+
raw-body: 2.5.2
+
type-is: 1.6.18
+
unpipe: 1.0.0
transitivePeerDependencies:
- supports-color
-
'@typescript-eslint/visitor-keys@8.46.0':
-
dependencies:
-
'@typescript-eslint/types': 8.46.0
-
eslint-visitor-keys: 4.2.1
-
-
acorn-jsx@5.3.2(acorn@8.15.0):
-
dependencies:
-
acorn: 8.15.0
-
-
acorn-walk@8.3.4:
+
buffer@6.0.3:
dependencies:
-
acorn: 8.15.0
+
base64-js: 1.5.1
+
ieee754: 1.2.1
-
acorn@8.15.0: {}
+
bytes@3.1.2: {}
-
ajv@6.12.6:
+
call-bind-apply-helpers@1.0.2:
dependencies:
-
fast-deep-equal: 3.1.3
-
fast-json-stable-stringify: 2.1.0
-
json-schema-traverse: 0.4.1
-
uri-js: 4.4.1
+
es-errors: 1.3.0
+
function-bind: 1.1.2
-
ansi-styles@4.3.0:
+
call-bound@1.0.4:
dependencies:
-
color-convert: 2.0.1
+
call-bind-apply-helpers: 1.0.2
+
get-intrinsic: 1.3.0
-
anymatch@3.1.3:
+
cbor-extract@2.2.0:
dependencies:
-
normalize-path: 3.0.0
-
picomatch: 2.3.1
-
-
arg@4.1.3: {}
-
-
argparse@2.0.1: {}
-
-
array-union@2.1.0: {}
-
-
balanced-match@1.0.2: {}
-
-
binary-extensions@2.3.0: {}
+
node-gyp-build-optional-packages: 5.1.1
+
optionalDependencies:
+
'@cbor-extract/cbor-extract-darwin-arm64': 2.2.0
+
'@cbor-extract/cbor-extract-darwin-x64': 2.2.0
+
'@cbor-extract/cbor-extract-linux-arm': 2.2.0
+
'@cbor-extract/cbor-extract-linux-arm64': 2.2.0
+
'@cbor-extract/cbor-extract-linux-x64': 2.2.0
+
'@cbor-extract/cbor-extract-win32-x64': 2.2.0
+
optional: true
-
brace-expansion@1.1.12:
-
dependencies:
-
balanced-match: 1.0.2
-
concat-map: 0.0.1
+
cbor-x@1.6.0:
+
optionalDependencies:
+
cbor-extract: 2.2.0
-
brace-expansion@2.0.2:
-
dependencies:
-
balanced-match: 1.0.2
+
cborg@1.10.2: {}
-
braces@3.0.3:
+
content-disposition@0.5.4:
dependencies:
-
fill-range: 7.1.1
+
safe-buffer: 5.2.1
-
buffer-from@1.1.2: {}
+
content-type@1.0.5: {}
-
callsites@3.1.0: {}
+
cookie-signature@1.0.6: {}
-
chalk@4.1.2:
-
dependencies:
-
ansi-styles: 4.3.0
-
supports-color: 7.2.0
+
cookie@0.7.1: {}
-
chokidar@3.6.0:
-
dependencies:
-
anymatch: 3.1.3
-
braces: 3.0.3
-
glob-parent: 5.1.2
-
is-binary-path: 2.1.0
-
is-glob: 4.0.3
-
normalize-path: 3.0.0
-
readdirp: 3.6.0
-
optionalDependencies:
-
fsevents: 2.3.3
+
create-require@1.1.1: {}
-
color-convert@2.0.1:
+
debug@2.6.9:
dependencies:
-
color-name: 1.1.4
+
ms: 2.0.0
-
color-name@1.1.4: {}
+
depd@2.0.0: {}
-
commander@9.5.0: {}
+
destroy@1.2.0: {}
-
concat-map@0.0.1: {}
-
-
create-require@1.1.1: {}
+
detect-libc@2.1.2:
+
optional: true
-
cross-spawn@7.0.6:
-
dependencies:
-
path-key: 3.1.1
-
shebang-command: 2.0.0
-
which: 2.0.2
+
diff@4.0.2: {}
-
data-uri-to-buffer@4.0.1: {}
+
dotenv@17.2.3: {}
-
debug@4.4.3:
+
dunder-proto@1.0.1:
dependencies:
-
ms: 2.1.3
-
-
deep-is@0.1.4: {}
+
call-bind-apply-helpers: 1.0.2
+
es-errors: 1.3.0
+
gopd: 1.2.0
-
detect-libc@2.0.2: {}
-
-
diff@4.0.2: {}
+
ee-first@1.1.1: {}
-
dir-glob@3.0.1:
-
dependencies:
-
path-type: 4.0.0
+
encodeurl@1.0.2: {}
-
dotenv@17.2.3: {}
+
encodeurl@2.0.0: {}
-
drizzle-kit@0.31.5:
-
dependencies:
-
'@drizzle-team/brocli': 0.10.2
-
'@esbuild-kit/esm-loader': 2.6.5
-
esbuild: 0.25.11
-
esbuild-register: 3.6.0(esbuild@0.25.11)
-
transitivePeerDependencies:
-
- supports-color
+
es-define-property@1.0.1: {}
-
drizzle-orm@0.44.6(@libsql/client@0.15.15):
-
optionalDependencies:
-
'@libsql/client': 0.15.15
+
es-errors@1.3.0: {}
-
esbuild-register@3.6.0(esbuild@0.25.11):
+
es-object-atoms@1.1.1:
dependencies:
-
debug: 4.4.3
-
esbuild: 0.25.11
-
transitivePeerDependencies:
-
- supports-color
-
-
esbuild@0.18.20:
-
optionalDependencies:
-
'@esbuild/android-arm': 0.18.20
-
'@esbuild/android-arm64': 0.18.20
-
'@esbuild/android-x64': 0.18.20
-
'@esbuild/darwin-arm64': 0.18.20
-
'@esbuild/darwin-x64': 0.18.20
-
'@esbuild/freebsd-arm64': 0.18.20
-
'@esbuild/freebsd-x64': 0.18.20
-
'@esbuild/linux-arm': 0.18.20
-
'@esbuild/linux-arm64': 0.18.20
-
'@esbuild/linux-ia32': 0.18.20
-
'@esbuild/linux-loong64': 0.18.20
-
'@esbuild/linux-mips64el': 0.18.20
-
'@esbuild/linux-ppc64': 0.18.20
-
'@esbuild/linux-riscv64': 0.18.20
-
'@esbuild/linux-s390x': 0.18.20
-
'@esbuild/linux-x64': 0.18.20
-
'@esbuild/netbsd-x64': 0.18.20
-
'@esbuild/openbsd-x64': 0.18.20
-
'@esbuild/sunos-x64': 0.18.20
-
'@esbuild/win32-arm64': 0.18.20
-
'@esbuild/win32-ia32': 0.18.20
-
'@esbuild/win32-x64': 0.18.20
+
es-errors: 1.3.0
esbuild@0.25.11:
optionalDependencies:
···
'@esbuild/win32-ia32': 0.25.11
'@esbuild/win32-x64': 0.25.11
-
escape-string-regexp@4.0.0: {}
-
-
eslint-scope@8.4.0:
-
dependencies:
-
esrecurse: 4.3.0
-
estraverse: 5.3.0
-
-
eslint-visitor-keys@3.4.3: {}
-
-
eslint-visitor-keys@4.2.1: {}
-
-
eslint@9.37.0(jiti@2.6.1):
-
dependencies:
-
'@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1))
-
'@eslint-community/regexpp': 4.12.1
-
'@eslint/config-array': 0.21.0
-
'@eslint/config-helpers': 0.4.0
-
'@eslint/core': 0.16.0
-
'@eslint/eslintrc': 3.3.1
-
'@eslint/js': 9.37.0
-
'@eslint/plugin-kit': 0.4.0
-
'@humanfs/node': 0.16.7
-
'@humanwhocodes/module-importer': 1.0.1
-
'@humanwhocodes/retry': 0.4.3
-
'@types/estree': 1.0.8
-
'@types/json-schema': 7.0.15
-
ajv: 6.12.6
-
chalk: 4.1.2
-
cross-spawn: 7.0.6
-
debug: 4.4.3
-
escape-string-regexp: 4.0.0
-
eslint-scope: 8.4.0
-
eslint-visitor-keys: 4.2.1
-
espree: 10.4.0
-
esquery: 1.6.0
-
esutils: 2.0.3
-
fast-deep-equal: 3.1.3
-
file-entry-cache: 8.0.0
-
find-up: 5.0.0
-
glob-parent: 6.0.2
-
ignore: 5.3.2
-
imurmurhash: 0.1.4
-
is-glob: 4.0.3
-
json-stable-stringify-without-jsonify: 1.0.1
-
lodash.merge: 4.6.2
-
minimatch: 3.1.2
-
natural-compare: 1.4.0
-
optionator: 0.9.4
-
optionalDependencies:
-
jiti: 2.6.1
+
escape-html@1.0.3: {}
+
+
esm-env@1.2.2: {}
+
+
etag@1.8.1: {}
+
+
event-target-shim@5.0.1: {}
+
+
events@3.3.0: {}
+
+
express@4.21.2:
+
dependencies:
+
accepts: 1.3.8
+
array-flatten: 1.1.1
+
body-parser: 1.20.3
+
content-disposition: 0.5.4
+
content-type: 1.0.5
+
cookie: 0.7.1
+
cookie-signature: 1.0.6
+
debug: 2.6.9
+
depd: 2.0.0
+
encodeurl: 2.0.0
+
escape-html: 1.0.3
+
etag: 1.8.1
+
finalhandler: 1.3.1
+
fresh: 0.5.2
+
http-errors: 2.0.0
+
merge-descriptors: 1.0.3
+
methods: 1.1.2
+
on-finished: 2.4.1
+
parseurl: 1.3.3
+
path-to-regexp: 0.1.12
+
proxy-addr: 2.0.7
+
qs: 6.13.0
+
range-parser: 1.2.1
+
safe-buffer: 5.2.1
+
send: 0.19.0
+
serve-static: 1.16.2
+
setprototypeof: 1.2.0
+
statuses: 2.0.1
+
type-is: 1.6.18
+
utils-merge: 1.0.1
+
vary: 1.1.2
transitivePeerDependencies:
- supports-color
-
espree@10.4.0:
-
dependencies:
-
acorn: 8.15.0
-
acorn-jsx: 5.3.2(acorn@8.15.0)
-
eslint-visitor-keys: 4.2.1
+
fast-redact@3.5.0: {}
-
esquery@1.6.0:
+
finalhandler@1.3.1:
dependencies:
-
estraverse: 5.3.0
+
debug: 2.6.9
+
encodeurl: 2.0.0
+
escape-html: 1.0.3
+
on-finished: 2.4.1
+
parseurl: 1.3.3
+
statuses: 2.0.1
+
unpipe: 1.0.0
+
transitivePeerDependencies:
+
- supports-color
-
esrecurse@4.3.0:
-
dependencies:
-
estraverse: 5.3.0
+
forwarded@0.2.0: {}
-
estraverse@5.3.0: {}
+
fresh@0.5.2: {}
-
esutils@2.0.3: {}
+
fsevents@2.3.3:
+
optional: true
-
fast-deep-equal@3.1.3: {}
+
function-bind@1.1.2: {}
-
fast-glob@3.3.3:
+
get-intrinsic@1.3.0:
dependencies:
-
'@nodelib/fs.stat': 2.0.5
-
'@nodelib/fs.walk': 1.2.8
-
glob-parent: 5.1.2
-
merge2: 1.4.1
-
micromatch: 4.0.8
+
call-bind-apply-helpers: 1.0.2
+
es-define-property: 1.0.1
+
es-errors: 1.3.0
+
es-object-atoms: 1.1.1
+
function-bind: 1.1.2
+
get-proto: 1.0.1
+
gopd: 1.2.0
+
has-symbols: 1.1.0
+
hasown: 2.0.2
+
math-intrinsics: 1.1.0
-
fast-json-stable-stringify@2.1.0: {}
-
-
fast-levenshtein@2.0.6: {}
-
-
fastq@1.19.1:
+
get-proto@1.0.1:
dependencies:
-
reusify: 1.1.0
+
dunder-proto: 1.0.1
+
es-object-atoms: 1.1.1
-
fetch-blob@3.2.0:
+
get-tsconfig@4.13.0:
dependencies:
-
node-domexception: 1.0.0
-
web-streams-polyfill: 3.3.3
+
resolve-pkg-maps: 1.0.0
-
file-entry-cache@8.0.0:
-
dependencies:
-
flat-cache: 4.0.1
+
gopd@1.2.0: {}
-
fill-range@7.1.1:
-
dependencies:
-
to-regex-range: 5.0.1
+
graphemer@1.4.0: {}
-
find-up@5.0.0:
-
dependencies:
-
locate-path: 6.0.0
-
path-exists: 4.0.0
+
has-symbols@1.1.0: {}
-
flat-cache@4.0.1:
+
hasown@2.0.2:
dependencies:
-
flatted: 3.3.3
-
keyv: 4.5.4
-
-
flatted@3.3.3: {}
+
function-bind: 1.1.2
-
formdata-polyfill@4.0.10:
+
http-errors@2.0.0:
dependencies:
-
fetch-blob: 3.2.0
+
depd: 2.0.0
+
inherits: 2.0.4
+
setprototypeof: 1.2.0
+
statuses: 2.0.1
+
toidentifier: 1.0.1
-
fsevents@2.3.3:
-
optional: true
-
-
get-tsconfig@4.12.0:
+
iconv-lite@0.4.24:
dependencies:
-
resolve-pkg-maps: 1.0.0
+
safer-buffer: 2.1.2
-
glob-parent@5.1.2:
-
dependencies:
-
is-glob: 4.0.3
+
ieee754@1.2.1: {}
-
glob-parent@6.0.2:
-
dependencies:
-
is-glob: 4.0.3
+
inherits@2.0.4: {}
-
globals@14.0.0: {}
+
ipaddr.js@1.9.1: {}
-
globals@16.4.0: {}
+
iso-datestring-validator@2.2.2: {}
-
globby@11.1.0:
-
dependencies:
-
array-union: 2.1.0
-
dir-glob: 3.0.1
-
fast-glob: 3.3.3
-
ignore: 5.3.2
-
merge2: 1.4.1
-
slash: 3.0.0
+
kysely@0.28.8: {}
-
graphemer@1.4.0: {}
+
make-error@1.3.6: {}
-
has-flag@4.0.0: {}
+
math-intrinsics@1.1.0: {}
-
ignore@5.3.2: {}
+
media-typer@0.3.0: {}
-
ignore@7.0.5: {}
+
merge-descriptors@1.0.3: {}
-
import-fresh@3.3.1:
-
dependencies:
-
parent-module: 1.0.1
-
resolve-from: 4.0.0
+
methods@1.1.2: {}
-
imurmurhash@0.1.4: {}
+
mime-db@1.52.0: {}
-
is-binary-path@2.1.0:
+
mime-types@2.1.35:
dependencies:
-
binary-extensions: 2.3.0
+
mime-db: 1.52.0
-
is-extglob@2.1.1: {}
+
mime@1.6.0: {}
-
is-glob@4.0.3:
-
dependencies:
-
is-extglob: 2.1.1
+
ms@2.0.0: {}
-
is-number@7.0.0: {}
+
ms@2.1.3: {}
-
isexe@2.0.0: {}
+
multiformats@9.9.0: {}
-
jiti@2.6.1: {}
+
nanoevents@9.1.0: {}
-
js-base64@3.7.8: {}
+
negotiator@0.6.3: {}
-
js-yaml@4.1.0:
+
node-gyp-build-optional-packages@5.1.1:
dependencies:
-
argparse: 2.0.1
-
-
json-buffer@3.0.1: {}
-
-
json-schema-traverse@0.4.1: {}
+
detect-libc: 2.1.2
+
optional: true
-
json-stable-stringify-without-jsonify@1.0.1: {}
+
object-inspect@1.13.4: {}
-
json5@2.2.3: {}
+
on-exit-leak-free@2.1.2: {}
-
keyv@4.5.4:
+
on-finished@2.4.1:
dependencies:
-
json-buffer: 3.0.1
+
ee-first: 1.1.1
-
levn@0.4.1:
-
dependencies:
-
prelude-ls: 1.2.1
-
type-check: 0.4.0
+
parseurl@1.3.3: {}
-
libsql@0.5.22:
-
dependencies:
-
'@neon-rs/load': 0.0.4
-
detect-libc: 2.0.2
-
optionalDependencies:
-
'@libsql/darwin-arm64': 0.5.22
-
'@libsql/darwin-x64': 0.5.22
-
'@libsql/linux-arm-gnueabihf': 0.5.22
-
'@libsql/linux-arm-musleabihf': 0.5.22
-
'@libsql/linux-arm64-gnu': 0.5.22
-
'@libsql/linux-arm64-musl': 0.5.22
-
'@libsql/linux-x64-gnu': 0.5.22
-
'@libsql/linux-x64-musl': 0.5.22
-
'@libsql/win32-x64-msvc': 0.5.22
+
path-to-regexp@0.1.12: {}
-
locate-path@6.0.0:
-
dependencies:
-
p-locate: 5.0.0
+
pg-cloudflare@1.2.7:
+
optional: true
-
lodash.merge@4.6.2: {}
+
pg-connection-string@2.9.1: {}
-
make-error@1.3.6: {}
+
pg-int8@1.0.1: {}
+
+
pg-pool@3.10.1(pg@8.16.3):
+
dependencies:
+
pg: 8.16.3
-
merge2@1.4.1: {}
+
pg-protocol@1.10.3: {}
-
micromatch@4.0.8:
+
pg-types@2.2.0:
dependencies:
-
braces: 3.0.3
-
picomatch: 2.3.1
+
pg-int8: 1.0.1
+
postgres-array: 2.0.0
+
postgres-bytea: 1.0.0
+
postgres-date: 1.0.7
+
postgres-interval: 1.2.0
-
minimatch@3.1.2:
+
pg@8.16.3:
dependencies:
-
brace-expansion: 1.1.12
+
pg-connection-string: 2.9.1
+
pg-pool: 3.10.1(pg@8.16.3)
+
pg-protocol: 1.10.3
+
pg-types: 2.2.0
+
pgpass: 1.0.5
+
optionalDependencies:
+
pg-cloudflare: 1.2.7
-
minimatch@9.0.5:
+
pgpass@1.0.5:
dependencies:
-
brace-expansion: 2.0.2
+
split2: 4.2.0
-
minimist@1.2.8: {}
+
pino-abstract-transport@1.2.0:
+
dependencies:
+
readable-stream: 4.7.0
+
split2: 4.2.0
-
ms@2.1.3: {}
+
pino-std-serializers@6.2.2: {}
-
mylas@2.1.13: {}
+
pino@8.21.0:
+
dependencies:
+
atomic-sleep: 1.0.0
+
fast-redact: 3.5.0
+
on-exit-leak-free: 2.1.2
+
pino-abstract-transport: 1.2.0
+
pino-std-serializers: 6.2.2
+
process-warning: 3.0.0
+
quick-format-unescaped: 4.0.4
+
real-require: 0.2.0
+
safe-stable-stringify: 2.5.0
+
sonic-boom: 3.8.1
+
thread-stream: 2.7.0
-
nanoevents@9.1.0: {}
+
postgres-array@2.0.0: {}
-
natural-compare@1.4.0: {}
+
postgres-bytea@1.0.0: {}
-
node-domexception@1.0.0: {}
+
postgres-date@1.0.7: {}
-
node-fetch@3.3.2:
+
postgres-interval@1.2.0:
dependencies:
-
data-uri-to-buffer: 4.0.1
-
fetch-blob: 3.2.0
-
formdata-polyfill: 4.0.10
-
-
normalize-path@3.0.0: {}
+
xtend: 4.0.2
-
optionator@0.9.4:
-
dependencies:
-
deep-is: 0.1.4
-
fast-levenshtein: 2.0.6
-
levn: 0.4.1
-
prelude-ls: 1.2.1
-
type-check: 0.4.0
-
word-wrap: 1.2.5
+
process-warning@3.0.0: {}
-
p-limit@3.1.0:
-
dependencies:
-
yocto-queue: 0.1.0
+
process@0.11.10: {}
-
p-locate@5.0.0:
+
proxy-addr@2.0.7:
dependencies:
-
p-limit: 3.1.0
+
forwarded: 0.2.0
+
ipaddr.js: 1.9.1
-
parent-module@1.0.1:
+
qs@6.13.0:
dependencies:
-
callsites: 3.1.0
+
side-channel: 1.1.0
-
path-exists@4.0.0: {}
+
quick-format-unescaped@4.0.4: {}
-
path-key@3.1.1: {}
+
range-parser@1.2.1: {}
-
path-type@4.0.0: {}
+
rate-limiter-flexible@2.4.2: {}
-
picomatch@2.3.1: {}
-
-
plimit-lit@1.6.1:
+
raw-body@2.5.2:
dependencies:
-
queue-lit: 1.5.2
+
bytes: 3.1.2
+
http-errors: 2.0.0
+
iconv-lite: 0.4.24
+
unpipe: 1.0.0
-
prelude-ls@1.2.1: {}
+
readable-stream@4.7.0:
+
dependencies:
+
abort-controller: 3.0.0
+
buffer: 6.0.3
+
events: 3.3.0
+
process: 0.11.10
+
string_decoder: 1.3.0
-
prettier@3.6.2: {}
+
real-require@0.2.0: {}
-
promise-limit@2.7.0: {}
+
resolve-pkg-maps@1.0.0: {}
-
punycode@2.3.1: {}
+
safe-buffer@5.2.1: {}
-
queue-lit@1.5.2: {}
+
safe-stable-stringify@2.5.0: {}
-
queue-microtask@1.2.3: {}
+
safer-buffer@2.1.2: {}
-
readdirp@3.6.0:
+
send@0.19.0:
dependencies:
-
picomatch: 2.3.1
-
-
resolve-from@4.0.0: {}
-
-
resolve-pkg-maps@1.0.0: {}
-
-
reusify@1.1.0: {}
+
debug: 2.6.9
+
depd: 2.0.0
+
destroy: 1.2.0
+
encodeurl: 1.0.2
+
escape-html: 1.0.3
+
etag: 1.8.1
+
fresh: 0.5.2
+
http-errors: 2.0.0
+
mime: 1.6.0
+
ms: 2.1.3
+
on-finished: 2.4.1
+
range-parser: 1.2.1
+
statuses: 2.0.1
+
transitivePeerDependencies:
+
- supports-color
-
run-parallel@1.2.0:
+
serve-static@1.16.2:
dependencies:
-
queue-microtask: 1.2.3
+
encodeurl: 2.0.0
+
escape-html: 1.0.3
+
parseurl: 1.3.3
+
send: 0.19.0
+
transitivePeerDependencies:
+
- supports-color
-
semver@7.7.3: {}
+
setprototypeof@1.2.0: {}
-
shebang-command@2.0.0:
+
side-channel-list@1.0.0:
dependencies:
-
shebang-regex: 3.0.0
+
es-errors: 1.3.0
+
object-inspect: 1.13.4
-
shebang-regex@3.0.0: {}
+
side-channel-map@1.0.1:
+
dependencies:
+
call-bound: 1.0.4
+
es-errors: 1.3.0
+
get-intrinsic: 1.3.0
+
object-inspect: 1.13.4
-
slash@3.0.0: {}
+
side-channel-weakmap@1.0.2:
+
dependencies:
+
call-bound: 1.0.4
+
es-errors: 1.3.0
+
get-intrinsic: 1.3.0
+
object-inspect: 1.13.4
+
side-channel-map: 1.0.1
-
source-map-support@0.5.21:
+
side-channel@1.1.0:
dependencies:
-
buffer-from: 1.1.2
-
source-map: 0.6.1
+
es-errors: 1.3.0
+
object-inspect: 1.13.4
+
side-channel-list: 1.0.0
+
side-channel-map: 1.0.1
+
side-channel-weakmap: 1.0.2
-
source-map@0.6.1: {}
+
sonic-boom@3.8.1:
+
dependencies:
+
atomic-sleep: 1.0.0
-
strip-bom@3.0.0: {}
+
split2@4.2.0: {}
-
strip-json-comments@3.1.1: {}
+
statuses@2.0.1: {}
-
supports-color@7.2.0:
+
string_decoder@1.3.0:
dependencies:
-
has-flag: 4.0.0
+
safe-buffer: 5.2.1
-
to-regex-range@5.0.1:
+
thread-stream@2.7.0:
dependencies:
-
is-number: 7.0.0
+
real-require: 0.2.0
-
ts-api-utils@2.1.0(typescript@5.9.3):
-
dependencies:
-
typescript: 5.9.3
+
toidentifier@1.0.1: {}
-
ts-node@10.9.2(@types/node@24.7.1)(typescript@5.9.3):
+
ts-node@10.9.2(@types/node@24.9.2)(typescript@5.9.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
-
'@types/node': 24.7.1
+
'@types/node': 24.9.2
acorn: 8.15.0
acorn-walk: 8.3.4
arg: 4.1.3
···
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
-
tsc-alias@1.8.16:
+
tsx@4.20.6:
dependencies:
-
chokidar: 3.6.0
-
commander: 9.5.0
-
get-tsconfig: 4.12.0
-
globby: 11.1.0
-
mylas: 2.1.13
-
normalize-path: 3.0.0
-
plimit-lit: 1.6.1
+
esbuild: 0.25.11
+
get-tsconfig: 4.13.0
+
optionalDependencies:
+
fsevents: 2.3.3
-
tsconfig-paths@4.2.0:
+
type-is@1.6.18:
dependencies:
-
json5: 2.2.3
-
minimist: 1.2.8
-
strip-bom: 3.0.0
+
media-typer: 0.3.0
+
mime-types: 2.1.35
-
type-check@0.4.0:
-
dependencies:
-
prelude-ls: 1.2.1
+
typescript@5.9.3: {}
-
typescript-eslint@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3):
+
uint8arrays@3.0.0:
dependencies:
-
'@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)
-
'@typescript-eslint/parser': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
-
'@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3)
-
'@typescript-eslint/utils': 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
-
transitivePeerDependencies:
-
- supports-color
+
multiformats: 9.9.0
-
typescript@5.9.3: {}
+
undici-types@7.16.0: {}
-
undici-types@7.14.0: {}
+
unpipe@1.0.0: {}
-
uri-js@4.4.1:
-
dependencies:
-
punycode: 2.3.1
+
utils-merge@1.0.1: {}
v8-compile-cache-lib@3.0.1: {}
-
web-streams-polyfill@3.3.3: {}
-
-
which@2.0.2:
-
dependencies:
-
isexe: 2.0.0
-
-
word-wrap@1.2.5: {}
+
vary@1.1.2: {}
ws@8.18.3: {}
-
yn@3.1.1: {}
+
xtend@4.0.2: {}
-
yocto-queue@0.1.0: {}
+
yn@3.1.1: {}
yocto-queue@1.2.1: {}
-
zod@4.1.12: {}
+
zod@3.25.76: {}
+27
src/db.ts
···
+
import { Kysely, PostgresDialect } from 'kysely'
+
import { Pool } from 'pg'
+
import dotenv from 'dotenv'
+
+
dotenv.config()
+
+
type JsonValue = string | number | boolean | null | { [key: string]: JsonValue } | JsonValue[]
+
+
interface FirehoseEventTable {
+
timestamp: Date
+
event_type: 'commit' | 'identity' | 'account'
+
event_data: JsonValue
+
}
+
+
interface Database {
+
firehose_event: FirehoseEventTable
+
}
+
+
const dialect = new PostgresDialect({
+
pool: new Pool({
+
connectionString: process.env.DATABASE_URL,
+
}),
+
})
+
+
export const db = new Kysely<Database>({
+
dialect,
+
})
+85
src/firehose.ts
···
+
import { Firehose, CommitEvent, AccountEvent, IdentityEvent } from "@skyware/firehose";
+
import WebSocket from "ws";
+
import { db } from "./db";
+
import { Insertable } from "kysely";
+
import { FirehoseEventTable } from "./db";
+
+
const pretty_print = (event_type: string, data: object) => {
+
    const colors = {
+
        commit: "\x1b[34m",
+
        identity: "\x1b[32m",
+
        account: "\x1b[33m",
+
        reset: "\x1b[0m",
+
    };
+
    const color = colors[event_type.toLowerCase()] || colors.reset;
+
    console.debug(`\n${color}## RECEIVED [${event_type.toUpperCase()}] EVENT ##${colors.reset}`);
+
    console.debug(JSON.stringify(
+
        data,
+
        (key, value) => typeof value === 'bigint' ? value.toString() : value,
+
        2
+
    ));
+
};
+
+
const saveEvent = async (type: 'commit' | 'identity' | 'account', data: any) => {
+
try {
+
await db.insertInto('firehose_event').values({
+
event_type: type,
+
event_data: data
+
}).execute();
+
} catch (error) {
+
console.error("\nFailed to save event to database:", error);
+
}
+
};
+
+
const main = () => {
+
    console.log("Starting Firehose listener...");
+
+
    const firehose = new Firehose({
+
        ws: WebSocket,
+
    });
+
+
    firehose.on("commit", (commit: CommitEvent) => {
+
saveEvent('commit', commit);
+
        const createOps = commit.ops.filter(op => op.action === 'create');
+
+
        for (const op of createOps) {
+
            const recordType = op.record['$type'];
+
+
            if (recordType && (recordType.startsWith('com.atproto.') || recordType.startsWith('systems.gmstn.'))) {
+
                pretty_print(`COMMIT - ${recordType}`, {
+
                    repo: commit.repo,
+
                    path: op.path,
+
                    record: op.record
+
                });
+
            }
+
        }
+
    });
+
+
    firehose.on("identity", (identity: IdentityEvent) => {
+
saveEvent('identity', identity);
+
        pretty_print("IDENTITY", identity);
+
    });
+
+
    firehose.on("account", (account: AccountEvent) => {
+
saveEvent('account', account);
+
        pretty_print("ACCOUNT", account);
+
    });
+
+
    firehose.on("open", () => {
+
        console.log("\nConnection opened");
+
    });
+
+
    firehose.on("close", (cursor) => {
+
        console.log(`\nConnection closed. Last cursor was: ${cursor}`);
+
    });
+
+
    firehose.on("error", ({ error, cursor }) => {
+
        console.error(`\nAn error occurred at cursor ${cursor}:`, error);
+
    });
+
    
+
    firehose.start();
+
+
    console.log("Listeners attached. Waiting for events...");
+
};
+
+
main();
+21 -4
src/index.ts
···
-
const main = () => {
-
console.log("Hello!!");
-
};
+
import { fork } from 'child_process';
+
import path from 'path';
-
main();
+
console.log('Main app starting...');
+
+
const firehosePath = path.resolve(__dirname, 'firehose.ts');
+
const firehoseProcess = fork(firehosePath);
+
+
console.log(`Firehose process started with PID: ${firehoseProcess.pid}`);
+
+
firehoseProcess.on('exit', (code) => {
+
console.error(`Firehose process exited with code: ${code}`);
+
});
+
+
const serverPath = path.resolve(__dirname, 'server.ts');
+
const serverProcess = fork(serverPath);
+
+
console.log(`XRPC Server process started with PID: ${serverProcess.pid}`);
+
+
serverProcess.on('exit', (code) => {
+
console.error(`XRPC Server process exited with code: ${code}`);
+
});
+60
src/scripts/migrate.ts
···
+
import * as path from 'path'
+
import { promises as fs } from 'fs'
+
import { Migrator, FileMigrationProvider } from 'kysely'
+
import { db } from '../db'
+
+
async function migrate(direction: 'up' | 'down' | 'latest') {
+
const migrator = new Migrator({
+
db,
+
provider: new FileMigrationProvider({
+
fs,
+
path,
+
migrationFolder: path.join(__dirname, '../../migrations'),
+
}),
+
})
+
+
console.log(`Running migration: ${direction}`);
+
+
if (direction === 'down') {
+
const { error, results } = await migrator.migrateDown()
+
results?.forEach((it) => {
+
if (it.status === 'Success') {
+
console.log(`migration "${it.migrationName}" was reverted successfully`)
+
} else if (it.status === 'Error') {
+
console.error(`failed to revert migration "${it.migrationName}"`)
+
}
+
})
+
if (error) {
+
console.error('failed to migrate')
+
console.error(error)
+
process.exit(1)
+
}
+
}
+
+
if (direction === 'up' || direction === 'latest') {
+
const { error, results } = await migrator.migrateToLatest()
+
results?.forEach((it) => {
+
if (it.status === 'Success') {
+
console.log(`migration "${it.migrationName}" was executed successfully`)
+
} else if (it.status === 'Error') {
+
console.error(`failed to execute migration "${it.migrationName}"`)
+
}
+
})
+
if (error) {
+
console.error('failed to migrate')
+
console.error(error)
+
process.exit(1)
+
}
+
}
+
+
await db.destroy()
+
}
+
+
const direction = process.argv[2] as 'up' | 'down' | 'latest' | undefined;
+
+
if (!direction || !['up', 'down', 'latest'].includes(direction)) {
+
console.error('Please provide a migration direction: up, down, or latest');
+
process.exit(1);
+
}
+
+
migrate(direction);
+105
src/server.ts
···
+
import * as xrpc from '@atproto/xrpc-server';
+
import { db } from './db';
+
import { sql } from 'kysely';
+
import express from 'express';
+
import fs from 'fs';
+
import path from 'path';
+
+
interface StrongRef {
+
$type: 'com.atproto.repo.strongRef';
+
uri: string;
+
cid: string;
+
}
+
+
interface InviteRecord {
+
$type: 'systems.gmstn.development.channel.invite';
+
recipient: string;
+
channel: StrongRef;
+
createdAt: string;
+
}
+
+
const listInvitesLexicon = JSON.parse(
+
fs.readFileSync(path.join(__dirname, '../lexicons/systems/gmstn/development/channel/listInvites.json'), 'utf8')
+
);
+
+
const server = xrpc.createServer([
+
listInvitesLexicon,
+
]);
+
+
async function listInvitesHandler(ctx: {
+
params: xrpc.Params;
+
auth: xrpc.HandlerAuth;
+
}) {
+
try {
+
const { limit = 50, cursor } = ctx.params;
+
const querierDid = ctx.auth.credentials.did;
+
+
if (!querierDid) {
+
throw new xrpc.AuthRequiredError();
+
}
+
+
// 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.
+
let query = db
+
.selectFrom('firehose_event')
+
.selectAll()
+
.where('event_type', '=', 'commit')
+
.where(
+
sql`jsonb_path_exists(event_data, '$.ops[*] ? (@.action == "create" && @.record."$type" == "systems.gmstn.development.channel.invite" && @.record.recipient == $recipientDid)', jsonb_build_object('recipientDid', ${querierDid}))`
+
)
+
.orderBy('timestamp', 'desc')
+
.limit(limit);
+
+
const results = await query.execute();
+
+
const invites = results.flatMap(row => {
+
const commit = row.event_data as any;
+
+
const inviteOp = commit.ops.find(op =>
+
op.action === 'create' &&
+
op.record.$type === 'systems.gmstn.development.channel.invite' &&
+
op.record.recipient === querierDid
+
);
+
+
if (!inviteOp) return [];
+
+
const record = inviteOp.record as InviteRecord;
+
const atUri = `at://${commit.repo}/${inviteOp.path}`;
+
+
return {
+
uri: atUri,
+
cid: inviteOp.cid,
+
author: commit.repo,
+
channel: {
+
uri: record.channel.uri,
+
cid: record.channel.cid,
+
},
+
createdAt: record.createdAt,
+
};
+
});
+
+
const lastResultId = results.at(-1)?.timestamp;
+
const nextCursor = lastResultId ? lastResultId.toString() : undefined;
+
+
return {
+
encoding: 'application/json',
+
body: {
+
invites,
+
cursor: nextCursor,
+
},
+
};
+
+
} catch (error) {
+
console.error('Internal server error in listInvitesHandler:');
+
console.error(error);
+
throw error;
+
}
+
}
+
+
server.method('systems.gmstn.development.channel.listInvites', listInvitesHandler);
+
+
const app = express();
+
app.use(server.router);
+
+
app.listen(3000, () => {
+
console.log('XRPC server running on http://localhost:3000');
+
});