| { |
| "name": "claude-relay-service", |
| "version": "1.0.0", |
| "description": "Claude Code API relay service with multi-account management, OpenAI compatibility, and API key authentication", |
| "main": "src/app.js", |
| "scripts": { |
| "start": "npm run lint && node src/app.js", |
| "dev": "nodemon", |
| "build:web": "cd web/admin-spa && npm run build", |
| "install:web": "cd web/admin-spa && npm install", |
| "update:pricing": "node scripts/update-model-pricing.js", |
| "setup": "node scripts/setup.js", |
| "cli": "node cli/index.js", |
| "init:costs": "node src/cli/initCosts.js", |
| "service": "node scripts/manage.js", |
| "service:start": "node scripts/manage.js start", |
| "service:start:daemon": "node scripts/manage.js start -d", |
| "service:start:d": "node scripts/manage.js start -d", |
| "service:daemon": "node scripts/manage.js start -d", |
| "service:stop": "node scripts/manage.js stop", |
| "service:restart": "node scripts/manage.js restart", |
| "service:restart:daemon": "node scripts/manage.js restart -d", |
| "service:logs:follow": "node scripts/manage.js logs -f", |
| "service:restart:d": "node scripts/manage.js restart -d", |
| "service:status": "node scripts/manage.js status", |
| "service:logs": "node scripts/manage.js logs", |
| "monitor": "bash scripts/monitor-enhanced.sh", |
| "status": "bash scripts/status-unified.sh", |
| "status:detail": "bash scripts/status-unified.sh --detail", |
| "test": "jest", |
| "lint": "eslint src/**/*.js cli/**/*.js scripts/**/*.js --fix", |
| "lint:check": "eslint src/**/*.js cli/**/*.js scripts/**/*.js", |
| "format": "prettier --write \"src/**/*.js\" \"cli/**/*.js\" \"scripts/**/*.js\"", |
| "format:check": "prettier --check \"src/**/*.js\" \"cli/**/*.js\" \"scripts/**/*.js\"", |
| "docker:build": "docker build -t claude-relay-service .", |
| "docker:up": "docker-compose up -d", |
| "docker:down": "docker-compose down", |
| "migrate:apikey-expiry": "node scripts/migrate-apikey-expiry.js", |
| "migrate:apikey-expiry:dry": "node scripts/migrate-apikey-expiry.js --dry-run", |
| "migrate:fix-usage-stats": "node scripts/fix-usage-stats.js", |
| "data:export": "node scripts/data-transfer.js export", |
| "data:import": "node scripts/data-transfer.js import", |
| "data:export:sanitized": "node scripts/data-transfer.js export --sanitize", |
| "data:export:enhanced": "node scripts/data-transfer-enhanced.js export", |
| "data:export:encrypted": "node scripts/data-transfer-enhanced.js export --decrypt=false", |
| "data:import:enhanced": "node scripts/data-transfer-enhanced.js import", |
| "data:debug": "node scripts/debug-redis-keys.js", |
| "test:pricing-fallback": "node scripts/test-pricing-fallback.js" |
| }, |
| "dependencies": { |
| "@aws-sdk/client-bedrock-runtime": "^3.861.0", |
| "@aws-sdk/credential-providers": "^3.859.0", |
| "axios": "^1.6.0", |
| "bcryptjs": "^2.4.3", |
| "chalk": "^4.1.2", |
| "commander": "^11.1.0", |
| "compression": "^1.7.4", |
| "cors": "^2.8.5", |
| "dotenv": "^16.3.1", |
| "express": "^4.18.2", |
| "google-auth-library": "^10.1.0", |
| "helmet": "^7.1.0", |
| "https-proxy-agent": "^7.0.2", |
| "inquirer": "^8.2.6", |
| "ioredis": "^5.3.2", |
| "ldapjs": "^3.0.7", |
| "morgan": "^1.10.0", |
| "nodemailer": "^7.0.6", |
| "ora": "^5.4.1", |
| "rate-limiter-flexible": "^5.0.5", |
| "socks-proxy-agent": "^8.0.2", |
| "string-similarity": "^4.0.4", |
| "table": "^6.8.1", |
| "uuid": "^9.0.1", |
| "winston": "^3.11.0", |
| "winston-daily-rotate-file": "^4.7.1" |
| }, |
| "devDependencies": { |
| "@types/node": "^20.8.9", |
| "eslint": "^8.53.0", |
| "eslint-config-prettier": "^10.1.8", |
| "eslint-plugin-prettier": "^5.5.4", |
| "jest": "^29.7.0", |
| "nodemon": "^3.0.1", |
| "prettier": "^3.6.2", |
| "supertest": "^6.3.3" |
| }, |
| "engines": { |
| "node": ">=18.0.0" |
| }, |
| "keywords": [ |
| "claude", |
| "api", |
| "proxy", |
| "relay", |
| "claude-code", |
| "anthropic" |
| ], |
| "author": "Claude Relay Service", |
| "license": "MIT" |
| } |
|
|