{ "name": "api", "module": "dist/index.js", "type": "module", "scripts": { "dev": "tsx --watch src/index.ts", "start": "tsx src/index.ts", "start:prod": "node dist/index.js", "pkl:eval": "pkl eval -f json", "pkl:gen": "tsx ./scripts/pkl.ts", "lexgen": "lex gen-server ./src/lexicon ./lexicons/**/* ./lexicons/*", "format": "biome format src", "lint": "biome lint src", "sandbox": "tsx ./scripts/sandbox.ts", "seed": "tsx ./scripts/seed.ts", "build": "pkgroll" }, "dependencies": { "@atproto/api": "^0.13.31", "@atproto/common": "^0.4.6", "@atproto/identity": "^0.4.5", "@atproto/jwk-jose": "0.1.11", "@atproto/lex-cli": "^0.5.6", "@atproto/lexicon": "^0.4.5", "@atproto/oauth-client-node": "0.3.16", "@atproto/sync": "^0.1.11", "@atproto/syntax": "^0.3.1", "@atproto/xrpc-server": "^0.7.8", "@fly/sprites": "^0.0.1", "@hono/node-server": "^1.19.9", "@tsndr/cloudflare-worker-jwt": "^3.2.1", "@types/node": "^25.2.3", "@types/prompts": "^2.4.9", "@types/ramda": "^0.31.1", "axios": "^1.13.5", "better-sqlite3": "^12.6.2", "chalk": "^5.6.2", "consola": "^3.4.2", "cors": "^2.8.6", "dayjs": "^1.11.19", "dotenv": "^17.2.4", "drizzle-orm": "^0.45.1", "effect": "^3.19.16", "envalid": "^8.1.1", "express": "^5.2.1", "hono": "^4.11.9", "ioredis": "^5.9.3", "jsonwebtoken": "^9.0.3", "kysely": "^0.28.11", "libsodium-wrappers": "^0.8.2", "lodash": "^4.17.23", "morgan": "^1.10.1", "pg": "^8.18.0", "prompts": "^2.4.2", "ramda": "^0.32.0", "redis": "^5.10.0", "redlock": "^5.0.0-beta.2", "ssh2": "^1.16.0", "unique-username-generator": "^1.5.1", "unstorage": "^1.17.4", "zod": "^4.3.6", "zx": "^8.8.5" }, "devDependencies": { "@biomejs/biome": "^2.3.15", "@types/better-sqlite3": "^7.6.13", "@types/cors": "^2.8.19", "@types/express": "^5.0.6", "@types/jsonwebtoken": "^9.0.10", "@types/lodash": "^4.17.23", "@types/morgan": "^1.9.10", "@types/pg": "^8.16.0", "@types/ssh2": "^1.15.4", "drizzle-kit": "^0.31.9", "pkgroll": "^2.26.3", "tsx": "^4.21.0" } }